33 ATH_MSG_INFO(
"Successfully initialized using the following configuration -- SAF: "
38 return StatusCode::SUCCESS;
43 unsigned int counter{0};
66 return StatusCode::SUCCESS;
75 if (!link.isValid()) {
78 }
else if (*link != tp) {
79 ATH_MSG_WARNING(
"Dereferenced Link not equal to TrackParticle, skipping track ");
85 if (
msgLvl(MSG::VERBOSE)) {
90 ATH_MSG_VERBOSE(
" Truth particle: pdgId " << truth_part->
pdgId() <<
" type " << truthTypeAcc(*tp) <<
" origin "
91 << truthOriginAcc(*tp) <<
" pt " << truth_part->
pt() <<
" eta "
92 << truth_part->
eta() <<
" phi " << truth_part->
phi());
97 cache.candidate = std::make_unique<InDetCandidate>(link);
98 cache.candidate->setSiliconAssociated(output_cache.
flagAsSAF);
99 cache.useHitSectors =
false;
102 (
m_extendBulk && !cache.candidate->isSiliconAssociated()));
108 return StatusCode::SUCCESS;
121 if (currentTrackSelector && !currentTrackSelector->
decision(*tp)) {
129 ATH_MSG_DEBUG(what <<
" InDet TrackParticle: pt " << tp->
pt() <<
" eta " << tp->
eta() <<
" phi " << tp->
phi() <<
" Pixel "
137 return static_cast<int>(val);
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
Helper class to provide constant type-safe access to aux data.
bool msgLvl(const MSG::Level lvl) const
size_type size() const noexcept
Returns the number of elements in the collection.
ElementLink implementation for ROOT usage.
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
Gaudi::Property< bool > m_waitForTrackLink
Schedule the data dependency on the trackLink decoration.
static int getCount(const xAOD::TrackParticle &tp, const xAOD::SummaryType type)
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
virtual StatusCode execute(const EventContext &ctx) const override final
Gaudi::Property< bool > m_doSiliconForwardMuons
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
ToolHandle< Trk::ITrackSelectorTool > m_forwardTrackSelector
virtual StatusCode initialize() override final
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::ReadDecorHandleKeyArray< xAOD::TrackParticleContainer > m_trkLinkKey
SG::ReadHandleKeyArray< CaloExtensionCollection > m_caloExtensionLocation
Helper class to provide constant type-safe access to aux data.
Property holding a SG store/key/clid from which a ReadHandle is made.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
const Trk::Track * track() const
Returns a pointer (which can be NULL) to the Trk::Track which was used to make this TrackParticle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .).
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
int pdgId() const
PDG ID code.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
const xAOD::TruthParticle * getTruthParticle(const xAOD::IParticle &p)
Return the truthParticle associated to the given IParticle (if any).
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TruthParticle_v1 TruthParticle
Typedef to implementation.
SummaryType
Enumerates the different types of information stored in Summary.
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
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.