ATLAS Offline Software
Loading...
Searching...
No Matches
PFTrackSelector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef PFTRACKSELECTOR_H
5#define PFTRACKSELECTOR_H
6
8
10
12
15
24
26
28{
29
30public:
32 PFTrackSelector(const std::string& name, ISvcLocator* pSvcLocator);
35
37 StatusCode initialize();
38 StatusCode execute(const EventContext& ctx) const;
39 StatusCode finalize();
40
41private:
43 bool selectTrack(const xAOD::TrackParticle& track) const;
44
46 bool isElectron(const xAOD::TrackParticle* track) const;
47
49 bool isMuon(const xAOD::TrackParticle* track) const;
50
53 this,
54 "tracksName",
55 "InDetTrackParticles",
56 "ReadHandleKey for the TrackParticleContainer to be used as input"
57 };
58
61 this,
62 "electronsName",
63 "eflowRec_selectedElectrons",
64 "ReadHandleKey for the ElectronContainer to be used as input"
65 };
66
69 this,
70 "muonsName",
71 "eflowRec_selectedMuons",
72 "ReadHandleKey for the MuonContainer to be used as input"
73 };
74
77 this,
78 "eflowRecTracksOutputName",
79 "eflowRecTracks",
80 "WriteHandleKey for the eflowRecTrackContainer to write out"
81 };
82
84 "VertexContainer",
85 "PrimaryVertices",
86 "primary vertex container" };
87
89 ToolHandle<eflowTrackExtrapolatorBaseAlgTool> m_theTrackExtrapolatorTool{
90 this,
91 "trackExtrapolatorTool",
92 "Trk::ParticleCaloExtensionTool",
93 "ToolHandle for track extrapolation to calorimeter tool"
94 };
95
97 ToolHandle<InDet::IInDetTrackSelectionTool>
98 m_trackSelectorTool{ this, "trackSelectionTool", "", "ToolHandle to track selection tool provided by tracking CP" };
99
101 Gaudi::Property<float> m_upperTrackPtCut{ this,
102 "upperTrackPtCut",
103 100.0,
104 "Upper limit on track Pt for input tracks" };
105
107 ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" };
108};
109#endif
defines an "iterator" over instances of a given type in StoreGateSvc
Header file to be included by clients of the Monitored infrastructure.
An algorithm that can be simultaneously executed in multiple threads.
bool selectTrack(const xAOD::TrackParticle &track) const
This applys a selection criteria to the track using the tracking CP track selection tool.
SG::WriteHandleKey< eflowRecTrackContainer > m_eflowRecTracksWriteHandleKey
WriteHandleKey for the eflowRecTrackContainer to write out.
bool isMuon(const xAOD::TrackParticle *track) const
check if track belongs to an muon
bool isElectron(const xAOD::TrackParticle *track) const
check if track belongs to an electron
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexKey
PFTrackSelector(const std::string &name, ISvcLocator *pSvcLocator)
Default constructor.
StatusCode initialize()
Gaudi AthAlgorithm hooks.
ToolHandle< eflowTrackExtrapolatorBaseAlgTool > m_theTrackExtrapolatorTool
ToolHandle for track extrapolation to calorimeter tool.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_tracksReadHandleKey
ReadHandleKey for the TrackParticleContainer to be used as input.
StatusCode execute(const EventContext &ctx) const
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelectorTool
ToolHandle to track selection tool provided by tracking CP.
SG::ReadHandleKey< xAOD::MuonContainer > m_muonsReadHandleKey
ReadHandleKey for the MuonContainer to be used as input.
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
StatusCode finalize()
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronsReadHandleKey
ReadHandleKey for the ElectronContainer to be used as input.
~PFTrackSelector()
Default destructor.
Gaudi::Property< float > m_upperTrackPtCut
Upper limit on track Pt for input tracks.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
TrackParticle_v1 TrackParticle
Reference the current persistent version: