ATLAS Offline Software
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
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
44
private
:
45
46
ToolHandle< IAthSelectionTool >
m_truthTool
{
this
,
"truthTool"
, {},
"Main truth selection tool"
};
47
ToolHandle< InDet::IInDetTrackTruthOriginTool >
m_trackTruthOriginTool
{
48
this
,
"trackTruthOriginTool"
,
"InDet::InDetTrackTruthOriginTool"
,
"truth track origin tool"
};
49
50
FloatProperty
m_minAbsEta
{
this
,
"minAbsEta"
, -9999.,
"Lower cut on |eta| for truth particles"
};
51
FloatProperty
m_minAbsPhi
{
this
,
"minAbsPhi"
, -9999.,
"Lower cut on |phi| for truth particles"
};
52
FloatProperty
m_maxAbsPhi
{
this
,
"maxAbsPhi"
, -9999.,
"Higher cut on |phi| for truth particles"
};
53
FloatProperty
m_minAbsD0
{
this
,
"minAbsD0"
, -9999.,
"Lower cut on |d0| for truth particles"
};
54
FloatProperty
m_maxAbsD0
{
this
,
"maxAbsD0"
, -9999.,
"Higher cut on |d0| for truth particles"
};
55
FloatProperty
m_minAbsZ0
{
this
,
"minAbsZ0"
, -9999.,
"Lower cut on |z0| for truth particles"
};
56
FloatProperty
m_maxAbsZ0
{
this
,
"maxAbsZ0"
, -9999.,
"Higher cut on |z0| for truth particles"
};
57
FloatProperty
m_minAbsQoPT
{
this
,
"minAbsQoPT"
, -9999.,
"Lower cut on |q/pt| for truth particles"
};
58
FloatProperty
m_maxAbsQoPT
{
this
,
"maxAbsQoPT"
, -9999.,
"Higher cut on |q/pt| for truth particles"
};
59
FloatProperty
m_minEta
{
this
,
"minEta"
, -9999.,
"Lower cut on eta for truth particles"
};
60
FloatProperty
m_maxEta
{
this
,
"maxEta"
, -9999.,
"Higher cut on eta for truth particles"
};
61
FloatProperty
m_minPhi
{
this
,
"minPhi"
, -9999.,
"Lower cut on phi for truth particles"
};
62
FloatProperty
m_maxPhi
{
this
,
"maxPhi"
, -9999.,
"Higher cut on phi for truth particles"
};
63
FloatProperty
m_minD0
{
this
,
"minD0"
, -9999.,
"Lower cut on d0 for truth particles"
};
64
FloatProperty
m_maxD0
{
this
,
"maxD0"
, -9999.,
"Higher cut on d0 for truth particles"
};
65
FloatProperty
m_minZ0
{
this
,
"minZ0"
, -9999.,
"Lower cut on z0 for truth particles"
};
66
FloatProperty
m_maxZ0
{
this
,
"maxZ0"
, -9999.,
"Higher cut on z0 for truth particles"
};
67
FloatProperty
m_minQoPT
{
this
,
"minQoPT"
, -9999.,
"Lower cut on q/pt for truth particles"
};
68
FloatProperty
m_maxQoPT
{
this
,
"maxQoPT"
, -9999.,
"Higher cut on q/pt for truth particles"
};
69
BooleanProperty
m_isHadron
{
this
,
"isHadron"
,
false
,
"Select hadrons"
};
70
BooleanProperty
m_isPion
{
this
,
"isPion"
,
false
,
"Select pions"
};
71
BooleanProperty
m_isFromB
{
this
,
"isFromB"
,
false
,
"Select particles from B hadron decay"
};
72
BooleanProperty
m_isFromC
{
this
,
"isFromC"
,
false
,
"Select particles from C hadron decay"
};
73
BooleanProperty
m_isFromHeavyFlav
{
this
,
"isFromHeavyFlav"
,
false
,
"Select particles from heavy-flvour (B or C) hadron decay"
};
74
BooleanProperty
m_isFromLightFlav
{
this
,
"isFromLightFlav"
,
false
,
"Select particles from light-flvour hadron decay"
};
75
76
};
77
78
}
// namespace IDTPM
79
80
#endif // INDETTRACKPERFMON_TRUTHQUALITYSELECTIONTOOL_H
IDTPM::TruthQualitySelectionTool::m_maxAbsQoPT
FloatProperty m_maxAbsQoPT
Definition:
TruthQualitySelectionTool.h:58
IDTPM::TruthQualitySelectionTool::m_isFromB
BooleanProperty m_isFromB
Definition:
TruthQualitySelectionTool.h:71
IDTPM::TruthQualitySelectionTool::m_minQoPT
FloatProperty m_minQoPT
Definition:
TruthQualitySelectionTool.h:67
IDTPM::TruthQualitySelectionTool::m_isFromHeavyFlav
BooleanProperty m_isFromHeavyFlav
Definition:
TruthQualitySelectionTool.h:73
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition:
AsgTool.h:47
IDTPM::TruthQualitySelectionTool::m_isHadron
BooleanProperty m_isHadron
Definition:
TruthQualitySelectionTool.h:69
IDTPM::TrackAnalysisCollections
Definition:
TrackAnalysisCollections.h:46
IDTPM::TruthQualitySelectionTool::ASG_TOOL_CLASS
ASG_TOOL_CLASS(TruthQualitySelectionTool, ITrackSelectionTool)
IDTPM::TruthQualitySelectionTool::accept
bool accept(const xAOD::TruthParticle *truth)
Definition:
TruthQualitySelectionTool.cxx:40
IDTPM::TruthQualitySelectionTool::m_maxZ0
FloatProperty m_maxZ0
Definition:
TruthQualitySelectionTool.h:66
IDTPM::TruthQualitySelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition:
TruthQualitySelectionTool.cxx:13
IDTPM::TruthQualitySelectionTool::selectTracks
virtual StatusCode selectTracks(TrackAnalysisCollections &trkAnaColls) override
Definition:
TruthQualitySelectionTool.cxx:21
IDTPM::TruthQualitySelectionTool::m_minD0
FloatProperty m_minD0
Definition:
TruthQualitySelectionTool.h:63
IAthSelectionTool.h
TrackAnalysisCollections.h
Class to hold for each event collections needed in the TrkAnalsis.
IDTPM::TruthQualitySelectionTool::m_isPion
BooleanProperty m_isPion
Definition:
TruthQualitySelectionTool.h:70
IDTPM::TruthQualitySelectionTool::m_minAbsD0
FloatProperty m_minAbsD0
Definition:
TruthQualitySelectionTool.h:53
IDTPM::TruthQualitySelectionTool::TruthQualitySelectionTool
TruthQualitySelectionTool(const std::string &name)
Definition:
TruthQualitySelectionTool.cxx:10
IDTPM::TruthQualitySelectionTool::m_minEta
FloatProperty m_minEta
Definition:
TruthQualitySelectionTool.h:59
IDTPM::TruthQualitySelectionTool::m_maxD0
FloatProperty m_maxD0
Definition:
TruthQualitySelectionTool.h:64
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
IDTPM::TruthQualitySelectionTool::m_isFromLightFlav
BooleanProperty m_isFromLightFlav
Definition:
TruthQualitySelectionTool.h:74
IDTPM::TruthQualitySelectionTool::m_trackTruthOriginTool
ToolHandle< InDet::IInDetTrackTruthOriginTool > m_trackTruthOriginTool
Definition:
TruthQualitySelectionTool.h:47
IDTPM::TruthQualitySelectionTool::m_maxPhi
FloatProperty m_maxPhi
Definition:
TruthQualitySelectionTool.h:62
IDTPM::ITrackSelectionTool
Definition:
ITrackSelectionTool.h:24
AnaToolHandle.h
IDTPM::TruthQualitySelectionTool::m_maxAbsD0
FloatProperty m_maxAbsD0
Definition:
TruthQualitySelectionTool.h:54
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:240
IDTPM::TruthQualitySelectionTool::m_maxEta
FloatProperty m_maxEta
Definition:
TruthQualitySelectionTool.h:60
IDTPM::TruthQualitySelectionTool::m_isFromC
BooleanProperty m_isFromC
Definition:
TruthQualitySelectionTool.h:72
IDTPM::TruthQualitySelectionTool::m_minAbsQoPT
FloatProperty m_minAbsQoPT
Definition:
TruthQualitySelectionTool.h:57
InDetTrackTruthOriginTool.h
IDTPM::TruthQualitySelectionTool::m_maxAbsZ0
FloatProperty m_maxAbsZ0
Definition:
TruthQualitySelectionTool.h:56
IDTPM::TruthQualitySelectionTool::m_truthTool
ToolHandle< IAthSelectionTool > m_truthTool
Definition:
TruthQualitySelectionTool.h:46
IDTPM::TruthQualitySelectionTool::m_maxQoPT
FloatProperty m_maxQoPT
Definition:
TruthQualitySelectionTool.h:68
IDTPM::TruthQualitySelectionTool::m_maxAbsPhi
FloatProperty m_maxAbsPhi
Definition:
TruthQualitySelectionTool.h:52
ITrackSelectionTool.h
header file for interface for all the various track selection tools in this package
IDTPM::TruthQualitySelectionTool::m_minZ0
FloatProperty m_minZ0
Definition:
TruthQualitySelectionTool.h:65
IDTPM::TruthQualitySelectionTool::m_minAbsPhi
FloatProperty m_minAbsPhi
Definition:
TruthQualitySelectionTool.h:51
IDTPM::TruthQualitySelectionTool::m_minAbsEta
FloatProperty m_minAbsEta
Definition:
TruthQualitySelectionTool.h:50
IDTPM::TruthQualitySelectionTool::m_minAbsZ0
FloatProperty m_minAbsZ0
Definition:
TruthQualitySelectionTool.h:55
IDTPM
Athena include(s).
Definition:
IPlotsDefinitionSvc.h:25
AsgTool.h
IDTPM::TruthQualitySelectionTool::m_minPhi
FloatProperty m_minPhi
Definition:
TruthQualitySelectionTool.h:61
IDTPM::TruthQualitySelectionTool
Definition:
TruthQualitySelectionTool.h:29
Generated on Mon Sep 1 2025 21:23:21 for ATLAS Offline Software by
1.8.18