|
ATLAS Offline Software
|
#include <InDetRecStatisticsAlg.h>
|
| InDetRecStatisticsAlg (const std::string &name, ISvcLocator *pSvcLocator) |
| Default Constructor. More...
|
|
StatusCode | initialize () |
| Initialization of services, track collections, creates TrackStatHelper for each Track Collection. More...
|
|
StatusCode | execute (const EventContext &ctx) const |
| Calculation of statistics. More...
|
|
StatusCode | finalize () |
| Statistics table printed, collection cleared. More...
|
|
StatusCode | getServices () |
| Get various services such as StoreGate, dictionaries, detector managers etc. More...
|
|
StatusCode | resetStatistics () |
| Clear statistics counters, called before each track collection is processed. More...
|
|
void | printStatistics () |
| Print tracking statistics calculated with TrackStatHelper. More...
|
|
void | printTrackSummary (MsgStream &out, enum eta_region) |
| Print track statistics for all and low proability tracks. More...
|
|
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 |
|
|
void | selectGenSignal (const McEventCollection *, std::vector< std::pair< HepMC::ConstGenParticlePtr, int > > &, unsigned int, unsigned int, CounterLocal &counter) const |
| Select charged,stable particles which pass pt and eta cuts for analysis. More...
|
|
void | selectRecSignal (const TrackCollection *, std::vector< const Trk::Track * > &, std::vector< const Trk::Track * > &, CounterLocal &counter) const |
| Select for analysis reconstructed tracks passing Pt and eta cuts. More...
|
|
const Trk::TrackParameters * | getUnbiasedTrackParameters (const Trk::TrackParameters *, const Trk::MeasurementBase *) |
| Get Unbiased Track Parameters. More...
|
|
Identifier | getIdentifier (const Trk::MeasurementBase *measurement) |
|
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...
|
|
Definition at line 46 of file InDetRecStatisticsAlg.h.
◆ CounterLocal
◆ StoreGateSvc_t
◆ ECounter
Enumerator |
---|
kN_rec_tracks_without_perigee | number of tracks w/o perigee
|
kN_unknown_hits | number of hits without track
|
kN_rec_tracks_processed | number of reconstructed tracks processed
|
kN_gen_tracks_processed | number of generated tracks processed
|
kN_spacepoints_processed | number of space points processed
|
kNCounter | |
Definition at line 147 of file InDetRecStatisticsAlg.h.
◆ InDetRecStatisticsAlg()
InDet::InDetRecStatisticsAlg::InDetRecStatisticsAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
Default Constructor.
Definition at line 72 of file InDetRecStatisticsAlg.cxx.
116 "Measurement updator to calculate unbiased track states");
118 "Tool to calculate residuals and pulls");
◆ calculatePull()
float InDet::InDetRecStatisticsAlg::calculatePull |
( |
const float |
residual, |
|
|
const float |
trkErr, |
|
|
const float |
hitErr |
|
) |
| |
|
staticprivate |
Calculate pull from residual, track and hit error.
Definition at line 769 of file InDetRecStatisticsAlg.cxx.
773 ErrorSum = sqrt(
pow(trkErr, 2) +
pow(hitErr, 2));
774 if (ErrorSum != 0) {
return residual/ErrorSum; }
◆ 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.
◆ 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()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode InDet::InDetRecStatisticsAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
Calculation of statistics.
Definition at line 263 of file InDetRecStatisticsAlg.cxx.
276 return StatusCode::SUCCESS;
289 std::vector <std::pair<HepMC::ConstGenParticlePtr,int> > GenSignal;
291 unsigned int inTimeStart = 0;
292 unsigned int inTimeEnd = 0;
299 ATH_MSG_ERROR(
"No reco track collection specified! Aborting.");
300 return StatusCode::FAILURE;
304 std::vector< SG::ReadHandle<TrackTruthCollection> > truth_track_collections;
307 if (truth_track_collections.size() != rec_track_collections.size()) {
308 ATH_MSG_ERROR(
"Different number of reco and truth track collections (" << rec_track_collections.size() <<
"!=" << truth_track_collections.size() <<
")" );
312 ATH_MSG_ERROR(
"Number expected reco track collections does not match the actual number of such collections ("
313 <<
m_SignalCounters.size() <<
"!=" << rec_track_collections.size() <<
")" );
316 std::vector< SG::ReadHandle<TrackCollection> >
::iterator rec_track_collections_iter = rec_track_collections.begin();
317 std::vector< SG::ReadHandle<TrackTruthCollection> >
::iterator truth_track_collections_iter = truth_track_collections.begin();
318 for (std::vector <class TrackStatHelper *>::const_iterator statHelper
321 ++statHelper, ++rec_track_collections_iter) {
322 assert( rec_track_collections_iter != rec_track_collections.end());
325 const TrackCollection * RecCollection = &(**rec_track_collections_iter);
328 if (RecCollection)
ATH_MSG_DEBUG(
"Retrieved " << RecCollection->
size() <<
" reconstructed tracks from storegate");
332 assert( truth_track_collections_iter != truth_track_collections.end());
333 TruthMap = &(**truth_track_collections_iter);
334 if (TruthMap)
ATH_MSG_DEBUG(
"Retrieved " << TruthMap->size() <<
" TrackTruth elements from storegate");
335 ++truth_track_collections_iter;
340 std::vector <const Trk::Track *> RecTracks, RecSignal;
344 " RecTracks.size()=" << RecTracks.size()
345 <<
", GenSignal.size()=" << GenSignal.size());
348 (*statHelper)->addEvent (RecCollection,
363 it < RecCollection->
end(); ++
it){
364 std::vector<const Trk::RIO_OnTrack*> rioOnTracks;
366 (*it)->measurementsOnTrack()->stdcont() );
374 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::InDetRecStatisticsAlg::finalize |
( |
| ) |
|
Statistics table printed, collection cleared.
Definition at line 380 of file InDetRecStatisticsAlg.cxx.
387 for (std::vector <class TrackStatHelper *>::const_iterator collection =
391 delete (*collection);
394 return StatusCode::SUCCESS;
◆ getIdentifier()
◆ getServices()
StatusCode InDet::InDetRecStatisticsAlg::getServices |
( |
| ) |
|
Get various services such as StoreGate, dictionaries, detector managers etc.
Definition at line 398 of file InDetRecStatisticsAlg.cxx.
405 if (
sc.isFailure()) {
407 return StatusCode::FAILURE;
412 if (
sc.isFailure()) {
414 return StatusCode::FAILURE;
421 return StatusCode::FAILURE;
425 return StatusCode::FAILURE;
430 if (
sc.isFailure()) {
432 return StatusCode::FAILURE;
437 return StatusCode::FAILURE;
441 if (dict->
file_name().find(
"SLHC")!=std::string::npos) isSLHC=
true;
446 return StatusCode::FAILURE;
455 return StatusCode::FAILURE;
467 return StatusCode::FAILURE;
479 return StatusCode::FAILURE;
486 return StatusCode :: SUCCESS;
◆ getUnbiasedTrackParameters()
Get Unbiased Track Parameters.
Definition at line 778 of file InDetRecStatisticsAlg.cxx.
791 if ( trkParameters->covariance() ) {
794 unbiasedTrkParameters =
799 if (!unbiasedTrkParameters) {
801 <<
"use normal parameters");
807 <<
"Unbiased track states can not be calculated "
808 <<
"(ie. pulls and residuals will be too small)");
815 return unbiasedTrkParameters;
◆ initialize()
StatusCode InDet::InDetRecStatisticsAlg::initialize |
( |
| ) |
|
Initialization of services, track collections, creates TrackStatHelper for each Track Collection.
Definition at line 154 of file InDetRecStatisticsAlg.cxx.
160 if (sc1.isFailure()) {
162 return StatusCode::FAILURE;
166 ATH_MSG_ERROR(
"No reco track collection specified! Aborting.");
167 return StatusCode::FAILURE;
174 <<
" TrackTruthCollection keys."
175 <<
" You have to specify one TrackTruthCollection for each"
176 <<
" TrackCollection! Exiting."
178 return StatusCode::FAILURE;
185 ATH_MSG_FATAL(
"Could not retrieve measurement updator tool: "
187 return StatusCode::FAILURE;
192 "No Updator for unbiased track states given, use normal states!");
200 "No residual/pull calculator for general hit residuals configured."
203 "It is recommended to give R/P calculators to the det-specific tool"
204 <<
" handle lists then.");
207 <<
" (to calculate residuals and pulls) ");
210 ATH_MSG_INFO(
"Generic hit residuals&pulls will be calculated in one or both "
211 <<
"available local coordinates");
235 unsigned int nCollections = 0;
247 if (sc3.isFailure()) {
249 return StatusCode::FAILURE;
256 return StatusCode :: SUCCESS;
◆ 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, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, InDet::SiSPGNNTrackMaker, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, 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.
◆ printStatistics()
void InDet::InDetRecStatisticsAlg::printStatistics |
( |
| ) |
|
Print tracking statistics calculated with TrackStatHelper.
Definition at line 581 of file InDetRecStatisticsAlg.cxx.
582 if (!
msgLvl(MSG::INFO))
return;
584 ATH_MSG_INFO(
" ********** Beginning InDetRecStatistics Statistics Table ***********");
585 ATH_MSG_INFO(
"For documentation see https://twiki.cern.ch/twiki/bin/view/Atlas/InDetRecStatistics");
586 ATH_MSG_INFO(
"(or for guaranteed latest version: http://atlas-sw.cern.ch/cgi-bin/viewcvs-atlas.cgi/offline/InnerDetector/InDetValidation/InDetRecStatistics/doc/mainpage.h?&view=markup )");
587 ATH_MSG_INFO(
" ********************************************************************");
589 std::stringstream outstr;
590 int def_precision(outstr.precision());
593 << std::setiosflags(std::ios::fixed | std::ios::showpoint)
594 << std::setw(7) << std::setprecision(2)
601 <<
" truth particles" <<
"\n"
603 <<
" tracks without perigee, "
605 <<
"\t" <<
"Reco TrackCollections : ";
607 for (std::vector <class TrackStatHelper *>::const_iterator collection =
617 outstr <<
"\"" << (*collection)->key() <<
"\"";
626 <<
"\t" <<
"TrackTruthCollections : ";
628 for (std::vector <class TrackStatHelper *>::const_iterator collection =
m_SignalCounters.begin();
637 outstr <<
"\"" << (*collection)->Truthkey() <<
"\"";
644 << s_linestr2 <<
"\n"
645 <<
"Cuts and Settings for Statistics Table" <<
"\n"
646 <<
"\t" <<
"TrackSummary Statistics" <<
"\t"
648 <<
"\t" <<
"Signal \t" <<
"pT > "
650 <<
"\t" <<
"Primary track start \t" <<
"R < "
653 <<
"\t" <<
"Barrel \t" << 0.0
655 <<
"\t" <<
"Primary track end \t" <<
"R > "
660 <<
"\t" <<
"Secondary (non-Primary) start \t"
665 <<
"\t" <<
"Secondary (non-primary) end \t"
668 <<
"\t" <<
"Forward \t"
670 <<
"\t" <<
"Low prob tracks #1 \t" <<
"< "
673 <<
"\t" <<
"Low prob tracks #2 \t" <<
"< "
676 <<
"\t" <<
"No link tracks \t Track has no link associated to an HepMC Particle" <<
"\n"
677 <<
"\t" <<
"Good reco tracks \t" <<
"> "
682 MsgStream &
out =
msg(MSG::INFO);
684 RestoreStream<MsgStream> restore(
out);
685 out <<
"\n" << s_linestr2 <<
"\n";
691 << s_linestr2 <<
"\n"
692 <<
"Detailed Statistics for Hits on Reconstructed tracks, using TrackSummary: (Preselection of tracks as described above.)" <<
"\n"
693 << s_linestr2 <<
"\n"
694 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n"
695 <<
" Reco Tracks .........................................hits/track....................................................... " <<
"\n"
696 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n"
697 <<
" in BARREL tracks/event " << track_stummary_type_header <<
"\n"
698 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n";
702 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n"
703 <<
" in TRANSITION region tracks/event " << track_stummary_type_header <<
"\n"
704 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------"
709 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n"
710 <<
" in ENDCAP tracks/event " << track_stummary_type_header <<
"\n"
711 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n";
715 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n"
716 <<
" in FORWARD region tracks/event " << track_stummary_type_header <<
"\n"
717 <<
"----------------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n";
723 outstr <<
"\n" << std::setprecision(def_precision)
725 <<
"Statistics for Secondaries (non-Primaries)"<<
"\n"
726 <<
"\t" <<
"Secondary track start \t"
729 <<
"\t" <<
"Secondary track end \t"
734 out <<
"\n" << s_linestr2 <<
"\n";
741 ATH_MSG_INFO(
" ********** Ending InDetRecStatistics Statistics Table ***********");
◆ printTrackSummary()
void InDet::InDetRecStatisticsAlg::printTrackSummary |
( |
MsgStream & |
out, |
|
|
enum eta_region |
eta_reg |
|
) |
| |
Print track statistics for all and low proability tracks.
Definition at line 747 of file InDetRecStatisticsAlg.cxx.
753 <<
"----------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n";
759 <<
"----------------------------------------------------------------------------------------------------------------------------------------------" <<
"\n";
◆ renounce()
◆ renounceArray()
◆ resetStatistics()
StatusCode InDet::InDetRecStatisticsAlg::resetStatistics |
( |
| ) |
|
Clear statistics counters, called before each track collection is processed.
Definition at line 489 of file InDetRecStatisticsAlg.cxx.
493 for (std::vector<InDet::TrackStatHelper *>::const_iterator
counter =
498 return StatusCode :: SUCCESS;
◆ selectGenSignal()
Select charged,stable particles which pass pt and eta cuts for analysis.
Classify truth tracks as primary, secondary or truncated
Definition at line 527 of file InDetRecStatisticsAlg.cxx.
533 if (! SimTracks)
return;
535 unsigned int nb_mc_event = SimTracks->
size();
536 std::unique_ptr<PileUpType> put = std::make_unique<PileUpType>(SimTracks);
547 for(
unsigned int ievt=0; ievt<nb_mc_event; ++ievt)
549 const HepMC::GenEvent* genEvent = SimTracks->
at(ievt);
551 for (
const auto&
particle: *genEvent){
557 if (std::abs(
charge)<0.5)
continue;
560 std::pair<HepMC::ConstGenParticlePtr,int> thisPair(
particle,ievt);
561 GenSignal.push_back(thisPair);
◆ selectRecSignal()
Select for analysis reconstructed tracks passing Pt and eta cuts.
Definition at line 501 of file InDetRecStatisticsAlg.cxx.
507 it != RecCollection->
end(); ++
it){
508 RecTracks.push_back(*
it);
510 (*it)->trackParameters();
512 if(!trackpara->
empty()){
516 RecSignal.push_back(*
it);
◆ 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.
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.
◆ updateVHKA()
◆ ATLAS_THREAD_SAFE
Counter<std::atomic<long> > m_counter InDet::InDetRecStatisticsAlg::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ m_detStore
◆ m_doTruth
bool InDet::InDetRecStatisticsAlg::m_doTruth |
|
private |
◆ m_events_processed
std::atomic<long> InDet::InDetRecStatisticsAlg::m_events_processed |
|
mutableprivate |
◆ 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_fakeTrackCut
float InDet::InDetRecStatisticsAlg::m_fakeTrackCut |
|
private |
◆ m_fakeTrackCut2
float InDet::InDetRecStatisticsAlg::m_fakeTrackCut2 |
|
private |
Second definition of maximum probability for which a track will be considered a fake.
Definition at line 123 of file InDetRecStatisticsAlg.h.
◆ m_idDictMgr
◆ m_idHelper
◆ m_isUnbiased
std::atomic<int> InDet::InDetRecStatisticsAlg::m_isUnbiased |
|
mutableprivate |
◆ m_matchTrackCut
float InDet::InDetRecStatisticsAlg::m_matchTrackCut |
|
private |
Minimum number of hits from a truth track to be considered a matched reco track.
Definition at line 124 of file InDetRecStatisticsAlg.h.
◆ m_maxEta
float InDet::InDetRecStatisticsAlg::m_maxEta |
|
private |
◆ m_maxEtaBarrel
float InDet::InDetRecStatisticsAlg::m_maxEtaBarrel |
|
private |
◆ m_maxEtaEndcap
float InDet::InDetRecStatisticsAlg::m_maxEtaEndcap |
|
private |
◆ m_maxEtaFORWARD
float InDet::InDetRecStatisticsAlg::m_maxEtaFORWARD |
|
private |
◆ m_maxEtaTransition
float InDet::InDetRecStatisticsAlg::m_maxEtaTransition |
|
private |
◆ m_maxRStartPrimary
float InDet::InDetRecStatisticsAlg::m_maxRStartPrimary |
|
private |
◆ m_maxRStartSecondary
float InDet::InDetRecStatisticsAlg::m_maxRStartSecondary |
|
private |
◆ m_maxZStartPrimary
float InDet::InDetRecStatisticsAlg::m_maxZStartPrimary |
|
private |
◆ m_maxZStartSecondary
float InDet::InDetRecStatisticsAlg::m_maxZStartSecondary |
|
private |
◆ m_McTrackCollection_key
◆ m_minEtaFORWARD
float InDet::InDetRecStatisticsAlg::m_minEtaFORWARD |
|
private |
◆ m_minPt
float InDet::InDetRecStatisticsAlg::m_minPt |
|
private |
◆ m_minREndPrimary
float InDet::InDetRecStatisticsAlg::m_minREndPrimary |
|
private |
If track has end vertex, this is min R of end vertex to be considered primary.
Definition at line 130 of file InDetRecStatisticsAlg.h.
◆ m_minREndSecondary
float InDet::InDetRecStatisticsAlg::m_minREndSecondary |
|
private |
If track has end vertex, this is min R of end vertex to be considered secondary.
Definition at line 131 of file InDetRecStatisticsAlg.h.
◆ m_minZEndPrimary
float InDet::InDetRecStatisticsAlg::m_minZEndPrimary |
|
private |
If track has end vertex, this is min Z of end vertex to be considered primary.
Definition at line 132 of file InDetRecStatisticsAlg.h.
◆ m_minZEndSecondary
float InDet::InDetRecStatisticsAlg::m_minZEndSecondary |
|
private |
If track has end vertex, this is min Z of end vertex to be considered secondary.
Definition at line 133 of file InDetRecStatisticsAlg.h.
◆ m_pixelID
◆ m_printSecondary
bool InDet::InDetRecStatisticsAlg::m_printSecondary |
|
private |
◆ m_pullWarning
std::atomic<bool> InDet::InDetRecStatisticsAlg::m_pullWarning {} |
|
mutableprivate |
◆ m_RecTrackCollection_keys
◆ m_residualPullCalculator
◆ m_sctID
◆ m_SignalCounters
std::vector<class TrackStatHelper *> InDet::InDetRecStatisticsAlg::m_SignalCounters |
|
private |
◆ m_trackSelectorTool
◆ m_TrackTruthCollection_keys
◆ m_trkSummaryTool
◆ m_trtID
◆ m_truthToTrack
◆ m_updator
◆ m_updatorHandle
ToolHandle<Trk::IUpdator> InDet::InDetRecStatisticsAlg::m_updatorHandle |
|
private |
◆ m_UpdatorWarning
std::atomic<bool> InDet::InDetRecStatisticsAlg::m_UpdatorWarning {} |
|
mutableprivate |
◆ m_useTrackSelection
bool InDet::InDetRecStatisticsAlg::m_useTrackSelection |
|
private |
◆ m_UseTrackSummary
bool InDet::InDetRecStatisticsAlg::m_UseTrackSummary |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
Counter< int > CounterLocal
const PixelID * m_pixelID
get pixel layer from hit ID
const AtlasDetectorID * m_idHelper
Used to find out the sub-det from PRD->identify().
Const iterator class for DataVector/DataList.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
@ kN_rec_tracks_processed
number of reconstructed tracks processed
static std::string getSummaryTypeHeader()
bool isNucleus(const T &p)
std::atomic< bool > m_pullWarning
warn only once, if pull cannot be calculated
float m_minZEndSecondary
If track has end vertex, this is min Z of end vertex to be considered secondary.
ToolHandle< Trk::IResidualPullCalculator > m_residualPullCalculator
The residual and pull calculator tool handle.
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trkSummaryTool
tool to get track summary information from track
StatusCode resetStatistics()
Clear statistics counters, called before each track collection is processed.
float m_maxRStartPrimary
Maximum R of start vertex to be considered primary.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const TRT_ID * m_trtID
get trt layer from hit ID
StatusCode getServices()
Get various services such as StoreGate, dictionaries, detector managers etc.
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)
std::atomic< bool > m_UpdatorWarning
warn only once, if unbiased track states can not be calculated
void selectGenSignal(const McEventCollection *, std::vector< std::pair< HepMC::ConstGenParticlePtr, int > > &, unsigned int, unsigned int, CounterLocal &counter) const
Select charged,stable particles which pass pt and eta cuts for analysis.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
@ kN_rec_tracks_without_perigee
number of tracks w/o perigee
float m_minREndSecondary
If track has end vertex, this is min R of end vertex to be considered secondary.
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool m_UseTrackSummary
Flag to print detailed statistics for each track collection.
void printTrackSummary(MsgStream &out, enum eta_region)
Print track statistics for all and low proability tracks.
bool m_useTrackSelection
Use track selector tool.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
SG::ReadHandleKey< McEventCollection > m_McTrackCollection_key
void SetCuts(const struct cuts &)
Sets the cuts such as the eta regions (barrel, transition,endcap) and the hit fraction fake cuts and ...
void printStatistics()
Print tracking statistics calculated with TrackStatHelper.
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
AthReentrantAlgorithm()
Default constructor:
virtual std::unique_ptr< TrackParameters > removeFromState(const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const =0
the reverse updating or inverse KalmanFilter removes a measurement from the track state,...
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
bool m_printSecondary
Flag to print hit information for secondary tracks.
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< Trk::IUpdator > m_updatorHandle
Tool handle of updator for unbiased states.
std::atomic< long > m_events_processed
number of events processed
const SCT_ID * m_sctID
get sct layer from hit ID
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
const T * front() const
Access the first element in the collection as an rvalue.
ToolHandle< Trk::ITruthToTrack > m_truthToTrack
tool to create track parameters from a gen particle
std::vector< class TrackStatHelper * > m_SignalCounters
Vector of TrackStatHelper objects, one for each track collection.
float m_maxEta
Maximum Eta cut for tracks used by the algorithm.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
float m_matchTrackCut
Minimum number of hits from a truth track to be considered a matched reco track.
Trk::IUpdator * m_updator
updator for unbiased states
virtual bool isValid() override final
Can the handle be successfully dereferenced?
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
McEventCollection::const_iterator in_time_minimum_bias_event_begin() const
extract the in-time minimum bias McEvent Particles from the McEventCollection A pair of iterators is ...
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const std::string & file_name(void) const
Access to file name.
float m_maxEtaTransition
define max eta of transition region
double pT() const
Access method for transverse momentum.
float m_minPt
Minimum Pt cut for tracks used by the algorithm.
ToolHandle< Trk::ITrackSelectorTool > m_trackSelectorTool
@ kN_gen_tracks_processed
number of generated tracks processed
IdDictManager is the interface to identifier dictionaries.
virtual StatusCode sysInitialize() override
Override sysInitialize.
double charge(const T &p)
const IdDictManager * m_idDictMgr
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
bool isStable(const T &p)
Identify if the particle is stable, i.e. has not decayed.
float m_fakeTrackCut2
Second definition of maximum probability for which a track will be considered a fake.
float m_minZEndPrimary
If track has end vertex, this is min Z of end vertex to be considered primary.
#define ATH_MSG_WARNING(x)
float m_maxRStartSecondary
Maximum R of start vertex to be considered secondary.
McEventCollection::const_iterator in_time_minimum_bias_event_end() const
float m_maxZStartSecondary
Maximum Z of start vertex to be considered secondary.
float m_maxEtaEndcap
define max eta of eta region
Identifier identify() const
return the identifier -extends MeasurementBase
const IdDictMgr * manager(void) const
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::ReadHandleKeyArray< TrackTruthCollection > m_TrackTruthCollection_keys
double eta() const
Access method for pseudorapidity - from momentum.
bool m_doTruth
Use truth information.
std::atomic< int > m_isUnbiased
if can get unbiased residuals
float m_maxZStartPrimary
Maximum Z of start vertex to be considered primary.
float m_fakeTrackCut
Maximum probability for which a track will be considered a fake.
float m_maxEtaBarrel
define max eta of barrel region
const T * at(size_type n) const
Access an element, as an rvalue.
unsigned int indexOfMaxAssignProb() const
Index of the ROT with the highest assignment probability.
@ kN_unknown_hits
number of hits without track
SG::ReadHandleKeyArray< TrackCollection > m_RecTrackCollection_keys
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
float m_minREndPrimary
If track has end vertex, this is min R of end vertex to be considered primary.
bool empty() const noexcept
Returns true if the collection is empty.
@ kN_spacepoints_processed
number of space points processed
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
void selectRecSignal(const TrackCollection *, std::vector< const Trk::Track * > &, std::vector< const Trk::Track * > &, CounterLocal &counter) const
Select for analysis reconstructed tracks passing Pt and eta cuts.