ATLAS Offline Software
Loading...
Searching...
No Matches
EGInvariantMassTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// EGInvariantMassTool.h
7// author: giovanni.marchiori@cern.ch
9
10#ifndef DERIVATIONFRAMEWORK_EGINVARIANTMASSTOOL_H
11#define DERIVATIONFRAMEWORK_EGINVARIANTMASSTOOL_H
12
15//
17#include "GaudiKernel/EventContext.h"
20//
21#include <string>
22#include <vector>
23namespace DerivationFramework {
24
31class EGInvariantMassTool : public extends<ExpressionParserUser<AthAlgTool, kNumEGInvariantMassToolParser>, IAugmentationTool>
32{
33public:
34
35 using base_class::base_class;
36
37 virtual StatusCode initialize() override final;
38 virtual StatusCode addBranches(const EventContext& ctx) const override final;
39
40private:
41 StatusCode getInvariantMasses(const EventContext& ctx,
42 std::vector<float>&) const;
43
44 Gaudi::Property<std::string> m_expression1{this, "Object1Requirements", "true"};
45 Gaudi::Property<std::string> m_expression2{this, "Object2Requirements", "true"};
47 "StoreGateEntryName",
48 "",
49 "SG key of output object" };
50
52 this,
53 "Container1Name",
54 "",
55 "SG key of first container"
56 };
58 this,
59 "Container2Name",
60 "",
61 "SG key of second container"
62 };
63
65 this,
66 "Pt1BranchName",
67 "",
68 "Pt1 if different than default"
69 };
70
72 this,
73 "Eta1BranchName",
74 "",
75 "Eta1 if different than default"
76 };
77
79 this,
80 "Phi1BranchName",
81 "",
82 "Phi1 if different than default"
83 };
84
86 this,
87 "Pt2BranchName",
88 "",
89 "Pt2 if different than default"
90 };
91
93 this,
94 "Eta2BranchName",
95 "",
96 "Eta2 if different than default"
97 };
98
100 this,
101 "Phi2BranchName",
102 "",
103 "Phi2 if different than default"
104 };
105
106 Gaudi::Property<float> m_mass1Hypothesis{this, "Mass1Hypothesis", 0.f};
107 Gaudi::Property<float> m_mass2Hypothesis{this, "Mass2Hypothesis", 0.f};
108 Gaudi::Property<float> m_mindR{this, "MinDeltaR", 0.f};
109 Gaudi::Property<bool> m_checkCharge{this, "CheckCharge", true};
110 Gaudi::Property<bool> m_doTransverseMass{this,"DoTransverseMass", true};
111};
112}
113
114#endif // DERIVATIONFRAMEWORK_EGINVARIANTMASSTOOL_H
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< std::vector< float > > m_eta1BranchName
SG::ReadHandleKey< std::vector< float > > m_pt1BranchName
SG::ReadHandleKey< xAOD::IParticleContainer > m_container1Name
SG::ReadHandleKey< xAOD::IParticleContainer > m_container2Name
SG::WriteHandleKey< std::vector< float > > m_sgName
SG::ReadHandleKey< std::vector< float > > m_phi1BranchName
StatusCode getInvariantMasses(const EventContext &ctx, std::vector< float > &) const
virtual StatusCode initialize() override final
SG::ReadHandleKey< std::vector< float > > m_eta2BranchName
Gaudi::Property< std::string > m_expression2
SG::ReadHandleKey< std::vector< float > > m_pt2BranchName
SG::ReadHandleKey< std::vector< float > > m_phi2BranchName
virtual StatusCode addBranches(const EventContext &ctx) const override final
Gaudi::Property< std::string > m_expression1
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
THE reconstruction tool.