ATLAS Offline Software
PFTrackMuonIsoTaggingAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EFLOWREC_PFTRACKMUONISOTAGGINGALG_H
6 #define EFLOWREC_PFTRACKMUONISOTAGGINGALG_H
7 
14 #include "GaudiKernel/ToolHandle.h"
17 
19 {
20 public:
21  PFTrackMuonIsoTaggingAlg(const std::string &name, ISvcLocator *pSvcLocator);
22  virtual ~PFTrackMuonIsoTaggingAlg() override;
23 
24  virtual StatusCode initialize() override;
25  virtual StatusCode execute(const EventContext &ctx) const override;
26 
27 private:
30  this, "InputTracks", "", "Input track collection"};
33  this, "InputClusters", "", "Input cluster collection"};
36  this, "InputVertices", "", "Input vertex collection"};
39  this, "OutputTracks", "", "Output tracks, excluding those tagged as muons"};
40 
41  ToolHandle<xAOD::ITrackIsolationTool> m_trkIsoTool{
42  this, "TrackIsoTool", "", "The track isolation tool"};
43 
44  ToolHandle<xAOD::ICaloTopoClusterIsolationTool> m_caloIsoTool{
45  this, "CaloIsoTool", "", "The calorimeter isolation tool"};
47  Gaudi::Property<float> m_hltTrkIsoThresh{this, "HLTTrackIsoThreshold", 0.1, "The HLT threshold to consider tracks as isolated"};
48 
50  Gaudi::Property<float> m_hltFakeTrkRErr{this, "HLTFakeTrackRErr", 0.4, "The relative error threshold for rejecting fake tracks"};
51 
53  Gaudi::Property<float> m_hltIsoMuonEOverP{this, "HLTIsoMuonEOverP", 0.65, "The upper limit on E over P for identifying isolated HLT muon tracks"};
54 
56  Gaudi::Property<float> m_hltNonIsoMuonEOverP{
57  this, "HLTNonIsoMuonEOverP", 0.6, "The upper limit on E over P for identifying non-isolated HLT muon tracks"};
58 
60  Gaudi::Property<float> m_hltNonIsoMuonTrkPtFraction{
61  this, "HLTNonIsoMuonTrkPtFraction", 0.6, "The lower limit on the track pt fraction in the central track for HLT muons"};
62 
63  Gaudi::Property<float> m_minPt{
64  this, "MinPt", 10 * Gaudi::Units::GeV, "Only consider tracks above this value for muon selection (all below go into the output)"};
65 
66 }; //> end class PFTrackMuonIsoTaggingAlg
67 
68 #endif //> !EFLOWREC_PFTRACKMUONISOTAGGINGALG_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
PFTrackMuonIsoTaggingAlg::m_caloIsoTool
ToolHandle< xAOD::ICaloTopoClusterIsolationTool > m_caloIsoTool
Definition: PFTrackMuonIsoTaggingAlg.h:44
PFTrackMuonIsoTaggingAlg::~PFTrackMuonIsoTaggingAlg
virtual ~PFTrackMuonIsoTaggingAlg() override
PFTrackMuonIsoTaggingAlg::m_inputClustersKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClustersKey
Input cluster collection.
Definition: PFTrackMuonIsoTaggingAlg.h:32
PFTrackMuonIsoTaggingAlg::m_outputTracksKey
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_outputTracksKey
The output tracks, excluding those identified as muons.
Definition: PFTrackMuonIsoTaggingAlg.h:38
PFTrackMuonIsoTaggingAlg::m_inputVerticesKey
SG::ReadHandleKey< xAOD::VertexContainer > m_inputVerticesKey
Input vertex collection.
Definition: PFTrackMuonIsoTaggingAlg.h:35
PFTrackMuonIsoTaggingAlg::m_hltIsoMuonEOverP
Gaudi::Property< float > m_hltIsoMuonEOverP
HLT E over P selection for isolated muon tracks.
Definition: PFTrackMuonIsoTaggingAlg.h:53
SG::ReadHandleKey< xAOD::TrackParticleContainer >
ICaloTopoClusterIsolationTool.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
PFTrackMuonIsoTaggingAlg::PFTrackMuonIsoTaggingAlg
PFTrackMuonIsoTaggingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PFTrackMuonIsoTaggingAlg.cxx:12
SG::WriteHandleKey< xAOD::TrackParticleContainer >
PFTrackMuonIsoTaggingAlg::m_minPt
Gaudi::Property< float > m_minPt
Definition: PFTrackMuonIsoTaggingAlg.h:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PFTrackMuonIsoTaggingAlg::m_trkIsoTool
ToolHandle< xAOD::ITrackIsolationTool > m_trkIsoTool
Definition: PFTrackMuonIsoTaggingAlg.h:41
PFTrackMuonIsoTaggingAlg::initialize
virtual StatusCode initialize() override
Definition: PFTrackMuonIsoTaggingAlg.cxx:19
PFTrackMuonIsoTaggingAlg::m_inputTracksKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTracksKey
The input track collection.
Definition: PFTrackMuonIsoTaggingAlg.h:29
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PFTrackMuonIsoTaggingAlg::m_hltFakeTrkRErr
Gaudi::Property< float > m_hltFakeTrkRErr
HLT fake track relative error threshold.
Definition: PFTrackMuonIsoTaggingAlg.h:50
PFTrackMuonIsoTaggingAlg::m_hltNonIsoMuonTrkPtFraction
Gaudi::Property< float > m_hltNonIsoMuonTrkPtFraction
HLT track pt fraction for non-isolated muon tracks.
Definition: PFTrackMuonIsoTaggingAlg.h:60
PFTrackMuonIsoTaggingAlg
Definition: PFTrackMuonIsoTaggingAlg.h:19
ITrackIsolationTool.h
VertexContainer.h
PFTrackMuonIsoTaggingAlg::m_hltTrkIsoThresh
Gaudi::Property< float > m_hltTrkIsoThresh
HLT track isolation threshold.
Definition: PFTrackMuonIsoTaggingAlg.h:47
CaloClusterContainer.h
PFTrackMuonIsoTaggingAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: PFTrackMuonIsoTaggingAlg.cxx:30
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
PFTrackMuonIsoTaggingAlg::m_hltNonIsoMuonEOverP
Gaudi::Property< float > m_hltNonIsoMuonEOverP
HLT E over P selection for non-isolated muon tracks.
Definition: PFTrackMuonIsoTaggingAlg.h:56
TrackParticleContainer.h