ATLAS Offline Software
PFTrackMuonCaloTaggingAlg.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_PFTRACKMUONCALOTAGGINGALG_H
6 #define EFLOWREC_PFTRACKMUONCALOTAGGINGALG_H
7 
13 #include "GaudiKernel/ToolHandle.h"
18 #include "GaudiKernel/SystemOfUnits.h"
19 
26 {
27 public:
28  PFTrackMuonCaloTaggingAlg(const std::string &name, ISvcLocator *pSvcLocator);
29  virtual ~PFTrackMuonCaloTaggingAlg() override;
30 
31  virtual StatusCode initialize() override;
32  virtual StatusCode execute(const EventContext &ctx) const override;
33 
34 private:
37  this, "InputTracks", "", "Input track collection"};
40  this, "InputCaloExtension", "", "The calorimeter extensions of the tracks"};
43  this, "InputCells", "", "Cell container to pass to the other tools"};
46  this, "OutputTracks", "", "Output tracks, excluding those tagged as muons"};
47  ToolHandle<ICaloMuonTag> m_looseMuonTagTool{
48  this, "LooseTagTool", "", "Loose muon tag tool"};
49  ToolHandle<ICaloMuonTag> m_tightMuonTagTool{
50  this, "TightTagTool", "", "Tight muon tag tool"};
51  ToolHandle<ICaloMuonScoreTool> m_muonScoreTool{
52  this, "MuonScoreTool", "", "Calo muon score tool"};
53  ToolHandle<ITrackDepositInCaloTool> m_depositInCaloTool{
54  this, "DepositInCaloTool", "", "Deposit in calo tool"};
55  Gaudi::Property<float> m_minPt{
56  this, "MinPt", 10 * Gaudi::Units::GeV, "Only consider tracks above this value for muon selection (all below go into the output)"};
57  Gaudi::Property<float> m_caloMuonScoreCut{
58  this, "MuonScoreCut", 0.4, "Below this value, require a tight calo tag"};
59 
60 }; //> end class PFTrackMuonCaloTaggingAlg
61 
62 #endif //> !EFLOWREC_PFTRACKMUONCALOTAGGINGALG_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ICaloMuonScoreTool.h
PFTrackMuonCaloTaggingAlg::m_muonScoreTool
ToolHandle< ICaloMuonScoreTool > m_muonScoreTool
Definition: PFTrackMuonCaloTaggingAlg.h:51
PFTrackMuonCaloTaggingAlg::m_looseMuonTagTool
ToolHandle< ICaloMuonTag > m_looseMuonTagTool
Definition: PFTrackMuonCaloTaggingAlg.h:47
PFTrackMuonCaloTaggingAlg::PFTrackMuonCaloTaggingAlg
PFTrackMuonCaloTaggingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PFTrackMuonCaloTaggingAlg.cxx:6
PFTrackMuonCaloTaggingAlg::m_outputTracksKey
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_outputTracksKey
The output tracks, excluding those identified as muons.
Definition: PFTrackMuonCaloTaggingAlg.h:45
PFTrackMuonCaloTaggingAlg::m_caloExtensionKey
SG::ReadHandleKey< CaloExtensionCollection > m_caloExtensionKey
The input calorimeter extension.
Definition: PFTrackMuonCaloTaggingAlg.h:39
PFTrackMuonCaloTaggingAlg::m_minPt
Gaudi::Property< float > m_minPt
Definition: PFTrackMuonCaloTaggingAlg.h:55
SG::ReadHandleKey< xAOD::TrackParticleContainer >
PFTrackMuonCaloTaggingAlg
Algorithm to use calorimeter information to remove potential muons.
Definition: PFTrackMuonCaloTaggingAlg.h:26
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
PFTrackMuonCaloTaggingAlg::~PFTrackMuonCaloTaggingAlg
virtual ~PFTrackMuonCaloTaggingAlg() override
SG::WriteHandleKey< xAOD::TrackParticleContainer >
ITrackDepositInCaloTool.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PFTrackMuonCaloTaggingAlg::initialize
virtual StatusCode initialize() override
Definition: PFTrackMuonCaloTaggingAlg.cxx:13
ICaloMuonTag.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
PFTrackMuonCaloTaggingAlg::m_inputCellsKey
SG::ReadHandleKey< CaloCellContainer > m_inputCellsKey
Input cells. It's generally more efficient to pass these in this way.
Definition: PFTrackMuonCaloTaggingAlg.h:42
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PFTrackMuonCaloTaggingAlg::m_caloMuonScoreCut
Gaudi::Property< float > m_caloMuonScoreCut
Definition: PFTrackMuonCaloTaggingAlg.h:57
CaloCellContainer.h
CaloExtensionCollection.h
PFTrackMuonCaloTaggingAlg::m_depositInCaloTool
ToolHandle< ITrackDepositInCaloTool > m_depositInCaloTool
Definition: PFTrackMuonCaloTaggingAlg.h:53
PFTrackMuonCaloTaggingAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: PFTrackMuonCaloTaggingAlg.cxx:26
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
PFTrackMuonCaloTaggingAlg::m_inputTracksKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTracksKey
The input track collection.
Definition: PFTrackMuonCaloTaggingAlg.h:36
TrackParticleContainer.h
PFTrackMuonCaloTaggingAlg::m_tightMuonTagTool
ToolHandle< ICaloMuonTag > m_tightMuonTagTool
Definition: PFTrackMuonCaloTaggingAlg.h:49