ATLAS Offline Software
Loading...
Searching...
No Matches
ITauTruthMatchingTool.h File Reference
Include dependency graph for ITauTruthMatchingTool.h:

Go to the source code of this file.

Functions

namespace ADD_CMODE (TauAnalysisTools)

Function Documentation

◆ ADD_CMODE()

namespace ADD_CMODE ( TauAnalysisTools )

Declare the interface that the class provides

Definition at line 1 of file ITauTruthMatchingTool.h.

28{
29
30class ITauTruthMatchingTool
31 // The order matters, do not switch them !!!
32 : public virtual IBuildTruthTaus
33 , public virtual asg::IAsgTool
34{
35
37 ASG_TOOL_INTERFACE( ITauTruthMatchingTool )
38
39public:
40 // initialize the tool
41 virtual StatusCode initialize() = 0;
42
43 virtual std::unique_ptr<ITruthTausEvent> getEvent() const = 0;
44
45 // get pointer to truth tau, if no truth tau was found a null pointer is returned
46 virtual const xAOD::TruthParticle* getTruth(const xAOD::TauJet& xTau) = 0;
47 virtual const xAOD::TruthParticle* getTruth(const xAOD::TauJet& xTau,
48 ITruthTausEvent& truthTausEvent) const = 0;
49 virtual std::vector<const xAOD::TruthParticle*> getTruth(const std::vector<const xAOD::TauJet*>& vTaus) = 0;
50
51 // wrapper function to get truth tau visible TLorentzvector
52 virtual TLorentzVector getTruthTauP4Vis(const xAOD::TauJet& xTau) = 0;
53 virtual TLorentzVector getTruthTauP4Vis(const xAOD::TruthParticle& xTruthTau) const = 0;
54
55 // wrapper function to get truth tau invisible TLorentzvector
56 virtual TLorentzVector getTruthTauP4Invis(const xAOD::TauJet& xTau) = 0;
57 virtual TLorentzVector getTruthTauP4Invis(const xAOD::TruthParticle& xTruthTau) const = 0;
58
59 // get type of truth match particle (hadronic tau, leptonic tau, electron, muon, jet)
60 virtual TauAnalysisTools::TruthMatchedParticleType getTruthParticleType(const xAOD::TauJet& xTau) = 0;
61
62 // wrapper function to count number of decay particles of given pdg id
63 virtual int getNTauDecayParticles(const xAOD::TauJet& xTau, int iPdgId, bool bCompareAbsoluteValues = false) = 0;
64 virtual int getNTauDecayParticles(const xAOD::TruthParticle& xTruthTau, int iPdgId, bool bCompareAbsoluteValues = false) const = 0;
65
66 // wrapper function to obtain truth version of xAOD::TauJetParameters::DecayMode
67 virtual xAOD::TauJetParameters::DecayMode getDecayMode(const xAOD::TauJet& xTau) = 0;
68 virtual xAOD::TauJetParameters::DecayMode getDecayMode(const xAOD::TruthParticle& xTruthTau) const = 0;
69
70 virtual StatusCode lockDecorations (const xAOD::TauJetContainer& taus) const = 0;
71
72}; // class ITauTruthMatchingTool
73
74} // namespace ADD_CMODE(TauAnalysisTools)
#define ASG_TOOL_INTERFACE(CLASSNAME)
static Double_t taus
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
::StatusCode StatusCode
StatusCode definition for legacy code.
TauJet_v3 TauJet
Definition of the current "tau version".
Definition TauJet.h:17
TruthParticle_v1 TruthParticle
Typedef to implementation.
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".
void initialize()