ATLAS Offline Software
Loading...
Searching...
No Matches
OfflineTrackQualitySelectionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETTRACKPERFMON_IDTPM_OFFLINETRACKQUALITYSELECTIONTOOL_H
6#define INDETTRACKPERFMON_IDTPM_OFFLINETRACKQUALITYSELECTIONTOOL_H
7
8// Local includes
10
11// Framework includes
12#include "AsgTools/AsgTool.h"
14
15// STL includes
16#include <string>
17
18namespace IDTPM {
19
25
27 public virtual IDTPM::ITrackSelectionTool, public asg::AsgTool {
28
29public:
30
32
33 OfflineTrackQualitySelectionTool( const std::string& name );
34
35 virtual StatusCode initialize() override;
36
37 virtual StatusCode selectTracks(
38 TrackAnalysisCollections& trkAnaColls ) override;
39
40 bool accept( const xAOD::TrackParticle* track );
41
42private:
43
44 ToolHandle< InDet::IInDetTrackSelectionTool > m_offlineTool { this, "offlineTool", "", "Instance name of track selection tool" };
45
46 FloatProperty m_minAbsEta { this, "minAbsEta", -9999., "Lower cut on |eta| for truth particles" };
47 FloatProperty m_minAbsPhi { this, "minAbsPhi", -9999., "Lower cut on |phi| for truth particles" };
48 FloatProperty m_maxAbsPhi { this, "maxAbsPhi", -9999., "Higher cut on |phi| for truth particles" };
49 FloatProperty m_minAbsD0 { this, "minAbsD0", -9999., "Lower cut on |d0| for truth particles" };
50 FloatProperty m_maxAbsD0 { this, "maxAbsD0", -9999., "Higher cut on |d0| for truth particles" };
51 FloatProperty m_minAbsZ0 { this, "minAbsZ0", -9999., "Lower cut on |z0| for truth particles" };
52 FloatProperty m_maxAbsZ0 { this, "maxAbsZ0", -9999., "Higher cut on |z0| for truth particles" };
53 FloatProperty m_minAbsQoPT { this, "minAbsQoPT", -9999., "Lower cut on |q/pt| for truth particles" };
54 FloatProperty m_maxAbsQoPT { this, "maxAbsQoPT", -9999., "Higher cut on |q/pt| for truth particles" };
55 FloatProperty m_maxPt { this, "maxPt", -9999., "Higher cut on phi for truth particles" };
56 FloatProperty m_minEta { this, "minEta", -9999., "Lower cut on eta for truth particles" };
57 FloatProperty m_maxEta { this, "maxEta", -9999., "Higher cut on eta for truth particles" };
58 FloatProperty m_minPhi { this, "minPhi", -9999., "Lower cut on phi for truth particles" };
59 FloatProperty m_maxPhi { this, "maxPhi", -9999., "Higher cut on phi for truth particles" };
60 FloatProperty m_minD0 { this, "minD0", -9999., "Lower cut on d0 for truth particles" };
61 FloatProperty m_minZ0 { this, "minZ0", -9999., "Lower cut on z0 for truth particles" };
62 FloatProperty m_minQoPT { this, "minQoPT", -9999., "Lower cut on q/pt for truth particles" };
63 FloatProperty m_maxQoPT { this, "maxQoPT", -9999., "Higher cut on q/pt for truth particles" };
64 FloatArrayProperty m_etaBins { this, "etaBins", {}, "Eta bins for reco tracks selections" };
65 UnsignedIntegerArrayProperty m_minHitsVec { this, "minHitsVec", {}, "Minimum number of Si hits for reco tracks selections" };
66 FloatArrayProperty m_minPtVec { this, "minPtVec", {}, "Minimum pt in eta bins for reco tracks selections" };
67 FloatArrayProperty m_maxD0Vec { this, "maxD0Vec", {}, "Maximum d0 in eta bins for reco tracks selections" };
68 FloatArrayProperty m_maxZ0Vec { this, "maxZ0Vec", {}, "Maximum z0 in eta bins for reco tracks selections" };
69
70};
71
72} // namespace IDTPM
73
74#endif // INDETTRACKPERFMON_IDTPM_OFFLINETRACKQUALITYSELECTIONTOOL_H
header file for interface for all the various track selection tools in this package
ASG_TOOL_CLASS(OfflineTrackQualitySelectionTool, ITrackSelectionTool)
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
virtual StatusCode selectTracks(TrackAnalysisCollections &trkAnaColls) override
ToolHandle< InDet::IInDetTrackSelectionTool > m_offlineTool
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Athena include(s).
TrackParticle_v1 TrackParticle
Reference the current persistent version: