ATLAS Offline Software
DiTauTruthMatchingTool.h
Go to the documentation of this file.
1 
11 // Dear emacs, this is -*- c++ -*-
12 
13 
14 #ifndef TAUANALYSISTOOLS_DITAUTRUTHMATCHINGTOOL_H
15 #define TAUANALYSISTOOLS_DITAUTRUTHMATCHINGTOOL_H
16 
17 
18 // Local include(s):
21 #include "xAODBase/IParticle.h"
22 #include "CxxUtils/CachedValue.h"
23 
24 namespace TauAnalysisTools
25 {
26 
28  : public virtual TauAnalysisTools::BuildTruthTaus
30 {
35 
36 public: // Interface functions
37 
38  DiTauTruthMatchingTool( const std::string& name );
39 
40  virtual ~DiTauTruthMatchingTool();
41 
42  // initialize the tool
43  virtual StatusCode initialize();
44 
47  virtual void getTruth(const xAOD::DiTauJet& xDiTau);
48 
49  virtual void getTruth(const std::vector<const xAOD::DiTauJet*>& vDiTaus);
50 
51 private: // private helper functions
52 
53  StatusCode findTruthTau(const xAOD::DiTauJet& xDiTau);
54  StatusCode checkTruthMatch (const xAOD::DiTauJet& xDiTau, const xAOD::TruthParticleContainer& xTauContainer) const;
55  StatusCode truthMatch (const TLorentzVector& vSubjetTLV,
56  const xAOD::TruthParticleContainer& xTruthTauContainer,
57  const xAOD::TruthParticle* &xTruthMatch,
58  TruthMatchedParticleType &eTruthMatchedParticleType) const;
60 
61 private: // steering variables
62 
63  double m_dMaxDeltaR;
64 
67 
68 private: // private helper variables
69 
74 }; // class DiTauTruthMatchingTool
75 
76 }
77 #endif // TAUANALYSISTOOLS_DITAUTRUTHMATCHINGTOOL_H
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
TauAnalysisTools::DiTauTruthMatchingTool::getTruth
virtual void getTruth(const xAOD::DiTauJet &xDiTau)
get pointer to the truth matched particle.
Definition: DiTauTruthMatchingTool.cxx:62
IParticle.h
TauAnalysisTools::DiTauTruthMatchingTool::m_bIsTruthMatchedAvailable
CxxUtils::CachedValue< bool > m_bIsTruthMatchedAvailable
Definition: DiTauTruthMatchingTool.h:65
TauAnalysisTools::DiTauTruthMatchingTool::checkTruthMatch
StatusCode checkTruthMatch(const xAOD::DiTauJet &xDiTau, const xAOD::TruthParticleContainer &xTauContainer) const
Definition: DiTauTruthMatchingTool.cxx:104
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
TauAnalysisTools::DiTauTruthMatchingTool::m_accMVis
SG::AuxElement::ConstAccessor< double > m_accMVis
Definition: DiTauTruthMatchingTool.h:73
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
IDiTauTruthMatchingTool.h
Tau, lepton and jet truth matching for ditau jets.
TauAnalysisTools::DiTauTruthMatchingTool::m_dMaxDeltaR
double m_dMaxDeltaR
Definition: DiTauTruthMatchingTool.h:63
TauAnalysisTools::BuildTruthTaus
Definition: BuildTruthTaus.h:34
TauAnalysisTools::IDiTauTruthMatchingTool
Definition: IDiTauTruthMatchingTool.h:37
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
CxxUtils::CachedValue< bool >
TauAnalysisTools::DiTauTruthMatchingTool::initialize
virtual StatusCode initialize()
Definition: DiTauTruthMatchingTool.cxx:46
TauAnalysisTools::DiTauTruthMatchingTool::m_accPhiVis
SG::AuxElement::ConstAccessor< double > m_accPhiVis
Definition: DiTauTruthMatchingTool.h:72
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TauAnalysisTools::DiTauTruthMatchingTool
Definition: DiTauTruthMatchingTool.h:30
BuildTruthTaus.h
TauAnalysisTools::DiTauTruthMatchingTool::truthMatch
StatusCode truthMatch(const TLorentzVector &vSubjetTLV, const xAOD::TruthParticleContainer &xTruthTauContainer, const xAOD::TruthParticle *&xTruthMatch, TruthMatchedParticleType &eTruthMatchedParticleType) const
Definition: DiTauTruthMatchingTool.cxx:318
CachedValue.h
Cached value with atomic update.
TauAnalysisTools::TruthMatchedParticleType
TruthMatchedParticleType
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:95
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TauAnalysisTools::DiTauTruthMatchingTool::m_accEtaVis
SG::AuxElement::ConstAccessor< double > m_accEtaVis
Definition: DiTauTruthMatchingTool.h:71
TauAnalysisTools::DiTauTruthMatchingTool::findTruthTau
StatusCode findTruthTau(const xAOD::DiTauJet &xDiTau)
Definition: DiTauTruthMatchingTool.cxx:87
TauAnalysisTools::DiTauTruthMatchingTool::m_accPtVis
SG::AuxElement::ConstAccessor< double > m_accPtVis
Definition: DiTauTruthMatchingTool.h:70
TauAnalysisTools::IBuildTruthTaus
Definition: IBuildTruthTaus.h:28
xAOD::DiTauJet_v1
Definition: DiTauJet_v1.h:31
TauAnalysisTools::DiTauTruthMatchingTool::checkTruthLepton
ElementLink< xAOD::TruthParticleContainer > checkTruthLepton(const xAOD::IParticle *pLepton) const
Definition: DiTauTruthMatchingTool.cxx:307
TauAnalysisTools::DiTauTruthMatchingTool::m_bIsTruthParticleLinkAvailable
CxxUtils::CachedValue< bool > m_bIsTruthParticleLinkAvailable
Definition: DiTauTruthMatchingTool.h:66