|
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 90 of file InDetExtensionProcessor.h.
◆ StatTrkType
Enumerator |
---|
nInput | |
nRecognised | |
nExtended | |
nRejected | |
nFailed | |
nRecoveryBremFits | |
nBremFits | |
nFits | |
nNotExtended | |
nLowScoreBremFits | |
nExtendedBrem | |
nTypes | |
Definition at line 94 of file InDetExtensionProcessor.h.
◆ InDetExtensionProcessor()
InDet::InDetExtensionProcessor::InDetExtensionProcessor |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
Default Algorithm constructor with parameters.
Definition at line 38 of file InDetExtensionProcessor.cxx.
64 "switch whether to keep failed extension as outlier hits on the new track");
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
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 55 of file AthReentrantAlgorithm.cxx.
◆ createExtendedTracks()
process events
Definition at line 123 of file InDetExtensionProcessor.cxx.
126 std::unique_ptr<TrackCollection> newTracks(std::make_unique<TrackCollection>());
127 std::array< std::array<std::atomic<int>,
Nregions>,
nTypes> counters{};
129 for (
const Trk::Track* thisTrack : *pTracks) {
134 TrackExtensionMap::const_iterator pThisExtensionPair = trackExtensionMap->find(thisTrack);
136 if (pThisExtensionPair == trackExtensionMap->end()) {
137 ATH_MSG_DEBUG(
"track not in extension map, copy original track to output");
139 std::unique_ptr<Trk::Track> ntrk(std::make_unique<Trk::Track>(*thisTrack));
141 newTracks->push_back(std::move(ntrk));
145 ATH_MSG_DEBUG(
"track found in extension map, processing...");
149 std::unique_ptr<Trk::Track> newtrack;
153 const auto nRIO_OnTrack {pThisExtensionPair->second.size()};
154 std::vector<const Trk::PrepRawData*> vecPrd;
155 vecPrd.reserve(nRIO_OnTrack);
162 const auto& theRIOs_OnTrack {pThisExtensionPair->second};
164 std::transform(theRIOs_OnTrack.begin(), theRIOs_OnTrack.end(), std::back_inserter(vecPrd), getPrepRawDataPtr);
166 ATH_MSG_DEBUG(
"fit track " << thisTrack <<
" with PRDs, number : " << vecPrd.size());
184 thisTrack->trackParameters()->front()->pT() >
m_pTminBrem &&
187 ATH_MSG_DEBUG(
"normal fit track failed, try to recover with brem fit");
196 std::vector<const Trk::PrepRawData*> vecPrdComb;
198 const Trk::Perigee* siPerigee = thisTrack->perigeeParameters();
204 std::unique_ptr<Trk::Track> ntrk(std::make_unique< Trk::Track>(*thisTrack));
206 newTracks->push_back(std::move(ntrk));
210 pThisExtensionPair->first->measurementsOnTrack()->
begin();
211 for (; RIOit != pThisExtensionPair->first->measurementsOnTrack()->
end(); ++RIOit) {
213 if (!rot)
ATH_MSG_ERROR(
"cast to ROT failed, should not happen here !");
217 for (
auto &
i : vecPrd) {
219 (
i->detectorElement()->surface(
i->identify()).center() - siPerigee->position()).
dot(
220 siPerigee->momentum());
222 vecPrdComb.insert(vecPrdComb.begin(),
i);
224 vecPrdComb.push_back(
i);
235 const auto& RIOs_OnTrack {pThisExtensionPair->second};
237 ATH_MSG_DEBUG(
"fit track " << thisTrack <<
" with ROTs, number : " << RIOs_OnTrack.size());
252 thisTrack->trackParameters()->front()->pT() >
m_pTminBrem &&
254 ATH_MSG_DEBUG(
"normal fit track failed, try to recover with brem fit");
265 const Trk::Perigee* siPerigee = thisTrack->perigeeParameters();
271 std::unique_ptr<Trk::Track> ntrk(std::make_unique< Trk::Track>(*thisTrack));
273 newTracks->push_back(std::move(ntrk));
277 pThisExtensionPair->first->measurementsOnTrack()->
begin();
278 for (; RIOit != pThisExtensionPair->first->measurementsOnTrack()->
end(); ++RIOit) {
279 rotSet.push_back(*RIOit);
282 for (
const auto *
i : pThisExtensionPair->second) {
283 double inprod = (
i->associatedSurface().center() - siPerigee->position()).
dot(
284 siPerigee->momentum());
286 rotSet.insert(rotSet.begin(),
i);
300 ATH_MSG_DEBUG(
"refit of extended track failed, copy original track to output");
308 std::unique_ptr<Trk::Track> ntrk(std::make_unique<Trk::Track>(*thisTrack));
310 newTracks->push_back(std::move(ntrk));
324 thisTrack->trackParameters()->front()->pT() >
m_pTminBrem &&
326 ATH_MSG_DEBUG(
"new track has low score, try to recover track using brem fit");
329 std::unique_ptr<Trk::Track> newBremTrack;
343 ATH_MSG_DEBUG(
"recovered new track has score : " << newScore);
345 newtrack = std::move(newBremTrack);
348 if (newScore >= oldScore) {
359 newTracks->push_back(std::move(newtrack));
365 std::unique_ptr<Trk::Track> ntrk;
369 ntrk = std::make_unique<Trk::Track>(*thisTrack);
372 newTracks->push_back(std::move(ntrk));
382 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 481 of file InDetExtensionProcessor.cxx.
485 out <<
"-------------------------------------------------------------------------------" << std::endl;
486 out <<
" Number of events processed : " << m_Nevents << std::endl;
487 out <<
" statistics by eta range ------All---Barrel---Trans.-- Endcap-- " << std::endl;
488 out <<
"-------------------------------------------------------------------------------" << std::endl;
489 out <<
" Number of tracks at input :" << std::setiosflags(std::ios::dec) << std::setw(iw)
494 out <<
" Number of not extended tracks :" << std::setiosflags(std::ios::dec) << std::setw(iw)
502 out <<
" Number of proposed ext. roads :" << std::setiosflags(std::ios::dec) << std::setw(iw)
509 out <<
"-------------------------------------------------------------------------------" << std::endl;
510 out <<
" Number of track fits :" << std::setiosflags(std::ios::dec) << std::setw(iw)
516 out <<
" + brem fits for electron tracks :" << std::setiosflags(std::ios::dec) << std::setw(iw)
523 out <<
" + brem fit to recover failed fit:" << std::setiosflags(std::ios::dec) << std::setw(iw)
531 out <<
" + brem fit to recover low score :" << std::setiosflags(std::ios::dec) << std::setw(iw)
540 out <<
"-------------------------------------------------------------------------------" << std::endl;
541 out <<
" Number of track fit failing :" << std::setiosflags(std::ios::dec) << std::setw(iw)
546 out <<
" Number of rejected extensions :" << std::setiosflags(std::ios::dec) << std::setw(iw)
553 out <<
" Number of successful extensions :" << std::setiosflags(std::ios::dec) << std::setw(iw)
561 out <<
" including brem fitted tracks :" << std::setiosflags(std::ios::dec) << std::setw(iw)
570 out <<
"-------------------------------------------------------------------------------" << std::endl;
571 out << std::setiosflags(std::ios::fixed | std::ios::showpoint) << std::setprecision(2)
573 <<
" < Endcap < " <<
m_etabounds[2] <<
" )" << std::setprecision(-1) << std::endl;
574 out <<
"-------------------------------------------------------------------------------" << std::endl;
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode InDet::InDetExtensionProcessor::execute |
( |
const EventContext & |
ctx | ) |
const |
|
virtual |
Definition at line 101 of file InDetExtensionProcessor.cxx.
106 const auto nTracks {tracks->size()};
113 ATH_CHECK(extendedTracksResult.record(std::unique_ptr<TrackCollection>(
116 <<
"' recorded in StoreGate, size : "
117 << extendedTracksResult->size());
118 if (extendedTracksResult->size() != nTracks)
ATH_MSG_WARNING(
"Lost tracks after extension ??? This is a bug !");
119 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()
const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ 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 387 of file InDetExtensionProcessor.cxx.
395 const auto *
const pTrackParameters {
track->trackParameters()};
397 if (not pTrackParameters) {
398 ATH_MSG_WARNING(
"No track parameters, needed for statistics code in Trk::SimpleAmbiguityProcessorTool!");
400 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()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, SCT_PrepDataToxAOD, RoIBResultToxAOD, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, InDet::SiSPGNNTrackMaker, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ 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()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
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 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
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 96 of file AthReentrantAlgorithm.cxx.
105 if (
h->isCondition() &&
h->mode() == Gaudi::DataHandle::Writer) {
107 if (
cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (
cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 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 410 of file InDetExtensionProcessor.cxx.
416 auto pExtendedTrajectory = std::make_unique<Trk::TrackStates>();
418 pExtendedTrajectory->reserve(trackStatesOnSurfaces.size() + extension.size());
419 int nSiStates = 0, nExtStates = 0;
424 std::transform(trackStatesOnSurfaces.begin(), trackStatesOnSurfaces.end(), std::back_inserter(
425 *pExtendedTrajectory), cloneTSOS);
426 nSiStates += trackStatesOnSurfaces.size();
429 constexpr std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> outlierPattern(outlierDigit);
435 auto addNewTSOS_ForCosmics = [&pExtendedTrajectory, siTrack, createNewTSOS](
const Trk::MeasurementBase* pm) {
436 const auto& perigee {siTrack->perigeeParameters()};
438 const double inprod = (pm->associatedSurface().center() - perigee->position()).
dot(
439 perigee->momentum());
441 pExtendedTrajectory->insert(pExtendedTrajectory->begin(), createNewTSOS(pm));
443 pExtendedTrajectory->push_back(createNewTSOS(pm));
448 std::transform(extension.begin(), extension.end(), std::back_inserter(*pExtendedTrajectory), createNewTSOS);
451 for (
const auto *
const pMeasurementBase: extension) {
452 addNewTSOS_ForCosmics(pMeasurementBase);
455 nExtStates += pExtendedTrajectory->size();
456 const auto& pFitQuality {siTrack->fitQuality()};
458 new Trk::Track(siTrack->info(), std::move(pExtendedTrajectory), (pFitQuality ? pFitQuality->uniqueClone() :
nullptr));
463 ATH_MSG_DEBUG(
"rejected extension saved as Trk::Track with " << nSiStates <<
464 " 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
bool InDet::InDetExtensionProcessor::m_caloSeededBrem |
|
private |
◆ m_cosmics
bool InDet::InDetExtensionProcessor::m_cosmics |
|
private |
◆ m_detStore
◆ m_etabounds
std::vector<float> InDet::InDetExtensionProcessor::m_etabounds |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_extensionMapName
◆ m_keepFailedExtensionOnTrack
bool InDet::InDetExtensionProcessor::m_keepFailedExtensionOnTrack |
|
private |
◆ m_matEffects
int InDet::InDetExtensionProcessor::m_matEffects |
|
private |
◆ m_newTrackName
◆ m_particleHypothesis
◆ m_pTminBrem
float InDet::InDetExtensionProcessor::m_pTminBrem |
|
private |
◆ m_refitPrds
bool InDet::InDetExtensionProcessor::m_refitPrds |
|
private |
fitter steering: whether to do the fit with re-calibrated clusters (true) or not
Definition at line 78 of file InDetExtensionProcessor.h.
◆ m_runOutlier
◆ m_scoringTool
◆ m_suppressHoleSearch
bool InDet::InDetExtensionProcessor::m_suppressHoleSearch |
|
private |
◆ m_trackFitter
◆ m_trackName
◆ m_trackSummaryTool
◆ m_tryBremFit
bool 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
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
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.
bool m_keepFailedExtensionOnTrack
switch whether to append a rejected extension as outlier trajectory
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
bool msgLvl(const MSG::Level lvl) const
bool m_suppressHoleSearch
no hole search ?
bool m_tryBremFit
brem recovery mode ?
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
Trk::RunOutlierRemoval m_runOutlier
whether to run outlier logics
virtual void setOwner(IDataHandleHolder *o)=0
bool m_refitPrds
fitter steering: whether to do the fit with re-calibrated clusters (true) or not
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
void addPatternReco(const TrackInfo &)
A method adding just pattern recognition info without adding the actual properties.
ToolHandle< Trk::ITrackFitter > m_trackFitter
track fitter tool handle
AthReentrantAlgorithm()
Default constructor:
bool m_cosmics
whether we are running cosmics
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
ToolHandle< Trk::ITrackScoringTool > m_scoringTool
track scorer tool handle
::StatusCode StatusCode
StatusCode definition for legacy code.
TrackCollection * createExtendedTracks(const EventContext &ctx, const TrackCollection *tracks_in, const TrackExtensionMap *track_extension_map) const
process events
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.
float m_pTminBrem
min pt for a brem fit
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
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.
bool m_caloSeededBrem
run in Calo seeded mode
SG::ReadHandleKey< TrackCollection > m_trackName
Name of input Trackcollection.
virtual StatusCode sysInitialize() override
Override sysInitialize.
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.
std::vector< float > m_etabounds
eta intervals for internal monitoring
int m_matEffects
type of material interaction in extrapolation
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
void setPatternRecognitionInfo(const TrackPatternRecoInfo &patternReco)
Method setting the pattern recognition algorithm.
SG::ReadHandleKey< TrackExtensionMap > m_extensionMapName
Name of input extension map.
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
Name of output Trackcollection.
void dot(const Digraph &G, const std::string &fn)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.