ATLAS Offline Software
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
11 
12 // Framework includes
13 #include "AsgTools/AsgTool.h"
14 #include "AsgTools/AnaToolHandle.h"
15 
16 // STL includes
17 #include <string>
18 
23 namespace IDTPM{
25  public virtual IDTPM::ITrackSelectionTool,
26  public asg::AsgTool {
27 public:
29 
30  TruthQualitySelectionTool( const std::string& name );
31 
32  virtual StatusCode initialize() override;
33 
34  virtual StatusCode selectTracks(
35  TrackAnalysisCollections& trkAnaColls ) override;
36 
41  ATH_MSG_ERROR( "selectTracksInRoI method is disabled" );
42  return StatusCode::SUCCESS;
43  }
44 
45  bool accept(const xAOD::TruthParticle* truth);
46 
47 
48 
49 private:
50  ToolHandle<IAthSelectionTool> m_truthTool{this, "truthTool", {}, "Truth selection tool to use, has to be setup" };
51 
52  FloatProperty m_minAbsEta { this, "minAbsEta", -9999., "Lower cut on |eta| for truth particles" };
53  FloatProperty m_minAbsPhi { this, "minAbsPhi", -9999., "Lower cut on |phi| for truth particles" };
54  FloatProperty m_maxAbsPhi { this, "maxAbsPhi", -9999., "Higher cut on |phi| for truth particles" };
55  FloatProperty m_minAbsD0 { this, "minAbsD0", -9999., "Lower cut on |d0| for truth particles" };
56  FloatProperty m_maxAbsD0 { this, "maxAbsD0", -9999., "Higher cut on |d0| for truth particles" };
57  FloatProperty m_minAbsZ0 { this, "minAbsZ0", -9999., "Lower cut on |z0| for truth particles" };
58  FloatProperty m_maxAbsZ0 { this, "maxAbsZ0", -9999., "Higher cut on |z0| for truth particles" };
59  FloatProperty m_minAbsQoPT { this, "minAbsQoPT", -9999., "Lower cut on |q/pt| for truth particles" };
60  FloatProperty m_maxAbsQoPT { this, "maxAbsQoPT", -9999., "Higher cut on |q/pt| for truth particles" };
61  FloatProperty m_minEta { this, "minEta", -9999., "Lower cut on eta for truth particles" };
62  FloatProperty m_maxEta { this, "maxEta", -9999., "Higher cut on eta for truth particles" };
63  FloatProperty m_minPhi { this, "minPhi", -9999., "Lower cut on phi for truth particles" };
64  FloatProperty m_maxPhi { this, "maxPhi", -9999., "Higher cut on phi for truth particles" };
65  FloatProperty m_minD0 { this, "minD0", -9999., "Lower cut on d0 for truth particles" };
66  FloatProperty m_maxD0 { this, "maxD0", -9999., "Higher cut on d0 for truth particles" };
67  FloatProperty m_minZ0 { this, "minZ0", -9999., "Lower cut on z0 for truth particles" };
68  FloatProperty m_maxZ0 { this, "maxZ0", -9999., "Higher cut on z0 for truth particles" };
69  FloatProperty m_minQoPT { this, "minQoPT", -9999., "Lower cut on q/pt for truth particles" };
70  FloatProperty m_maxQoPT { this, "maxQoPT", -9999., "Higher cut on q/pt for truth particles" };
71  BooleanProperty m_isHadron { this, "isHadron",false, "Select hadrons" };
72 
73 };
74 }
75 #endif // INDETTRACKPERFMON_TRUTHQUALITYSELECTIONTOOL_H
IDTPM::TruthQualitySelectionTool::m_maxAbsQoPT
FloatProperty m_maxAbsQoPT
Definition: TruthQualitySelectionTool.h:60
IDTPM::TruthQualitySelectionTool::selectTracksInRoI
virtual StatusCode selectTracksInRoI(TrackAnalysisCollections &, const ElementLink< TrigRoiDescriptorCollection > &) override
Dummy method - unused.
Definition: TruthQualitySelectionTool.h:38
IDTPM::TruthQualitySelectionTool::m_minQoPT
FloatProperty m_minQoPT
Definition: TruthQualitySelectionTool.h:69
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:71
IDTPM::TrackAnalysisCollections
Definition: TrackAnalysisCollections.h:44
IDTPM::TruthQualitySelectionTool::ASG_TOOL_CLASS
ASG_TOOL_CLASS(TruthQualitySelectionTool, ITrackSelectionTool)
IDTPM::TruthQualitySelectionTool::accept
bool accept(const xAOD::TruthParticle *truth)
Definition: TruthQualitySelectionTool.cxx:34
IDTPM::TruthQualitySelectionTool::m_maxZ0
FloatProperty m_maxZ0
Definition: TruthQualitySelectionTool.h:68
IDTPM::TruthQualitySelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: TruthQualitySelectionTool.cxx:14
IDTPM::TruthQualitySelectionTool::selectTracks
virtual StatusCode selectTracks(TrackAnalysisCollections &trkAnaColls) override
Definition: TruthQualitySelectionTool.cxx:21
IDTPM::TruthQualitySelectionTool::m_minD0
FloatProperty m_minD0
Definition: TruthQualitySelectionTool.h:65
IAthSelectionTool.h
TrackAnalysisCollections.h
Class to hold for each event collections needed in the TrkAnalsis.
IDTPM::TruthQualitySelectionTool::m_minAbsD0
FloatProperty m_minAbsD0
Definition: TruthQualitySelectionTool.h:55
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
IDTPM::TruthQualitySelectionTool::TruthQualitySelectionTool
TruthQualitySelectionTool(const std::string &name)
Definition: TruthQualitySelectionTool.cxx:11
IDTPM::TruthQualitySelectionTool::m_minEta
FloatProperty m_minEta
Definition: TruthQualitySelectionTool.h:61
IDTPM::TruthQualitySelectionTool::m_maxD0
FloatProperty m_maxD0
Definition: TruthQualitySelectionTool.h:66
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_maxPhi
FloatProperty m_maxPhi
Definition: TruthQualitySelectionTool.h:64
IDTPM::ITrackSelectionTool
Definition: ITrackSelectionTool.h:27
AnaToolHandle.h
IDTPM::TruthQualitySelectionTool::m_maxAbsD0
FloatProperty m_maxAbsD0
Definition: TruthQualitySelectionTool.h:56
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
IDTPM::TruthQualitySelectionTool::m_maxEta
FloatProperty m_maxEta
Definition: TruthQualitySelectionTool.h:62
IDTPM::TruthQualitySelectionTool::m_minAbsQoPT
FloatProperty m_minAbsQoPT
Definition: TruthQualitySelectionTool.h:59
IDTPM::TruthQualitySelectionTool::m_maxAbsZ0
FloatProperty m_maxAbsZ0
Definition: TruthQualitySelectionTool.h:58
IDTPM::TruthQualitySelectionTool::m_maxQoPT
FloatProperty m_maxQoPT
Definition: TruthQualitySelectionTool.h:70
IDTPM::TruthQualitySelectionTool::m_truthTool
ToolHandle< IAthSelectionTool > m_truthTool
Definition: TruthQualitySelectionTool.h:50
IDTPM::TruthQualitySelectionTool::m_maxAbsPhi
FloatProperty m_maxAbsPhi
Definition: TruthQualitySelectionTool.h:54
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:67
IDTPM::TruthQualitySelectionTool::m_minAbsPhi
FloatProperty m_minAbsPhi
Definition: TruthQualitySelectionTool.h:53
IDTPM::TruthQualitySelectionTool::m_minAbsEta
FloatProperty m_minAbsEta
Definition: TruthQualitySelectionTool.h:52
IDTPM::TruthQualitySelectionTool::m_minAbsZ0
FloatProperty m_minAbsZ0
Definition: TruthQualitySelectionTool.h:57
IDTPM
Athena include(s).
Definition: IPlotsDefinitionSvc.h:25
AsgTool.h
IDTPM::TruthQualitySelectionTool::m_minPhi
FloatProperty m_minPhi
Definition: TruthQualitySelectionTool.h:63
IDTPM::TruthQualitySelectionTool
Definition: TruthQualitySelectionTool.h:26