 |
ATLAS Offline Software
|
Algorithm to process a TrackExtensionMap, refit the extended tracks and decide if the old track is to be replaced by the extended one.
More...
#include <InDetExtensionProcessor.h>
|
| InDetExtensionProcessor (const std::string &name, ISvcLocator *pSvcLocator) |
| Default Algorithm constructor with parameters. More...
|
|
virtual StatusCode | initialize () |
|
virtual StatusCode | execute (const EventContext &ctx) const |
|
virtual StatusCode | finalize () |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
enum | StatIndex {
iAll,
iBarrel,
iTransi,
iEndcap,
Nregions
} |
| internal monitoring: categories for counting different types of extension results More...
|
|
enum | StatTrkType {
nInput,
nRecognised,
nExtended,
nRejected,
nFailed,
nRecoveryBremFits,
nBremFits,
nFits,
nNotExtended,
nLowScoreBremFits,
nExtendedBrem,
nTypes
} |
|
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
|
|
MsgStream & | dumpStat (MsgStream &out) const |
|
TrackCollection * | createExtendedTracks (const EventContext &ctx, const TrackCollection *tracks_in, const TrackExtensionMap *track_extension_map) const |
| process events More...
|
|
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 More...
|
|
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 More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Algorithm to process a TrackExtensionMap, refit the extended tracks and decide if the old track is to be replaced by the extended one.
- Author
- Marku.nosp@m.s.El.nosp@m.sing@.nosp@m.cern.nosp@m..ch
Definition at line 37 of file InDetExtensionProcessor.h.
◆ StoreGateSvc_t
◆ StatIndex
internal monitoring: categories for counting different types of extension results
Enumerator |
---|
iAll | |
iBarrel | |
iTransi | |
iEndcap | |
Nregions | |
Definition at line 108 of file InDetExtensionProcessor.h.
◆ StatTrkType
Enumerator |
---|
nInput | |
nRecognised | |
nExtended | |
nRejected | |
nFailed | |
nRecoveryBremFits | |
nBremFits | |
nFits | |
nNotExtended | |
nLowScoreBremFits | |
nExtendedBrem | |
nTypes | |
Definition at line 112 of file InDetExtensionProcessor.h.
◆ InDetExtensionProcessor()
InDet::InDetExtensionProcessor::InDetExtensionProcessor |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ createExtendedTracks()
process events
Definition at line 93 of file InDetExtensionProcessor.cxx.
96 std::unique_ptr<TrackCollection> newTracks(std::make_unique<TrackCollection>());
97 std::array< std::array<std::atomic<int>,
Nregions>,
nTypes> counters{};
104 TrackExtensionMap::const_iterator pThisExtensionPair = trackExtensionMap->find(thisTrack);
106 if (pThisExtensionPair == trackExtensionMap->end()) {
107 ATH_MSG_DEBUG(
"track not in extension map, copy original track to output");
109 std::unique_ptr<Trk::Track> ntrk(std::make_unique<Trk::Track>(*thisTrack));
111 newTracks->push_back(std::move(ntrk));
115 ATH_MSG_DEBUG(
"track found in extension map, processing...");
119 std::unique_ptr<Trk::Track> newtrack;
123 const auto nRIO_OnTrack {pThisExtensionPair->second.size()};
124 std::vector<const Trk::PrepRawData*> vecPrd;
125 vecPrd.reserve(nRIO_OnTrack);
132 const auto& theRIOs_OnTrack {pThisExtensionPair->second};
134 std::transform(theRIOs_OnTrack.begin(), theRIOs_OnTrack.end(), std::back_inserter(vecPrd), getPrepRawDataPtr);
136 ATH_MSG_DEBUG(
"fit track " << thisTrack <<
" with PRDs, number : " << vecPrd.size());
154 thisTrack->trackParameters()->front()->pT() >
m_pTminBrem &&
157 ATH_MSG_DEBUG(
"normal fit track failed, try to recover with brem fit");
166 std::vector<const Trk::PrepRawData*> vecPrdComb;
168 const Trk::Perigee* siPerigee = thisTrack->perigeeParameters();
174 std::unique_ptr<Trk::Track> ntrk(std::make_unique< Trk::Track>(*thisTrack));
176 newTracks->push_back(std::move(ntrk));
180 pThisExtensionPair->first->measurementsOnTrack()->
begin();
181 for (; RIOit != pThisExtensionPair->first->measurementsOnTrack()->
end(); ++RIOit) {
183 if (!rot)
ATH_MSG_ERROR(
"cast to ROT failed, should not happen here !");
187 for (
auto &
i : vecPrd) {
189 (
i->detectorElement()->surface(
i->identify()).center() - siPerigee->position()).
dot(
190 siPerigee->momentum());
192 vecPrdComb.insert(vecPrdComb.begin(),
i);
194 vecPrdComb.push_back(
i);
205 const auto& RIOs_OnTrack {pThisExtensionPair->second};
207 ATH_MSG_DEBUG(
"fit track " << thisTrack <<
" with ROTs, number : " << RIOs_OnTrack.size());
222 thisTrack->trackParameters()->front()->pT() >
m_pTminBrem &&
224 ATH_MSG_DEBUG(
"normal fit track failed, try to recover with brem fit");
235 const Trk::Perigee* siPerigee = thisTrack->perigeeParameters();
241 std::unique_ptr<Trk::Track> ntrk(std::make_unique< Trk::Track>(*thisTrack));
243 newTracks->push_back(std::move(ntrk));
247 pThisExtensionPair->first->measurementsOnTrack()->
begin();
248 for (; RIOit != pThisExtensionPair->first->measurementsOnTrack()->
end(); ++RIOit) {
249 rotSet.push_back(*RIOit);
252 for (
const auto *
i : pThisExtensionPair->second) {
253 double inprod = (
i->associatedSurface().center() - siPerigee->position()).
dot(
254 siPerigee->momentum());
256 rotSet.insert(rotSet.begin(),
i);
270 ATH_MSG_DEBUG(
"refit of extended track failed, copy original track to output");
278 std::unique_ptr<Trk::Track> ntrk(std::make_unique<Trk::Track>(*thisTrack));
280 newTracks->push_back(std::move(ntrk));
287 bool passBasicSelections =
m_scoringTool->passBasicSelections(*newtrack);
288 if(passBasicSelections){
292 bool recheckBasicSel =
false;
299 thisTrack->trackParameters()->front()->pT() >
m_pTminBrem &&
301 ATH_MSG_DEBUG(
"new track has low score, try to recover track using brem fit");
304 std::unique_ptr<Trk::Track> newBremTrack;
318 ATH_MSG_DEBUG(
"recovered new track has score : " << newScore);
320 newtrack = std::move(newBremTrack);
323 if (newScore >= oldScore) {
334 newTracks->push_back(std::move(newtrack));
340 std::unique_ptr<Trk::Track> ntrk;
344 ntrk = std::make_unique<Trk::Track>(*thisTrack);
347 newTracks->push_back(std::move(ntrk));
357 return newTracks.release();
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ dumpStat()
MsgStream & InDet::InDetExtensionProcessor::dumpStat |
( |
MsgStream & |
out | ) |
const |
|
private |
Definition at line 456 of file InDetExtensionProcessor.cxx.
460 out <<
"-------------------------------------------------------------------------------" << std::endl;
461 out <<
" Number of events processed : " << m_Nevents << std::endl;
462 out <<
" statistics by eta range ------All---Barrel---Trans.-- Endcap-- " << std::endl;
463 out <<
"-------------------------------------------------------------------------------" << std::endl;
464 out <<
" Number of tracks at input :" << std::setiosflags(std::ios::dec) << std::setw(iw)
469 out <<
" Number of not extended tracks :" << std::setiosflags(std::ios::dec) << std::setw(iw)
477 out <<
" Number of proposed ext. roads :" << std::setiosflags(std::ios::dec) << std::setw(iw)
484 out <<
"-------------------------------------------------------------------------------" << std::endl;
485 out <<
" Number of track fits :" << std::setiosflags(std::ios::dec) << std::setw(iw)
491 out <<
" + brem fits for electron tracks :" << std::setiosflags(std::ios::dec) << std::setw(iw)
498 out <<
" + brem fit to recover failed fit:" << std::setiosflags(std::ios::dec) << std::setw(iw)
506 out <<
" + brem fit to recover low score :" << std::setiosflags(std::ios::dec) << std::setw(iw)
515 out <<
"-------------------------------------------------------------------------------" << std::endl;
516 out <<
" Number of track fit failing :" << std::setiosflags(std::ios::dec) << std::setw(iw)
521 out <<
" Number of rejected extensions :" << std::setiosflags(std::ios::dec) << std::setw(iw)
528 out <<
" Number of successful extensions :" << std::setiosflags(std::ios::dec) << std::setw(iw)
536 out <<
" including brem fitted tracks :" << std::setiosflags(std::ios::dec) << std::setw(iw)
545 out <<
"-------------------------------------------------------------------------------" << std::endl;
546 out << std::setiosflags(std::ios::fixed | std::ios::showpoint) << std::setprecision(2)
548 <<
" < Endcap < " <<
m_etabounds[2] <<
" )" << std::setprecision(-1) << std::endl;
549 out <<
"-------------------------------------------------------------------------------" << std::endl;
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode InDet::InDetExtensionProcessor::execute |
( |
const EventContext & |
ctx | ) |
const |
|
virtual |
Definition at line 71 of file InDetExtensionProcessor.cxx.
76 const auto nTracks {tracks->size()};
83 ATH_CHECK(extendedTracksResult.record(std::unique_ptr<TrackCollection>(
86 <<
"' recorded in StoreGate, size : "
87 << extendedTracksResult->size());
88 if (extendedTracksResult->size() != nTracks)
ATH_MSG_WARNING(
"Lost tracks after extension ??? This is a bug !");
89 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ finalize()
StatusCode InDet::InDetExtensionProcessor::finalize |
( |
| ) |
|
|
virtual |
◆ incrementRegionCounter()
void InDet::InDetExtensionProcessor::incrementRegionCounter |
( |
std::array< std::atomic< int >, 4 > & |
Ntracks, |
|
|
const Trk::Track * |
track, |
|
|
bool |
updateAll = true |
|
) |
| const |
|
private |
monitoring and validation: does success/failure counting for each detector region
Definition at line 362 of file InDetExtensionProcessor.cxx.
370 const auto *
const pTrackParameters {
track->trackParameters()};
372 if (not pTrackParameters) {
373 ATH_MSG_WARNING(
"No track parameters, needed for statistics code in Trk::SimpleAmbiguityProcessorTool!");
375 const double absEta = std::abs(pTrackParameters->front()->eta());
◆ initialize()
StatusCode InDet::InDetExtensionProcessor::initialize |
( |
| ) |
|
|
virtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ trackPlusExtension()
internal structuring: creates new track with original one plus extension as outliers
Definition at line 385 of file InDetExtensionProcessor.cxx.
391 auto pExtendedTrajectory = std::make_unique<Trk::TrackStates>();
393 pExtendedTrajectory->reserve(trackStatesOnSurfaces.size() + extension.size());
394 int nSiStates = 0, nExtStates = 0;
399 std::transform(trackStatesOnSurfaces.begin(), trackStatesOnSurfaces.end(), std::back_inserter(
400 *pExtendedTrajectory), cloneTSOS);
401 nSiStates += trackStatesOnSurfaces.size();
404 constexpr std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> outlierPattern(outlierDigit);
410 auto addNewTSOS_ForCosmics = [&pExtendedTrajectory, siTrack, createNewTSOS](
const Trk::MeasurementBase* pm) {
411 const auto& perigee {siTrack->perigeeParameters()};
413 const double inprod = (pm->associatedSurface().center() - perigee->position()).
dot(
414 perigee->momentum());
416 pExtendedTrajectory->insert(pExtendedTrajectory->begin(), createNewTSOS(pm));
418 pExtendedTrajectory->push_back(createNewTSOS(pm));
423 std::transform(extension.begin(), extension.end(), std::back_inserter(*pExtendedTrajectory), createNewTSOS);
426 for (
const auto *
const pMeasurementBase: extension) {
427 addNewTSOS_ForCosmics(pMeasurementBase);
430 nExtStates += pExtendedTrajectory->size();
431 const auto& pFitQuality {siTrack->fitQuality()};
433 new Trk::Track(siTrack->info(), std::move(pExtendedTrajectory), (pFitQuality ? pFitQuality->uniqueClone() :
nullptr));
438 ATH_MSG_DEBUG(
"rejected extension saved as Trk::Track with " << nSiStates <<
439 " fitted hits and " << nExtStates <<
" additional Outliers, score :" << extScore);
◆ updateVHKA()
◆ ATLAS_THREAD_SAFE [1/2]
std::array< std::array<std::atomic<int>, Nregions>, nTypes > m_counters InDet::InDetExtensionProcessor::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [2/2]
std::atomic<int> m_Nevents InDet::InDetExtensionProcessor::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ m_caloSeededBrem
BooleanProperty InDet::InDetExtensionProcessor::m_caloSeededBrem |
|
private |
◆ m_cosmics
BooleanProperty InDet::InDetExtensionProcessor::m_cosmics |
|
private |
Initial value:{
this, "Cosmics", false, "switch whether we are running on cosmics"}
Definition at line 79 of file InDetExtensionProcessor.h.
◆ m_detStore
◆ m_etabounds
Gaudi::Property<std::vector<float> > InDet::InDetExtensionProcessor::m_etabounds |
|
private |
Initial value:{
this, "etaBounds", {0.8, 1.6, 2.10}, "eta intervals for internal monitoring"}
Definition at line 100 of file InDetExtensionProcessor.h.
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_extensionMapName
Initial value:{
this, "ExtensionMap", "TrackExtensionMap", "Name of the input extension map"}
Definition at line 63 of file InDetExtensionProcessor.h.
◆ m_keepFailedExtensionOnTrack
BooleanProperty InDet::InDetExtensionProcessor::m_keepFailedExtensionOnTrack |
|
private |
Initial value:{
this, "keepFailedExtension", true,
"switch whether to keep failed extension as outlier hits on the new track"}
Definition at line 83 of file InDetExtensionProcessor.h.
◆ m_matEffects
IntegerProperty InDet::InDetExtensionProcessor::m_matEffects |
|
private |
Initial value:{
this, "matEffects", 3,
"particle hypothesis to assume for material effects in track fit"}
Definition at line 89 of file InDetExtensionProcessor.h.
◆ m_newTrackName
Initial value:{
this, "NewTrackName", "ExtendedTrack", "Name of the output Trackcollection"}
Definition at line 65 of file InDetExtensionProcessor.h.
◆ m_particleHypothesis
◆ m_pTminBrem
FloatProperty InDet::InDetExtensionProcessor::m_pTminBrem |
|
private |
Initial value:{
this, "pTminBrem", 1000., "min pT for trying a brem recovery"}
Definition at line 98 of file InDetExtensionProcessor.h.
◆ m_refitPrds
BooleanProperty InDet::InDetExtensionProcessor::m_refitPrds |
|
private |
Initial value:{
this, "RefitPrds", true,
"switch whether to do the fit with re-calibrated clusters (true) or not"}
Definition at line 86 of file InDetExtensionProcessor.h.
◆ m_runOutlier
Initial value:{
this, "runOutlier", true, "switch whether to run outlier logics or not"}
Definition at line 81 of file InDetExtensionProcessor.h.
◆ m_scoringTool
Initial value:{
this, "ScoringTool", "Trk::TrackScoringTool",
"Toolhandle for the track scorer"}
Definition at line 75 of file InDetExtensionProcessor.h.
◆ m_suppressHoleSearch
BooleanProperty InDet::InDetExtensionProcessor::m_suppressHoleSearch |
|
private |
Initial value:{
this, "suppressHoleSearch", false, "suppressing hole search for comparison"}
Definition at line 92 of file InDetExtensionProcessor.h.
◆ m_trackFitter
Initial value:{
this, "TrackFitter", "Trk::KalmanFitter/InDetTrackFitter",
"Toolhandle for the track fitter"}
Definition at line 68 of file InDetExtensionProcessor.h.
◆ m_trackName
Initial value:{
this, "TrackName", "Tracks", "Name of the input Trackcollection"}
Definition at line 61 of file InDetExtensionProcessor.h.
◆ m_trackSummaryTool
◆ m_tryBremFit
BooleanProperty InDet::InDetExtensionProcessor::m_tryBremFit |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
Contains information about the 'fitter' of this track.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
PublicToolHandle< Trk::ITrackFitter > m_trackFitter
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
FloatProperty m_pTminBrem
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
const TrackInfo & info() const
Returns a const ref to info of a const tracks.
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
BooleanProperty m_suppressHoleSearch
bool msgLvl(const MSG::Level lvl) const
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
Gaudi::Property< Trk::RunOutlierRemoval > m_runOutlier
virtual void setOwner(IDataHandleHolder *o)=0
An algorithm that can be simultaneously executed in multiple threads.
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
IntegerProperty m_matEffects
void addPatternReco(const TrackInfo &)
A method adding just pattern recognition info without adding the actual properties.
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
BooleanProperty m_keepFailedExtensionOnTrack
BooleanProperty m_tryBremFit
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
::StatusCode StatusCode
StatusCode definition for legacy code.
TrackCollection * createExtendedTracks(const EventContext &ctx, const TrackCollection *tracks_in, const TrackExtensionMap *track_extension_map) const
process events
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
@ InDetExtensionProcessor
Tracks with InDetExtensionProcessor used.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
@ BremFit
A brem fit was performed on this track.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
@ TrackInCaloROI
A track in a CaloROI.
PublicToolHandle< Trk::ITrackScoringTool > m_scoringTool
BooleanProperty m_refitPrds
def dot(G, fn, nodesToHighlight=[])
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
virtual void renounce()=0
std::vector< const MeasurementBase * > MeasurementSet
vector of fittable measurements
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
represents the track state (measurement, material, fit parameters and quality) at a surface.
Gaudi::Property< std::vector< float > > m_etabounds
SG::ReadHandleKey< TrackCollection > m_trackName
MsgStream & dumpStat(MsgStream &out) const
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
BooleanProperty m_cosmics
#define ATH_MSG_WARNING(x)
bool absEta(const xAOD::TauJet &tau, double &out)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual StatusCode sysInitialize() override
Override sysInitialize.
BooleanProperty m_caloSeededBrem
void setPatternRecognitionInfo(const TrackPatternRecoInfo &patternReco)
Method setting the pattern recognition algorithm.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
SG::ReadHandleKey< TrackExtensionMap > m_extensionMapName
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
bool trackProperties(const TrackProperties &property) const
Access methods for track properties.
Trk::ParticleHypothesis m_particleHypothesis
nomen est omen
SG::WriteHandleKey< TrackCollection > m_newTrackName
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.