ATLAS Offline Software
EGTransverseMassTool.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 // EGTransverseMassTool.h
7 // author: giovanni.marchiori@cern.ch
9 
10 #ifndef DERIVATIONFRAMEWORK_EGTRANSVERSEMASSTOOL_H
11 #define DERIVATIONFRAMEWORK_EGTRANSVERSEMASSTOOL_H
12 
15 //
17 #include "GaudiKernel/EventContext.h"
21 //
22 #include <string>
23 #include <vector>
24 
25 namespace DerivationFramework {
26 
27 class EGTransverseMassTool : public extends<ExpressionParserUser<AthAlgTool>, IAugmentationTool>
28 {
29 public:
30  using base_class::base_class;
31 
32  virtual StatusCode initialize() override final;
33  virtual StatusCode addBranches(const EventContext& ctx) const override final;
34 
35 private:
36  StatusCode getTransverseMasses(const EventContext& ctx, std::vector<float>&)
37  const;
38 
39  Gaudi::Property<std::string> m_expression1{this, "ObjectRequirements", "true"};
40  Gaudi::Property<float> m_METmin{this, "METmin", -999.f};
41  Gaudi::Property<float> m_mass1Hypothesis{this, "ObjectMassHypothesis", 0.f};
42 
44  "StoreGateEntryName",
45  "",
46  "SG key of output object" };
47 
49  this,
50  "ObjectContainerName",
51  "",
52  "SG key of first container"
53  };
55  this,
56  "METContainerName",
57  "MET_LocHadTopo",
58  "SG key of second container"
59  };
60 
62  this,
63  "ObjectPtBranchName",
64  "",
65  "Pt1 if different than default"
66  };
67 
69  this,
70  "ObjectPhiBranchName",
71  "",
72  "Phi1 if different than default"
73  };
74 
76  this,
77  "METPtBranchName",
78  "",
79  "Pt2 if different than default"
80  };
81 
83  this,
84  "METPhiBranchName",
85  "",
86  "Phi2 if different than default"
87  };
88 };
89 }
90 
91 #endif // DERIVATIONFRAMEWORK_EGTRANSVERSEMASSTOOL_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::EGTransverseMassTool::m_container1Name
SG::ReadHandleKey< xAOD::IParticleContainer > m_container1Name
Definition: EGTransverseMassTool.h:48
IAugmentationTool.h
ExpressionParserUser.h
DerivationFramework::EGTransverseMassTool
Definition: EGTransverseMassTool.h:28
DerivationFramework::EGTransverseMassTool::m_pt1BranchName
SG::ReadHandleKey< std::vector< float > > m_pt1BranchName
Definition: EGTransverseMassTool.h:61
DerivationFramework::EGTransverseMassTool::m_phi2BranchName
SG::ReadHandleKey< std::vector< float > > m_phi2BranchName
Definition: EGTransverseMassTool.h:82
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::EGTransverseMassTool::getTransverseMasses
StatusCode getTransverseMasses(const EventContext &ctx, std::vector< float > &) const
Definition: EGTransverseMassTool.cxx:85
DerivationFramework::EGTransverseMassTool::m_container2Name
SG::ReadHandleKey< xAOD::MissingETContainer > m_container2Name
Definition: EGTransverseMassTool.h:54
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IParticleContainer.h
AthAlgTool.h
DerivationFramework::EGTransverseMassTool::m_mass1Hypothesis
Gaudi::Property< float > m_mass1Hypothesis
Definition: EGTransverseMassTool.h:41
DerivationFramework::EGTransverseMassTool::m_METmin
Gaudi::Property< float > m_METmin
Definition: EGTransverseMassTool.h:40
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::EGTransverseMassTool::m_sgName
SG::WriteHandleKey< std::vector< float > > m_sgName
Definition: EGTransverseMassTool.h:43
DerivationFramework::EGTransverseMassTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: EGTransverseMassTool.cxx:70
DerivationFramework::EGTransverseMassTool::initialize
virtual StatusCode initialize() override final
Definition: EGTransverseMassTool.cxx:36
DerivationFramework::EGTransverseMassTool::m_phi1BranchName
SG::ReadHandleKey< std::vector< float > > m_phi1BranchName
Definition: EGTransverseMassTool.h:68
DerivationFramework::EGTransverseMassTool::m_expression1
Gaudi::Property< std::string > m_expression1
Definition: EGTransverseMassTool.h:39
MissingETContainer.h
DerivationFramework::EGTransverseMassTool::m_pt2BranchName
SG::ReadHandleKey< std::vector< float > > m_pt2BranchName
Definition: EGTransverseMassTool.h:75