ATLAS Offline Software
Loading...
Searching...
No Matches
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
22public:
23 MuonCombinedInDetCandidateAlg(const std::string& name, ISvcLocator* pSvcLocator);
25
26 StatusCode initialize() override;
27 StatusCode execute(const EventContext& ctx) const override;
28
29private:
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
DataVector< Trk::CaloExtension > CaloExtensionCollection
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.
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_requireExtension
Reject muon candidates without a muon system extension – only effective if the candidate shall actual...
Gaudi::Property< float > m_extThreshold
Minimum pt threshold of the IdCandidate to be extrapolated through the spectrometer.
SG::ReadHandleKey< CaloExtensionCollection > m_caloFwdExtensionLocation
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_indetTrackParticleLocation
Gaudi::Property< bool > m_extendBulk
Shall ordinary ID tracks be equiped with a muon system extension used by MuGirl later.
Gaudi::Property< bool > m_extendSAF
Shall SAF tracks be equiped with a muon system extension used by MuGirl later.
SG::WriteHandleKey< InDetCandidateCollection > m_candidateCollectionName
ToolHandle< Muon::IMuonSystemExtensionTool > m_muonSystemExtensionTool
void printTrackParticleInfo(const xAOD::TrackParticle *const tp, const std::string &what) const
MuonCombinedInDetCandidateAlg(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
ToolHandle< Trk::ITrackSelectorTool > m_forwardTrackSelector
int getCount(const xAOD::TrackParticle &tp, xAOD::SummaryType type) const
StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_indetForwardTrackParticleLocation
StatusCode create(const EventContext &ctx, InDetCandidateCache &output_cache) const
bool isValidTrackParticle(const Trk::ITrackSelectorTool *currentTrackSelector, const xAOD::TrackParticle *const tp) const
SG::ReadHandleKeyArray< CaloExtensionCollection > m_caloExtensionLocation
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.
The abstract interface base class for track selector tools.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
@ OWN_ELEMENTS
this data object owns its elements
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
SummaryType
Enumerates the different types of information stored in Summary.
const CaloExtensionCollection * extensionContainer
Cache of the CaloExtensions.
bool flagAsSAF
Flag the candidates as sillicion forward associated.
std::unique_ptr< InDetCandidateCollection > outputContainer
Output container for the StoreGate.
const Trk::ITrackSelectorTool * trackSelector
Corresponding track selector.
const xAOD::TrackParticleContainer * inDetContainer
Track particle container.