ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetTrackPerfMon
src
TruthQualitySelectionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef INDETTRACKPERFMON_TRUTHQUALITYSELECTIONTOOL_H
5
#define INDETTRACKPERFMON_TRUTHQUALITYSELECTIONTOOL_H
6
7
// Package includes
8
#include "
ITrackSelectionTool.h
"
9
#include "
TrkTruthTrackInterfaces/IAthSelectionTool.h
"
10
#include "
TrackAnalysisCollections.h
"
11
#include "
InDetTrackSystematicsTools/InDetTrackTruthOriginTool.h
"
12
13
// Framework includes
14
#include "
AsgTools/AsgTool.h
"
15
#include "
AsgTools/AnaToolHandle.h
"
16
17
// STL includes
18
#include <string>
19
24
25
namespace
IDTPM
{
26
27
class
TruthQualitySelectionTool
:
28
public
virtual
IDTPM::ITrackSelectionTool
,
29
public
asg::AsgTool
{
30
31
public
:
32
33
ASG_TOOL_CLASS
(
TruthQualitySelectionTool
,
ITrackSelectionTool
);
34
35
TruthQualitySelectionTool
(
const
std::string& name );
36
37
virtual
StatusCode
initialize
()
override
;
38
39
virtual
StatusCode
selectTracks
(
40
TrackAnalysisCollections
& trkAnaColls )
override
;
41
42
bool
accept
(
const
xAOD::TruthParticle
* truth);
43
const
xAOD::TruthParticle
*
getParent
(
const
xAOD::TruthParticle
* truth,
int
flav)
const
;
44
const
xAOD::TruthParticle
*
getParentRec
(
const
xAOD::TruthParticle
* truth,
int
flav,
int
depth
)
const
;
45
private
:
46
47
ToolHandle< IAthSelectionTool >
m_truthTool
{
this
,
"truthTool"
, {},
"Main truth selection tool"
};
48
ToolHandle< InDet::IInDetTrackTruthOriginTool >
m_trackTruthOriginTool
{
49
this
,
"trackTruthOriginTool"
,
"InDet::InDetTrackTruthOriginTool"
,
"truth track origin tool"
};
50
51
FloatProperty
m_minAbsEta
{
this
,
"minAbsEta"
, -9999.,
"Lower cut on |eta| for truth particles"
};
52
FloatProperty
m_minAbsPhi
{
this
,
"minAbsPhi"
, -9999.,
"Lower cut on |phi| for truth particles"
};
53
FloatProperty
m_maxAbsPhi
{
this
,
"maxAbsPhi"
, -9999.,
"Higher cut on |phi| for truth particles"
};
54
FloatProperty
m_minAbsD0
{
this
,
"minAbsD0"
, -9999.,
"Lower cut on |d0| for truth particles"
};
55
FloatProperty
m_maxAbsD0
{
this
,
"maxAbsD0"
, -9999.,
"Higher cut on |d0| for truth particles"
};
56
FloatProperty
m_minAbsZ0
{
this
,
"minAbsZ0"
, -9999.,
"Lower cut on |z0| for truth particles"
};
57
FloatProperty
m_maxAbsZ0
{
this
,
"maxAbsZ0"
, -9999.,
"Higher cut on |z0| for truth particles"
};
58
FloatProperty
m_minAbsQoPT
{
this
,
"minAbsQoPT"
, -9999.,
"Lower cut on |q/pt| for truth particles"
};
59
FloatProperty
m_maxAbsQoPT
{
this
,
"maxAbsQoPT"
, -9999.,
"Higher cut on |q/pt| for truth particles"
};
60
FloatProperty
m_minEta
{
this
,
"minEta"
, -9999.,
"Lower cut on eta for truth particles"
};
61
FloatProperty
m_maxEta
{
this
,
"maxEta"
, -9999.,
"Higher cut on eta for truth particles"
};
62
FloatProperty
m_minPhi
{
this
,
"minPhi"
, -9999.,
"Lower cut on phi for truth particles"
};
63
FloatProperty
m_maxPhi
{
this
,
"maxPhi"
, -9999.,
"Higher cut on phi for truth particles"
};
64
FloatProperty
m_minD0
{
this
,
"minD0"
, -9999.,
"Lower cut on d0 for truth particles"
};
65
FloatProperty
m_maxD0
{
this
,
"maxD0"
, -9999.,
"Higher cut on d0 for truth particles"
};
66
FloatProperty
m_minZ0
{
this
,
"minZ0"
, -9999.,
"Lower cut on z0 for truth particles"
};
67
FloatProperty
m_maxZ0
{
this
,
"maxZ0"
, -9999.,
"Higher cut on z0 for truth particles"
};
68
FloatProperty
m_minQoPT
{
this
,
"minQoPT"
, -9999.,
"Lower cut on q/pt for truth particles"
};
69
FloatProperty
m_maxQoPT
{
this
,
"maxQoPT"
, -9999.,
"Higher cut on q/pt for truth particles"
};
70
BooleanProperty
m_isHadron
{
this
,
"isHadron"
,
false
,
"Select hadrons"
};
71
BooleanProperty
m_isPion
{
this
,
"isPion"
,
false
,
"Select pions"
};
72
BooleanProperty
m_isFromB
{
this
,
"isFromB"
,
false
,
"Select particles from B hadron decay"
};
73
BooleanProperty
m_isFromC
{
this
,
"isFromC"
,
false
,
"Select particles from C hadron decay"
};
74
BooleanProperty
m_isFromHeavyFlav
{
this
,
"isFromHeavyFlav"
,
false
,
"Select particles from heavy-flvour (B or C) hadron decay"
};
75
BooleanProperty
m_isFromLightFlav
{
this
,
"isFromLightFlav"
,
false
,
"Select particles from light-flvour hadron decay"
};
76
77
BooleanProperty
m_isFromTau
{
this
,
"isFromTau"
,
false
,
"Selects particles from tau hadron decay"
};
78
FloatProperty
m_minParentPt
{
this
,
"minParentPt"
, -9999.,
"Min cut on parent truth particles"
};
79
FloatProperty
m_maxParentPt
{
this
,
"maxParentPt"
, -9999.,
"Max cut on parent truth particles"
};
80
};
81
82
}
// namespace IDTPM
83
84
#endif
// INDETTRACKPERFMON_TRUTHQUALITYSELECTIONTOOL_H
AnaToolHandle.h
AsgTool.h
IAthSelectionTool.h
header file for interface of selection tools in this package
ITrackSelectionTool.h
header file for interface for all the various track selection tools in this package
InDetTrackTruthOriginTool.h
TrackAnalysisCollections.h
Class to hold for each event collections needed in the TrkAnalsis.
IDTPM::ITrackSelectionTool
Definition
ITrackSelectionTool.h:24
IDTPM::TrackAnalysisCollections
Definition
TrackAnalysisCollections.h:46
IDTPM::TruthQualitySelectionTool::m_isFromB
BooleanProperty m_isFromB
Definition
TruthQualitySelectionTool.h:72
IDTPM::TruthQualitySelectionTool::m_maxEta
FloatProperty m_maxEta
Definition
TruthQualitySelectionTool.h:61
IDTPM::TruthQualitySelectionTool::m_minAbsEta
FloatProperty m_minAbsEta
Definition
TruthQualitySelectionTool.h:51
IDTPM::TruthQualitySelectionTool::m_maxAbsQoPT
FloatProperty m_maxAbsQoPT
Definition
TruthQualitySelectionTool.h:59
IDTPM::TruthQualitySelectionTool::m_minEta
FloatProperty m_minEta
Definition
TruthQualitySelectionTool.h:60
IDTPM::TruthQualitySelectionTool::m_isFromLightFlav
BooleanProperty m_isFromLightFlav
Definition
TruthQualitySelectionTool.h:75
IDTPM::TruthQualitySelectionTool::m_maxD0
FloatProperty m_maxD0
Definition
TruthQualitySelectionTool.h:65
IDTPM::TruthQualitySelectionTool::m_maxAbsD0
FloatProperty m_maxAbsD0
Definition
TruthQualitySelectionTool.h:55
IDTPM::TruthQualitySelectionTool::m_isFromTau
BooleanProperty m_isFromTau
Definition
TruthQualitySelectionTool.h:77
IDTPM::TruthQualitySelectionTool::m_minAbsD0
FloatProperty m_minAbsD0
Definition
TruthQualitySelectionTool.h:54
IDTPM::TruthQualitySelectionTool::m_maxPhi
FloatProperty m_maxPhi
Definition
TruthQualitySelectionTool.h:63
IDTPM::TruthQualitySelectionTool::m_isHadron
BooleanProperty m_isHadron
Definition
TruthQualitySelectionTool.h:70
IDTPM::TruthQualitySelectionTool::m_maxParentPt
FloatProperty m_maxParentPt
Definition
TruthQualitySelectionTool.h:79
IDTPM::TruthQualitySelectionTool::m_minAbsQoPT
FloatProperty m_minAbsQoPT
Definition
TruthQualitySelectionTool.h:58
IDTPM::TruthQualitySelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
TruthQualitySelectionTool.cxx:13
IDTPM::TruthQualitySelectionTool::ASG_TOOL_CLASS
ASG_TOOL_CLASS(TruthQualitySelectionTool, ITrackSelectionTool)
IDTPM::TruthQualitySelectionTool::accept
bool accept(const xAOD::TruthParticle *truth)
Definition
TruthQualitySelectionTool.cxx:71
IDTPM::TruthQualitySelectionTool::m_isFromC
BooleanProperty m_isFromC
Definition
TruthQualitySelectionTool.h:73
IDTPM::TruthQualitySelectionTool::m_minAbsPhi
FloatProperty m_minAbsPhi
Definition
TruthQualitySelectionTool.h:52
IDTPM::TruthQualitySelectionTool::selectTracks
virtual StatusCode selectTracks(TrackAnalysisCollections &trkAnaColls) override
Definition
TruthQualitySelectionTool.cxx:21
IDTPM::TruthQualitySelectionTool::getParent
const xAOD::TruthParticle * getParent(const xAOD::TruthParticle *truth, int flav) const
Definition
TruthQualitySelectionTool.cxx:41
IDTPM::TruthQualitySelectionTool::m_maxAbsZ0
FloatProperty m_maxAbsZ0
Definition
TruthQualitySelectionTool.h:57
IDTPM::TruthQualitySelectionTool::m_trackTruthOriginTool
ToolHandle< InDet::IInDetTrackTruthOriginTool > m_trackTruthOriginTool
Definition
TruthQualitySelectionTool.h:48
IDTPM::TruthQualitySelectionTool::m_maxQoPT
FloatProperty m_maxQoPT
Definition
TruthQualitySelectionTool.h:69
IDTPM::TruthQualitySelectionTool::m_minD0
FloatProperty m_minD0
Definition
TruthQualitySelectionTool.h:64
IDTPM::TruthQualitySelectionTool::m_isPion
BooleanProperty m_isPion
Definition
TruthQualitySelectionTool.h:71
IDTPM::TruthQualitySelectionTool::getParentRec
const xAOD::TruthParticle * getParentRec(const xAOD::TruthParticle *truth, int flav, int depth) const
Definition
TruthQualitySelectionTool.cxx:45
IDTPM::TruthQualitySelectionTool::TruthQualitySelectionTool
TruthQualitySelectionTool(const std::string &name)
Definition
TruthQualitySelectionTool.cxx:10
IDTPM::TruthQualitySelectionTool::m_minZ0
FloatProperty m_minZ0
Definition
TruthQualitySelectionTool.h:66
IDTPM::TruthQualitySelectionTool::m_maxAbsPhi
FloatProperty m_maxAbsPhi
Definition
TruthQualitySelectionTool.h:53
IDTPM::TruthQualitySelectionTool::m_minQoPT
FloatProperty m_minQoPT
Definition
TruthQualitySelectionTool.h:68
IDTPM::TruthQualitySelectionTool::m_maxZ0
FloatProperty m_maxZ0
Definition
TruthQualitySelectionTool.h:67
IDTPM::TruthQualitySelectionTool::m_minParentPt
FloatProperty m_minParentPt
Definition
TruthQualitySelectionTool.h:78
IDTPM::TruthQualitySelectionTool::m_minPhi
FloatProperty m_minPhi
Definition
TruthQualitySelectionTool.h:62
IDTPM::TruthQualitySelectionTool::m_isFromHeavyFlav
BooleanProperty m_isFromHeavyFlav
Definition
TruthQualitySelectionTool.h:74
IDTPM::TruthQualitySelectionTool::m_truthTool
ToolHandle< IAthSelectionTool > m_truthTool
Definition
TruthQualitySelectionTool.h:47
IDTPM::TruthQualitySelectionTool::m_minAbsZ0
FloatProperty m_minAbsZ0
Definition
TruthQualitySelectionTool.h:56
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
depth
std::string depth
tag string for intendation
Definition
fastadd.cxx:46
IDTPM
Athena include(s).
Definition
IPlotsDefinitionSvc.h:25
xAOD::TruthParticle
TruthParticle_v1 TruthParticle
Typedef to implementation.
Definition
Event/xAOD/xAODTruth/xAODTruth/TruthParticle.h:15
Generated on
for ATLAS Offline Software by
1.17.0