ATLAS Offline Software
PhysicsAnalysis
TauID
TauAnalysisTools
TauAnalysisTools
ITauTruthMatchingTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TAUANALYSISTOOLS_ITAUTRUTHMATCHINGTOOL_H
6
#define TAUANALYSISTOOLS_ITAUTRUTHMATCHINGTOOL_H
7
8
/*
9
author: Dirk Duschinger
10
mail: dirk.duschinger@cern.ch
11
documentation in: ../README.rst
12
*/
13
14
// Framework include(s):
15
#include "
AsgTools/IAsgTool.h
"
16
17
// EDM include(s):
18
#include "
xAODTau/TauJet.h
"
19
20
// // local include(s)
21
#include "
IBuildTruthTaus.h
"
22
23
// local include(s)
24
#include "
TauAnalysisTools/Enums.h
"
25
26
namespace
TauAnalysisTools
27
{
28
29
class
ITauTruthMatchingTool
30
// The order matters, do not switch them !!!
31
:
public
virtual
TauAnalysisTools::IBuildTruthTaus
32
,
public
virtual
asg::IAsgTool
33
{
34
36
ASG_TOOL_INTERFACE
(
TauAnalysisTools::ITauTruthMatchingTool
)
37
38
public
:
39
// initialize the tool
40
virtual
StatusCode
initialize
() = 0;
41
42
virtual
std::unique_ptr<ITruthTausEvent>
getEvent
()
const
= 0;
43
44
// get pointer to truth tau, if no truth tau was found a null pointer is returned
45
virtual
const
xAOD::TruthParticle
*
getTruth
(
const
xAOD::TauJet
& xTau) = 0;
46
virtual
const
xAOD::TruthParticle
*
getTruth
(
const
xAOD::TauJet
& xTau,
47
ITruthTausEvent
& truthTausEvent)
const
= 0;
48
virtual
std::vector<const xAOD::TruthParticle*>
getTruth
(
const
std::vector<const xAOD::TauJet*>& vTaus) = 0;
49
50
// wrapper function to get truth tau visible TLorentzvector
51
virtual
TLorentzVector
getTruthTauP4Vis
(
const
xAOD::TauJet
& xTau) = 0;
52
virtual
TLorentzVector
getTruthTauP4Vis
(
const
xAOD::TruthParticle
& xTruthTau)
const
= 0;
53
54
// wrapper function to get truth tau invisible TLorentzvector
55
virtual
TLorentzVector
getTruthTauP4Invis
(
const
xAOD::TauJet
& xTau) = 0;
56
virtual
TLorentzVector
getTruthTauP4Invis
(
const
xAOD::TruthParticle
& xTruthTau)
const
= 0;
57
58
// get type of truth match particle (hadronic tau, leptonic tau, electron, muon, jet)
59
virtual
TauAnalysisTools::TruthMatchedParticleType
getTruthParticleType
(
const
xAOD::TauJet
& xTau) = 0;
60
61
// wrapper function to count number of decay particles of given pdg id
62
virtual
int
getNTauDecayParticles
(
const
xAOD::TauJet
& xTau,
int
iPdgId,
bool
bCompareAbsoluteValues =
false
) = 0;
63
virtual
int
getNTauDecayParticles
(
const
xAOD::TruthParticle
& xTruthTau,
int
iPdgId,
bool
bCompareAbsoluteValues =
false
)
const
= 0;
64
65
// wrapper function to obtain truth version of xAOD::TauJetParameters::DecayMode
66
virtual
xAOD::TauJetParameters::DecayMode
getDecayMode
(
const
xAOD::TauJet
& xTau) = 0;
67
virtual
xAOD::TauJetParameters::DecayMode
getDecayMode
(
const
xAOD::TruthParticle
& xTruthTau)
const
= 0;
68
69
};
// class ITauTruthMatchingTool
70
71
}
// namespace TauAnalysisTools
72
73
#endif // TAUANALYSISTOOLS_ITAUTRUTHMATCHINGTOOL_H
TauAnalysisTools::ITauTruthMatchingTool::getNTauDecayParticles
virtual int getNTauDecayParticles(const xAOD::TruthParticle &xTruthTau, int iPdgId, bool bCompareAbsoluteValues=false) const =0
TauAnalysisTools
Definition:
TruthCollectionMakerTau.h:16
TauAnalysisTools::ITauTruthMatchingTool::getTruthTauP4Vis
virtual TLorentzVector getTruthTauP4Vis(const xAOD::TruthParticle &xTruthTau) const =0
TauAnalysisTools::ITauTruthMatchingTool::getTruth
virtual const xAOD::TruthParticle * getTruth(const xAOD::TauJet &xTau, ITruthTausEvent &truthTausEvent) const =0
Enums.h
TauAnalysisTools::ITauTruthMatchingTool::getTruthTauP4Invis
virtual TLorentzVector getTruthTauP4Invis(const xAOD::TauJet &xTau)=0
TauAnalysisTools::ITauTruthMatchingTool::getEvent
virtual std::unique_ptr< ITruthTausEvent > getEvent() const =0
TauAnalysisTools::IBuildTruthTaus::ITruthTausEvent
Declare the interface that the class provides.
Definition:
IBuildTruthTaus.h:35
TauAnalysisTools::ITauTruthMatchingTool::initialize
virtual StatusCode initialize()=0
Declare the interface that the class provides.
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition:
IAsgTool.h:41
TauAnalysisTools::ITauTruthMatchingTool::getTruthTauP4Invis
virtual TLorentzVector getTruthTauP4Invis(const xAOD::TruthParticle &xTruthTau) const =0
TauAnalysisTools::ITauTruthMatchingTool::getTruthParticleType
virtual TauAnalysisTools::TruthMatchedParticleType getTruthParticleType(const xAOD::TauJet &xTau)=0
TauAnalysisTools::ITauTruthMatchingTool::getTruthTauP4Vis
virtual TLorentzVector getTruthTauP4Vis(const xAOD::TauJet &xTau)=0
xAOD::TauJetParameters::DecayMode
DecayMode
Definition:
TauDefs.h:385
TauAnalysisTools::ITauTruthMatchingTool::getNTauDecayParticles
virtual int getNTauDecayParticles(const xAOD::TauJet &xTau, int iPdgId, bool bCompareAbsoluteValues=false)=0
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:37
xAOD::TauJet_v3
Class describing a tau jet.
Definition:
TauJet_v3.h:41
TauAnalysisTools::ITauTruthMatchingTool
Definition:
ITauTruthMatchingTool.h:33
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition:
AsgToolMacros.h:40
IAsgTool.h
IBuildTruthTaus.h
TauAnalysisTools::TruthMatchedParticleType
TruthMatchedParticleType
Definition:
PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:95
TauAnalysisTools::ITauTruthMatchingTool::getDecayMode
virtual xAOD::TauJetParameters::DecayMode getDecayMode(const xAOD::TauJet &xTau)=0
TauAnalysisTools::ITauTruthMatchingTool::getTruth
virtual const xAOD::TruthParticle * getTruth(const xAOD::TauJet &xTau)=0
TauJet.h
TauAnalysisTools::IBuildTruthTaus
Definition:
IBuildTruthTaus.h:28
TauAnalysisTools::ITauTruthMatchingTool::getDecayMode
virtual xAOD::TauJetParameters::DecayMode getDecayMode(const xAOD::TruthParticle &xTruthTau) const =0
TauAnalysisTools::ITauTruthMatchingTool::getTruth
virtual std::vector< const xAOD::TruthParticle * > getTruth(const std::vector< const xAOD::TauJet * > &vTaus)=0
Generated on Thu Nov 7 2024 21:17:32 for ATLAS Offline Software by
1.8.18