ATLAS Offline Software
MuonCombinedInDetCandidateAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-202 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCOMBINEDALGS_MUONCOMBINEDINDETCANDIDATEALG_H
6 #define MUONCOMBINEDALGS_MUONCOMBINEDINDETCANDIDATEALG_H
7 
8 #include <map>
9 #include <string>
10 
12 #include "GaudiKernel/ToolHandle.h"
20 
22 public:
23  MuonCombinedInDetCandidateAlg(const std::string& name, ISvcLocator* pSvcLocator);
25 
26  StatusCode initialize() override;
27  StatusCode execute(const EventContext& ctx) const override;
28 
29 private:
31  this, "TrackParticleLocation", {"InDetTrackParticles"}};
33  this,
34  "CaloExtensionLocation",
35  {},
36  };
38  "InDetForwardTrackParticles"};
39 
41 
42  SG::WriteHandleKey<InDetCandidateCollection> m_candidateCollectionName{this, "InDetCandidateLocation", "InDetCandidates"};
43 
44  ToolHandle<Trk::ITrackSelectorTool> m_trackSelector{
45  this, "TrackSelector", "InDet::InDetDetailedTrackSelectorTool/MuonCombinedInDetDetailedTrackSelectorTool", "Track selector tool"};
46  ToolHandle<Trk::ITrackSelectorTool> m_forwardTrackSelector{
47  this, "InDetForwardTrackSelector", "InDet::InDetDetailedTrackSelectorTool/MuonCombinedInDetDetailedForwardTrackSelectorTool",
48  "Forward track selector tool"};
49  ToolHandle<Muon::IMuonSystemExtensionTool> m_muonSystemExtensionTool{this, "MuonSystemExtensionTool", "", "Muon system extension tool"};
50 
57  bool flagAsSAF{false};
59  std::unique_ptr<InDetCandidateCollection> outputContainer = std::make_unique<InDetCandidateCollection>(SG::OWN_ELEMENTS);
62  };
63 
64  StatusCode create(const EventContext& ctx, InDetCandidateCache& output_cache) const;
65 
66  bool isValidTrackParticle(const Trk::ITrackSelectorTool* currentTrackSelector, const xAOD::TrackParticle* const tp) const;
67  void printTrackParticleInfo(const xAOD::TrackParticle* const tp, const std::string& what) const;
68 
70 
71  Gaudi::Property<bool> m_doSiliconForwardMuons{this, "DoSiliconAssocForwardMuons", false};
73  Gaudi::Property<float> m_extThreshold{this, "ExtensionPtThreshold", 2500};
75  Gaudi::Property<bool> m_extendSAF{this, "ExtendSAF", false};
77  Gaudi::Property<bool> m_extendBulk{this, "ExtendBulk", true};
79  Gaudi::Property<bool> m_requireExtension{this, "RequireExtension", true};
80 };
81 
82 #endif
Trk::ITrackSelectorTool
The abstract interface base class for track selector tools.
Definition: ITrackSelectorTool.h:35
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MuonCombinedInDetCandidateAlg::isValidTrackParticle
bool isValidTrackParticle(const Trk::ITrackSelectorTool *currentTrackSelector, const xAOD::TrackParticle *const tp) const
Definition: MuonCombinedInDetCandidateAlg.cxx:126
IMuonSystemExtensionTool.h
MuonCombinedInDetCandidateAlg::m_caloFwdExtensionLocation
SG::ReadHandleKey< CaloExtensionCollection > m_caloFwdExtensionLocation
Definition: MuonCombinedInDetCandidateAlg.h:40
MuonCombinedInDetCandidateAlg::initialize
StatusCode initialize() override
Definition: MuonCombinedInDetCandidateAlg.cxx:17
MuonCombinedInDetCandidateAlg::create
StatusCode create(const EventContext &ctx, InDetCandidateCache &output_cache) const
Definition: MuonCombinedInDetCandidateAlg.cxx:84
MuonCombinedInDetCandidateAlg::m_trackSelector
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
Definition: MuonCombinedInDetCandidateAlg.h:44
MuonCombinedInDetCandidateAlg::m_requireExtension
Gaudi::Property< bool > m_requireExtension
Reject muon candidates without a muon system extension – only effective if the candidate shall actual...
Definition: MuonCombinedInDetCandidateAlg.h:79
MuonCombinedInDetCandidateAlg
Definition: MuonCombinedInDetCandidateAlg.h:21
ParticleTest.tp
tp
Definition: ParticleTest.py:25
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
MuonCombinedInDetCandidateAlg::~MuonCombinedInDetCandidateAlg
~MuonCombinedInDetCandidateAlg()=default
MuonCombinedInDetCandidateAlg::InDetCandidateCache
Definition: MuonCombinedInDetCandidateAlg.h:51
SG::ReadHandleKey< xAOD::TrackParticleContainer >
MuonCombinedInDetCandidateAlg::InDetCandidateCache::flagAsSAF
bool flagAsSAF
Flag the candidates as sillicion forward associated.
Definition: MuonCombinedInDetCandidateAlg.h:57
MuonCombinedInDetCandidateAlg::m_doSiliconForwardMuons
Gaudi::Property< bool > m_doSiliconForwardMuons
Definition: MuonCombinedInDetCandidateAlg.h:71
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
MuonCombinedInDetCandidateAlg::m_indetTrackParticleLocation
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_indetTrackParticleLocation
Definition: MuonCombinedInDetCandidateAlg.h:30
xAOD::SummaryType
SummaryType
Enumerates the different types of information stored in Summary.
Definition: TrackingPrimitives.h:228
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
SG::OWN_ELEMENTS
@ OWN_ELEMENTS
this data object owns its elements
Definition: OwnershipPolicy.h:17
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonCombinedInDetCandidateAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition: MuonCombinedInDetCandidateAlg.cxx:34
MuonCombinedInDetCandidateAlg::InDetCandidateCache::extensionContainer
const CaloExtensionCollection * extensionContainer
Cache of the CaloExtensions.
Definition: MuonCombinedInDetCandidateAlg.h:55
MuonCombinedInDetCandidateAlg::m_extThreshold
Gaudi::Property< float > m_extThreshold
Minimum pt threshold of the IdCandidate to be extrapolated through the spectrometer.
Definition: MuonCombinedInDetCandidateAlg.h:73
MuonCombinedInDetCandidateAlg::m_extendSAF
Gaudi::Property< bool > m_extendSAF
Shall SAF tracks be equiped with a muon system extension used by MuGirl later.
Definition: MuonCombinedInDetCandidateAlg.h:75
MuonCombinedInDetCandidateAlg::getCount
int getCount(const xAOD::TrackParticle &tp, xAOD::SummaryType type) const
Definition: MuonCombinedInDetCandidateAlg.cxx:149
DataVector< xAOD::TrackParticle_v1 >
AthReentrantAlgorithm.h
MuonCombinedInDetCandidateAlg::InDetCandidateCache::outputContainer
std::unique_ptr< InDetCandidateCollection > outputContainer
Output container for the StoreGate.
Definition: MuonCombinedInDetCandidateAlg.h:59
MuonCombinedInDetCandidateAlg::InDetCandidateCache::trackSelector
const Trk::ITrackSelectorTool * trackSelector
Corresponding track selector.
Definition: MuonCombinedInDetCandidateAlg.h:61
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
python.ExitCodes.what
def what(code)
Definition: ExitCodes.py:73
MuonCombinedInDetCandidateAlg::m_muonSystemExtensionTool
ToolHandle< Muon::IMuonSystemExtensionTool > m_muonSystemExtensionTool
Definition: MuonCombinedInDetCandidateAlg.h:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuonCombinedInDetCandidateAlg::m_caloExtensionLocation
SG::ReadHandleKeyArray< CaloExtensionCollection > m_caloExtensionLocation
Definition: MuonCombinedInDetCandidateAlg.h:32
MuonCombinedInDetCandidateAlg::printTrackParticleInfo
void printTrackParticleInfo(const xAOD::TrackParticle *const tp, const std::string &what) const
Definition: MuonCombinedInDetCandidateAlg.cxx:143
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonCombinedInDetCandidateAlg::m_candidateCollectionName
SG::WriteHandleKey< InDetCandidateCollection > m_candidateCollectionName
Definition: MuonCombinedInDetCandidateAlg.h:42
InDetCandidateCollection.h
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
MuonCombinedInDetCandidateAlg::MuonCombinedInDetCandidateAlg
MuonCombinedInDetCandidateAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonCombinedInDetCandidateAlg.cxx:14
MuonStationIndex.h
MuonCombinedInDetCandidateAlg::m_forwardTrackSelector
ToolHandle< Trk::ITrackSelectorTool > m_forwardTrackSelector
Definition: MuonCombinedInDetCandidateAlg.h:46
MuonCombinedInDetCandidateAlg::m_extendBulk
Gaudi::Property< bool > m_extendBulk
Shall ordinary ID tracks be equiped with a muon system extension used by MuGirl later.
Definition: MuonCombinedInDetCandidateAlg.h:77
ITrackSelectorTool.h
MuonCombinedInDetCandidateAlg::m_indetForwardTrackParticleLocation
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_indetForwardTrackParticleLocation
Definition: MuonCombinedInDetCandidateAlg.h:37
TrackParticleContainer.h
MuonCombinedInDetCandidateAlg::InDetCandidateCache::inDetContainer
const xAOD::TrackParticleContainer * inDetContainer
Track particle container.
Definition: MuonCombinedInDetCandidateAlg.h:53