ATLAS Offline Software
InvariantMassTool.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 // InvariantMassTool.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_INVARIANTMASSTOOL_H
10 #define DERIVATIONFRAMEWORK_INVARIANTMASSTOOL_H
11 
12 
15 
21 #include <string>
22 #include <vector>
23 
24 class TVector3;
25 class EventContext;
26 
27 namespace DerivationFramework {
28 
30  class InvariantMassTool : public extends<ExpressionParserUser<AthAlgTool,kInvariantMassToolParserNum>, IAugmentationTool> {
31  public:
32  InvariantMassTool(const std::string& t, const std::string& n, const IInterface* p);
33 
36  virtual StatusCode addBranches(const EventContext& ctx) const;
37 
38  private:
39  std::string m_expression;
40  std::string m_expression2;
41  SG::WriteHandleKey<std::vector<float> > m_sgName {this,"StoreGateEntryName","","SG key of output object"};
43  SG::ReadHandleKey<xAOD::IParticleContainer> m_containerName {this,"ContainerName","","SG key of first container"};
44  SG::ReadHandleKey<xAOD::IParticleContainer> m_containerName2 {this,"SecondContainerName","","SG key of second container"};
45  SG::ReadDecorHandleKeyArray<xAOD::IParticleContainer> m_inputDecorNames {this, "InputDecorNames",{},"SG keys for decorations of first (and second) container(s)"};
46  StatusCode getInvariantMasses(std::vector<float>*, const EventContext& ctx) const;
47  static float calculateInvariantMass(const TVector3& v1, const TVector3&v2,float M1,float M2) ;
48  };
49 }
50 
51 #endif // DERIVATIONFRAMEWORK_INVARIANTMASSTOOL_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::kInvariantMassToolParserNum
@ kInvariantMassToolParserNum
Definition: InvariantMassTool.h:29
DerivationFramework::EInvariantMassToolParser
EInvariantMassToolParser
Definition: InvariantMassTool.h:29
DerivationFramework::InvariantMassTool::InvariantMassTool
InvariantMassTool(const std::string &t, const std::string &n, const IInterface *p)
Definition: InvariantMassTool.cxx:17
DerivationFramework::InvariantMassTool::m_containerName
SG::ReadHandleKey< xAOD::IParticleContainer > m_containerName
Definition: InvariantMassTool.h:43
IAugmentationTool.h
ExpressionParserUser.h
DerivationFramework::InvariantMassTool::finalize
StatusCode finalize()
Definition: InvariantMassTool.cxx:53
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:45
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::InvariantMassTool::calculateInvariantMass
static float calculateInvariantMass(const TVector3 &v1, const TVector3 &v2, float M1, float M2)
Definition: InvariantMassTool.cxx:160
DerivationFramework::InvariantMassTool::initialize
StatusCode initialize()
Definition: InvariantMassTool.cxx:32
DerivationFramework::InvariantMassTool::m_expression2
std::string m_expression2
Definition: InvariantMassTool.h:40
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
beamspotman.n
n
Definition: beamspotman.py:727
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IParticleContainer.h
AthAlgTool.h
DerivationFramework::kInvariantMassToolParser2
@ kInvariantMassToolParser2
Definition: InvariantMassTool.h:29
DerivationFramework::InvariantMassTool::m_expression
std::string m_expression
Definition: InvariantMassTool.h:39
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::InvariantMassTool::m_containerName2
SG::ReadHandleKey< xAOD::IParticleContainer > m_containerName2
Definition: InvariantMassTool.h:44
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
DerivationFramework::InvariantMassTool::getInvariantMasses
StatusCode getInvariantMasses(std::vector< float > *, const EventContext &ctx) const
Definition: InvariantMassTool.cxx:74
DerivationFramework::InvariantMassTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const
Definition: InvariantMassTool.cxx:59
ReadCellNoiseFromCoolCompare.v2
v2
Definition: ReadCellNoiseFromCoolCompare.py:364
DerivationFramework::InvariantMassTool::m_inputDecorNames
SG::ReadDecorHandleKeyArray< xAOD::IParticleContainer > m_inputDecorNames
Definition: InvariantMassTool.h:45
DerivationFramework::InvariantMassTool
Definition: InvariantMassTool.h:30
DerivationFramework::InvariantMassTool::m_massHypothesis2
float m_massHypothesis2
Definition: InvariantMassTool.h:42
DerivationFramework::InvariantMassTool::m_massHypothesis
float m_massHypothesis
Definition: InvariantMassTool.h:42
DerivationFramework::InvariantMassTool::m_sgName
SG::WriteHandleKey< std::vector< float > > m_sgName
Definition: InvariantMassTool.h:41
DerivationFramework::kInvariantMassToolParser1
@ kInvariantMassToolParser1
Definition: InvariantMassTool.h:29
ReadDecorHandleKeyArray.h