9#ifndef INDETEXTENSIONPROCESSOR_H
10#define INDETEXTENSIONPROCESSOR_H
23#include "GaudiKernel/ToolHandle.h"
43 virtual StatusCode
execute(
const EventContext& ctx)
const;
46 MsgStream &
dumpStat(MsgStream &out)
const;
56 const std::vector<const Trk::MeasurementBase*>&)
const;
62 this,
"TrackName",
"Tracks",
"Name of the input Trackcollection"};
64 this,
"ExtensionMap",
"TrackExtensionMap",
"Name of the input extension map"};
66 this,
"NewTrackName",
"ExtendedTrack",
"Name of the output Trackcollection"};
69 this,
"TrackFitter",
"Trk::KalmanFitter/InDetTrackFitter",
70 "Toolhandle for the track fitter"};
73 this,
"TrackSummaryTool",
""};
76 this,
"ScoringTool",
"Trk::TrackScoringTool",
77 "Toolhandle for the track scorer"};
80 this,
"Cosmics",
false,
"switch whether we are running on cosmics"};
82 this,
"runOutlier",
true,
"switch whether to run outlier logics or not"};
84 this,
"keepFailedExtension",
true,
85 "switch whether to keep failed extension as outlier hits on the new track"};
87 this,
"RefitPrds",
true,
88 "switch whether to do the fit with re-calibrated clusters (true) or not"};
90 this,
"matEffects", 3,
91 "particle hypothesis to assume for material effects in track fit"};
93 this,
"suppressHoleSearch",
false,
"suppressing hole search for comparison"};
95 this,
"tryBremFit",
false,
"brem recovery mode"};
97 this,
"caloSeededBrem",
false,
"calo seeded brem recovery"};
99 this,
"pTminBrem", 1000.,
"min pT for trying a brem recovery"};
101 this,
"etaBounds", {0.8, 1.6, 2.10},
"eta intervals for internal monitoring"};
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Define macros for attributes used to control the static checker.
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteHandleKey< TrackCollection > m_newTrackName
IntegerProperty m_matEffects
virtual StatusCode finalize()
void incrementRegionCounter(std::array< std::atomic< int >, 4 > &, const Trk::Track *, bool=true) const
monitoring and validation: does success/failure counting for each detector region
Trk::Track * trackPlusExtension(const EventContext &ctx, const Trk::Track *, const std::vector< const Trk::MeasurementBase * > &) const
internal structuring: creates new track with original one plus extension as outliers
FloatProperty m_pTminBrem
StatIndex
internal monitoring: categories for counting different types of extension results
SG::ReadHandleKey< TrackCollection > m_trackName
BooleanProperty m_suppressHoleSearch
BooleanProperty m_caloSeededBrem
Trk::ParticleHypothesis m_particleHypothesis
nomen est omen
SG::ReadHandleKey< TrackExtensionMap > m_extensionMapName
PublicToolHandle< Trk::ITrackFitter > m_trackFitter
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
std::array< std::array< std::atomic< int >, Nregions >, nTypes > m_counters ATLAS_THREAD_SAFE
PublicToolHandle< Trk::ITrackScoringTool > m_scoringTool
BooleanProperty m_cosmics
Gaudi::Property< std::vector< float > > m_etabounds
virtual StatusCode initialize()
MsgStream & dumpStat(MsgStream &out) const
TrackCollection * createExtendedTracks(const EventContext &ctx, const TrackCollection *tracks_in, const TrackExtensionMap *track_extension_map) const
process events
BooleanProperty m_refitPrds
BooleanProperty m_keepFailedExtensionOnTrack
Gaudi::Property< Trk::RunOutlierRemoval > m_runOutlier
virtual StatusCode execute(const EventContext &ctx) const
BooleanProperty m_tryBremFit
InDetExtensionProcessor(const std::string &name, ISvcLocator *pSvcLocator)
Default Algorithm constructor with parameters.
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.
AUTO - An Undocumented Tracking Object.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.