ATLAS Offline Software
AsgLeptonTrackSelectionAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 
9 #ifndef ASG_ANALYSIS_ALGORITHMS__ASG_LEPTON_TRACK_SELECTION_ALG_H
10 #define ASG_ANALYSIS_ALGORITHMS__ASG_LEPTON_TRACK_SELECTION_ALG_H
11 
25 
26 namespace CP
27 {
40 
42  {
44  public:
46  StatusCode initialize () override;
47  StatusCode execute () override;
48 
49 
52 
53  private:
54  Gaudi::Property<float> m_maxD0Significance {this, "maxD0Significance", 0, "maximum d0 significance (or 0 for no cut)"};
55  Gaudi::Property<float> m_maxDeltaZ0SinTheta {this, "maxDeltaZ0SinTheta", 0, "maximum Delta z0 sin theta (or 0 for no cut)"};
56  Gaudi::Property<int> m_nMinPixelHits {this, "nMinPixelHits", -1, "minimum number of required Pixel hits (or -1 for no cut)"};
57  Gaudi::Property<int> m_nMaxPixelHits {this, "nMaxPixelHits", -1, "maximum number of required Pixel hits (or -1 for no cut)"};
58  Gaudi::Property<int> m_nMinSCTHits {this, "nMinSCTHits", -1, "minimum number of required SCT hits (or -1 for no cut)"};
59  Gaudi::Property<int> m_nMaxSCTHits {this, "nMaxSCTHits", -1, "maximum number of required SCT hits (or -1 for no cut)"};
60  Gaudi::Property<bool> m_decorateTTVAVars{this, "decorateTTVAVars", false, "save the calculated d0sig and z0sinTheta variables"};
61  Gaudi::Property<std::string> m_d0sigDecoration {this, "d0sigDecoration", "", "the decoration name for d0 significance"};
62  Gaudi::Property<std::string> m_z0sinthetaDecoration {this, "z0sinthetaDecoration", "", "the decoration name for z0sintheta"};
63 
65 
66 
68  private:
70 
72  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey {this, "eventInfo", "EventInfo", "the name of the EventInfo object to retrieve"};
73 
75  SG::ReadHandleKey<xAOD::VertexContainer> m_primaryVerticesKey {this, "primaryVertices", "PrimaryVertices", "the name of the PrimaryVertex container to retrieve"};
76 
78  private:
80  this, "particles", "", "the asg collection to run on"};
81 
83  private:
85  this, "preselection", "", "the preselection to apply"};
86 
88  private:
90  this, "selectionDecoration", "trackSelection", "the decoration for the asg selection"};
91 
93  private:
94  ServiceHandle<ISelectionNameSvc> m_nameSvc {"SelectionNameSvc", "AsgLeptonTrackSelectionAlg"};
95 
97  private:
98  std::unique_ptr<const SG::AuxElement::Decorator<float> > m_d0sigDecorator {};
99 
101  private:
102  std::unique_ptr<const SG::AuxElement::Decorator<float> > m_z0sinthetaDecorator {};
103 
105  private:
107  };
108 }
109 
110 #endif
CP::AsgLeptonTrackSelectionAlg::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
the EventInfo key
Definition: AsgLeptonTrackSelectionAlg.h:72
PropertyWrapper.h
CP::AsgLeptonTrackSelectionAlg::m_preselection
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Definition: AsgLeptonTrackSelectionAlg.h:84
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
CP::AsgLeptonTrackSelectionAlg::m_z0sinthetaDecorator
std::unique_ptr< const SG::AuxElement::Decorator< float > > m_z0sinthetaDecorator
the name of the variable being decorated for z0sintheta
Definition: AsgLeptonTrackSelectionAlg.h:102
CP::AsgLeptonTrackSelectionAlg::m_nameSvc
ServiceHandle< ISelectionNameSvc > m_nameSvc
the ISelectionNameSvc
Definition: AsgLeptonTrackSelectionAlg.h:94
CP::AsgLeptonTrackSelectionAlg::m_nMaxPixelHits
Gaudi::Property< int > m_nMaxPixelHits
Definition: AsgLeptonTrackSelectionAlg.h:57
CP::AsgLeptonTrackSelectionAlg::m_nMinSCTHits
Gaudi::Property< int > m_nMinSCTHits
Definition: AsgLeptonTrackSelectionAlg.h:58
SysListHandle.h
SysWriteSelectionHandle.h
CP::AsgLeptonTrackSelectionAlg::m_maxDeltaZ0SinTheta
Gaudi::Property< float > m_maxDeltaZ0SinTheta
Definition: AsgLeptonTrackSelectionAlg.h:55
SG::ReadHandleKey< xAOD::EventInfo >
CP::SysReadHandle
a data handle for reading systematics varied input data
Definition: SysReadHandle.h:32
IAsgSelectionTool.h
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaAlgorithm.cxx:40
CP::AsgLeptonTrackSelectionAlg::m_decorateTTVAVars
Gaudi::Property< bool > m_decorateTTVAVars
Definition: AsgLeptonTrackSelectionAlg.h:60
SysReadHandle.h
CP::AsgLeptonTrackSelectionAlg::m_nMinPixelHits
Gaudi::Property< int > m_nMinPixelHits
Definition: AsgLeptonTrackSelectionAlg.h:56
AnaAlgorithm.h
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
CP::AsgLeptonTrackSelectionAlg::m_primaryVerticesKey
SG::ReadHandleKey< xAOD::VertexContainer > m_primaryVerticesKey
the PrimaryVertex key
Definition: AsgLeptonTrackSelectionAlg.h:75
asg::AcceptInfo
Definition: AcceptInfo.h:28
CP::AsgLeptonTrackSelectionAlg::execute
StatusCode execute() override
Definition: AsgLeptonTrackSelectionAlg.cxx:94
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
IParticleContainer.h
ISelectionNameSvc.h
CP::AsgLeptonTrackSelectionAlg::m_z0sinthetaDecoration
Gaudi::Property< std::string > m_z0sinthetaDecoration
Definition: AsgLeptonTrackSelectionAlg.h:62
CP::AsgLeptonTrackSelectionAlg::m_selectionHandle
SysWriteSelectionHandle m_selectionHandle
the accessor for m_selectionDecoration
Definition: AsgLeptonTrackSelectionAlg.h:89
CP::AsgLeptonTrackSelectionAlg::m_d0sigDecorator
std::unique_ptr< const SG::AuxElement::Decorator< float > > m_d0sigDecorator
the name of the variable being decorated for d0significance
Definition: AsgLeptonTrackSelectionAlg.h:98
SysReadSelectionHandle.h
ReadHandle.h
Handle class for reading from StoreGate.
CP::AsgLeptonTrackSelectionAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition: AsgLeptonTrackSelectionAlg.h:69
EventInfo.h
CP::AsgLeptonTrackSelectionAlg
an algorithm for performing track-vertex selection on leptons
Definition: AsgLeptonTrackSelectionAlg.h:42
VertexContainer.h
CP::AsgLeptonTrackSelectionAlg::m_accept
asg::AcceptInfo m_accept
the asg::AcceptInfo we are using
Definition: AsgLeptonTrackSelectionAlg.h:106
CP::AsgLeptonTrackSelectionAlg::m_particlesHandle
SysReadHandle< xAOD::IParticleContainer > m_particlesHandle
the particle container we run on
Definition: AsgLeptonTrackSelectionAlg.h:79
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
CP::AsgLeptonTrackSelectionAlg::m_d0sigDecoration
Gaudi::Property< std::string > m_d0sigDecoration
Definition: AsgLeptonTrackSelectionAlg.h:61
CP::AsgLeptonTrackSelectionAlg::initialize
StatusCode initialize() override
Definition: AsgLeptonTrackSelectionAlg.cxx:27
CP::AsgLeptonTrackSelectionAlg::m_nMaxSCTHits
Gaudi::Property< int > m_nMaxSCTHits
Definition: AsgLeptonTrackSelectionAlg.h:59
CP::SysWriteSelectionHandle
a data handle for writing systematically varied selection properties from objects
Definition: SysWriteSelectionHandle.h:32
ServiceHandle
Definition: ClusterMakerTool.h:37
CP::AsgLeptonTrackSelectionAlg::m_maxD0Significance
Gaudi::Property< float > m_maxD0Significance
algorithm properties
Definition: AsgLeptonTrackSelectionAlg.h:54