|
ATLAS Offline Software
|
Go to the documentation of this file.
26 ATH_MSG_INFO(
"Successfully initialized using the following configuration -- SAF: "
31 return StatusCode::SUCCESS;
38 if (!readHandle.isValid()) {
40 return StatusCode::FAILURE;
42 output_cache.inDetContainer = readHandle.cptr();
46 if (!caloExtension.isValid()) {
48 return StatusCode::FAILURE;
50 output_cache.extensionContainer = caloExtension.cptr();
52 output_cache.extensionContainer =
nullptr;
58 if (!readHandle.isValid()) {
60 return StatusCode::FAILURE;
64 if (!caloExtension.isValid()) {
66 return StatusCode::FAILURE;
68 output_cache.extensionContainer = caloExtension.cptr();
70 output_cache.extensionContainer =
nullptr;
72 output_cache.inDetContainer = readHandle.cptr();
74 output_cache.flagAsSAF =
true;
79 ATH_CHECK(indetCandidateCollection.
record(std::move(output_cache.outputContainer)));
81 return StatusCode::SUCCESS;
93 }
else if (*link !=
tp) {
94 ATH_MSG_WARNING(
"Dereferenced Link not equal to TrackParticle, skipping track ");
105 ATH_MSG_VERBOSE(
" Truth particle: pdgId " << truth_part->
pdgId() <<
" type " << truthTypeAcc(*
tp) <<
" origin "
106 << truthOriginAcc(*
tp) <<
" pt " << truth_part->
pt() <<
" eta "
107 << truth_part->
eta() <<
" phi " << truth_part->
phi());
112 cache.
candidate = std::make_unique<InDetCandidate>(link);
123 return StatusCode::SUCCESS;
128 if (!
tp->perigeeParameters().covariance()) {
136 if (currentTrackSelector && !currentTrackSelector->
decision(*
tp)) {
144 ATH_MSG_DEBUG(
what <<
" InDet TrackParticle: pt " <<
tp->pt() <<
" eta " <<
tp->eta() <<
" phi " <<
tp->phi() <<
" Pixel "
151 if (!
tp.summaryValue(
val,
type))
return 0;
152 return static_cast<int>(
val);
bool isValidTrackParticle(const Trk::ITrackSelectorTool *currentTrackSelector, const xAOD::TrackParticle *const tp) const
SG::ReadHandleKey< CaloExtensionCollection > m_caloFwdExtensionLocation
StatusCode initialize() override
StatusCode create(const EventContext &ctx, InDetCandidateCache &output_cache) const
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
Gaudi::Property< bool > m_requireExtension
Reject muon candidates without a muon system extension – only effective if the candidate shall actual...
bool msgLvl(const MSG::Level lvl) const
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
#define ATH_MSG_VERBOSE(x)
bool flagAsSAF
Flag the candidates as sillicion forward associated.
Gaudi::Property< bool > m_doSiliconForwardMuons
bool isValid() const
Test to see if the link can be dereferenced.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_indetTrackParticleLocation
SummaryType
Enumerates the different types of information stored in Summary.
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
StatusCode execute(const EventContext &ctx) const override
const CaloExtensionCollection * extensionContainer
Cache of the CaloExtensions.
Gaudi::Property< float > m_extThreshold
Minimum pt threshold of the IdCandidate to be extrapolated through the spectrometer.
Gaudi::Property< bool > m_extendSAF
Shall SAF tracks be equiped with a muon system extension used by MuGirl later.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
int getCount(const xAOD::TrackParticle &tp, xAOD::SummaryType type) const
std::unique_ptr< InDetCandidateCollection > outputContainer
Output container for the StoreGate.
const Trk::ITrackSelectorTool * trackSelector
Corresponding track selector.
ToolHandle< Muon::IMuonSystemExtensionTool > m_muonSystemExtensionTool
const xAOD::TruthParticle * getTruthParticle(const xAOD::IParticle &p)
Return the truthParticle associated to the given IParticle (if any)
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
SG::ReadHandleKeyArray< CaloExtensionCollection > m_caloExtensionLocation
void printTrackParticleInfo(const xAOD::TrackParticle *const tp, const std::string &what) const
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
#define ATH_MSG_WARNING(x)
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
virtual double pt() const override final
The transverse momentum ( ) of the particle.
@ numberOfSCTHits
number of hits in SCT [unit8_t].
bool toPersistent()
Dummy function provinding the offline interface.
SG::WriteHandleKey< InDetCandidateCollection > m_candidateCollectionName
Class describing a TrackParticle.
MuonCombinedInDetCandidateAlg(const std::string &name, ISvcLocator *pSvcLocator)
Helper class to provide constant type-safe access to aux data.
ToolHandle< Trk::ITrackSelectorTool > m_forwardTrackSelector
Gaudi::Property< bool > m_extendBulk
Shall ordinary ID tracks be equiped with a muon system extension used by MuGirl later.
int pdgId() const
PDG ID code.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_indetForwardTrackParticleLocation
size_type size() const noexcept
Returns the number of elements in the collection.
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
const xAOD::TrackParticleContainer * inDetContainer
Track particle container.