Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <ActsInspectTruthContentAlg.h>
|
enum | EStatClusters : std::size_t {
EStatClusters::kNTotal,
EStatClusters::kNClustersFromPrimaries,
EStatClusters::kNClustersWithNoBarcode,
EStatClusters::kNClustersWith1Contribution,
EStatClusters::kNClustersWith1ValidContribution,
EStatClusters::kNClustersWith2Contribution,
EStatClusters::kNClustersWith2ValidContribution,
EStatClusters::kNClustersWith3Contribution,
EStatClusters::kNClustersWith3ValidContribution,
EStatClusters::kNClustersWith200kBarcode,
EStatClusters::kNStat
} |
|
enum | EStatSeeds : std::size_t {
EStatSeeds::kNTotal,
EStatSeeds::nKSeedsWith0Matches,
EStatSeeds::nKSeedsWith1Matches,
EStatSeeds::nKSeedsWith2Matches,
EStatSeeds::nKSeedsSame2Matches,
EStatSeeds::nKSeedsWith3Matches,
EStatSeeds::nKSeedsSame3Matches,
EStatSeeds::nKSeedsWith4Matches,
EStatSeeds::nKSeedsSame4Matches,
EStatSeeds::nKSeedsWith5Matches,
EStatSeeds::nKSeedsSame5Matches,
EStatSeeds::nKSeedsWith6Matches,
EStatSeeds::nKSeedsSame6Matches,
EStatSeeds::kNStat
} |
|
enum | EStatTracks : std::size_t {
EStatTracks::kNTotal,
EStatTracks::kNFullMatch,
EStatTracks::kNPerfectMatch,
EStatTracks::kNTracks0Holes,
EStatTracks::kNTracks1Holes,
EStatTracks::kNTracks2Holes,
EStatTracks::kNTracks3Holes,
EStatTracks::kNTracks0Outliers,
EStatTracks::kNTracks1Outliers,
EStatTracks::kNTracks2Outliers,
EStatTracks::kNTracks3Outliers,
EStatTracks::kNStat
} |
|
enum | SeedType : std::size_t {
SeedType::PPP,
SeedType::SSS,
SeedType::PPS,
SeedType::PSS,
SeedType::Others,
SeedType::nTypes
} |
|
enum | TrackType : std::size_t { TrackType::Main,
TrackType::nTypes
} |
|
|
| ActsInspectTruthContentAlg (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~ActsInspectTruthContentAlg () override=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &ctx) const override |
|
virtual StatusCode | finalize () override |
|
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 |
|
|
StatusCode | fillStatClusters (const xAOD::UncalibratedMeasurementContainer &container, const ActsTrk::MeasurementToTruthParticleAssociation &truth, cluster_stat_t &stat) const |
|
StatusCode | fillStatSeeds (const ActsTrk::SeedContainer &seeds, std::array< const ActsTrk::MeasurementToTruthParticleAssociation *, s_nClusterTypes > &truths, seed_stat_t &stat) const |
|
StatusCode | fillStatTracks (const ActsTrk::TrackContainer &tracks, std::array< const ActsTrk::MeasurementToTruthParticleAssociation *, s_nClusterTypes > &truths, track_stat_t &trackStat, cluster_stat_t &onTrackClusterStat) const |
|
template<typename row_t , typename coll_t , typename stat_t > |
StatusCode | printStatTables (const std::string &objectCollectionName, const stat_t &stat) const |
|
template<typename stat_t > |
StatusCode | copyStatTable (const stat_t &contextual, stat_t &global) const |
|
SeedType | deduceSeedType (const ActsTrk::Seed &) const |
|
std::string | to_string (xAOD::UncalibMeasType type) const |
|
std::string | to_string (ActsInspectTruthContentAlg::SeedType type) const |
|
std::string | to_string (ActsInspectTruthContentAlg::TrackType type) const |
|
std::string | to_label (ActsInspectTruthContentAlg::EStatClusters type) const |
|
std::string | to_label (ActsInspectTruthContentAlg::EStatSeeds type) const |
|
std::string | to_label (ActsInspectTruthContentAlg::EStatTracks type) const |
|
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...
|
|
|
SG::ReadHandleKeyArray< xAOD::UncalibratedMeasurementContainer > | m_clusters {this, "Clusters", {}} |
|
SG::ReadHandleKeyArray< ActsTrk::SeedContainer > | m_seeds {this, "Seeds", {}} |
|
SG::ReadHandleKeyArray< ActsTrk::MeasurementToTruthParticleAssociation > | m_associationMap_key {this,"TruthAssociationMaps", {}} |
|
SG::ReadHandleKeyArray< ActsTrk::TrackContainer > | m_tracks {this, "Tracks", {}} |
|
std::mutex m_mutex | ATLAS_THREAD_SAFE {} |
|
cluster_stat_t m_clusterStat | ATLAS_THREAD_SAFE {} |
|
seed_stat_t m_seedStat | ATLAS_THREAD_SAFE {} |
|
std::vector< std::pair< std::string, track_stat_t > > m_trackStat | ATLAS_THREAD_SAFE {} |
|
std::vector< std::pair< std::string, cluster_stat_t > > m_onTrack_clusterStat | ATLAS_THREAD_SAFE {} |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
◆ cluster_stat_t
◆ seed_stat_t
◆ StoreGateSvc_t
◆ track_stat_t
◆ EStatClusters
Enumerator |
---|
kNTotal | |
kNClustersFromPrimaries | |
kNClustersWithNoBarcode | |
kNClustersWith1Contribution | |
kNClustersWith1ValidContribution | |
kNClustersWith2Contribution | |
kNClustersWith2ValidContribution | |
kNClustersWith3Contribution | |
kNClustersWith3ValidContribution | |
kNClustersWith200kBarcode | |
kNStat | |
Definition at line 29 of file ActsInspectTruthContentAlg.h.
31 kNClustersFromPrimaries,
32 kNClustersWithNoBarcode,
33 kNClustersWith1Contribution,
34 kNClustersWith1ValidContribution,
35 kNClustersWith2Contribution,
36 kNClustersWith2ValidContribution,
37 kNClustersWith3Contribution,
38 kNClustersWith3ValidContribution,
39 kNClustersWith200kBarcode,
◆ EStatSeeds
Enumerator |
---|
kNTotal | |
nKSeedsWith0Matches | |
nKSeedsWith1Matches | |
nKSeedsWith2Matches | |
nKSeedsSame2Matches | |
nKSeedsWith3Matches | |
nKSeedsSame3Matches | |
nKSeedsWith4Matches | |
nKSeedsSame4Matches | |
nKSeedsWith5Matches | |
nKSeedsSame5Matches | |
nKSeedsWith6Matches | |
nKSeedsSame6Matches | |
kNStat | |
Definition at line 43 of file ActsInspectTruthContentAlg.h.
◆ EStatTracks
Enumerator |
---|
kNTotal | |
kNFullMatch | |
kNPerfectMatch | |
kNTracks0Holes | |
kNTracks1Holes | |
kNTracks2Holes | |
kNTracks3Holes | |
kNTracks0Outliers | |
kNTracks1Outliers | |
kNTracks2Outliers | |
kNTracks3Outliers | |
kNStat | |
Definition at line 60 of file ActsInspectTruthContentAlg.h.
◆ SeedType
◆ TrackType
◆ ActsInspectTruthContentAlg()
ActsTrk::ActsInspectTruthContentAlg::ActsInspectTruthContentAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~ActsInspectTruthContentAlg()
virtual ActsTrk::ActsInspectTruthContentAlg::~ActsInspectTruthContentAlg |
( |
| ) |
|
|
overridevirtualdefault |
◆ 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.
◆ copyStatTable()
template<typename stat_t >
StatusCode ActsTrk::ActsInspectTruthContentAlg::copyStatTable |
( |
const stat_t & |
contextual, |
|
|
stat_t & |
global |
|
) |
| const |
|
private |
◆ 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]
◆ deduceSeedType()
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode ActsTrk::ActsInspectTruthContentAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Definition at line 79 of file ActsInspectTruthContentAlg.cxx.
86 std::array<const ActsTrk::MeasurementToTruthParticleAssociation*, s_nClusterTypes> truths {};
100 truths[
static_cast<std::size_t
>(elementType)] = truthHandle.
cptr();
103 ATH_CHECK( truths[
static_cast<std::size_t
>(elementType)]->isCompatibleWith(
clusters) );
106 *truths[
static_cast<std::size_t
>(elementType)],
112 for (std::size_t
i(0);
i<
m_seeds.size(); ++
i) {
136 onTrack_clusterStat) );
142 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.
◆ fillStatClusters()
Definition at line 146 of file ActsInspectTruthContentAlg.cxx.
152 std::size_t clusterTypeIndex =
static_cast<std::size_t
>(meas->type());
154 const auto& tps = truth.at(meas->index());
163 bool allValidParticles =
true;
164 for (
const auto*
tp : tps) {
166 allValidParticles =
false;
170 if (tps.size() == 1) {
174 else if (tps.size() == 2) {
184 bool hasContributionFromPrimaryParticle =
false;
185 for (
const auto*
tp : tps) {
187 hasContributionFromPrimaryParticle =
true;
195 return StatusCode::SUCCESS;
◆ fillStatSeeds()
Definition at line 199 of file ActsInspectTruthContentAlg.cxx.
204 for (std::size_t
i(0);
i<seeds.
size(); ++
i) {
208 int nMeasurements = 0;
209 std::unordered_map<std::size_t, int> particleIds {};
214 const auto& sps =
seed->sp();
216 const auto& measurements = sp->measurements();
222 auto tps = truth->at(meas->index());
224 if (tps.empty())
continue;
226 bool contributionOnlyFromSimulationParticles =
true;
227 for (
const auto*
tp : tps) {
229 contributionOnlyFromSimulationParticles =
false;
232 particleIds.try_emplace(
pid, 0 );
235 if (contributionOnlyFromSimulationParticles)
continue;
244 bool isFromSameParticle =
false;
246 if (
nEntries != nMeasurements)
continue;
247 isFromSameParticle =
true;
254 }
else if (nMatches == 1) {
256 }
else if (nMatches == 2) {
259 }
else if (nMatches == 3) {
262 }
else if (nMatches == 4) {
265 }
else if (nMatches == 5) {
268 }
else if (nMatches == 6) {
274 return StatusCode::SUCCESS;
◆ fillStatTracks()
Definition at line 305 of file ActsInspectTruthContentAlg.cxx.
310 for (
const auto&
track : tracks) {
312 std::size_t nHoles =
track.nHoles();
318 std::size_t nOutliers =
track.nOutliers();
325 bool AllValids =
true;
326 int nConsideredMeasurements = 0;
327 std::unordered_map<std::size_t, int> particleIds {};
331 .trackStateContainer().visitBackwards(
track.tipIndex(),
332 [&truths, &onTrackStat,
334 &nConsideredMeasurements, &particleIds]
335 (
const auto& state) {
336 auto flags = state.typeFlags();
337 if (not flags.test(Acts::TrackStateFlag::MeasurementFlag) and
338 not flags.test(Acts::TrackStateFlag::OutlierFlag)) return;
339 ++nConsideredMeasurements;
342 auto sl = state.getUncalibratedSourceLink().template get<ATLASUncalibSourceLink>();
343 assert( sl != nullptr);
344 const xAOD::UncalibratedMeasurement &meas = getUncalibratedMeasurement(sl);
346 std::size_t clusterTypeIndex = to_underlying(meas.type());
347 ++onTrackStat[to_underlying(EStatClusters::kNTotal)][clusterTypeIndex];
349 const ActsTrk::MeasurementToTruthParticleAssociation* truth = truths[clusterTypeIndex];
350 const auto& tps = truth->at(meas.index());
353 ++onTrackStat[to_underlying(EStatClusters::kNClustersWithNoBarcode)][clusterTypeIndex];
358 bool allBarcodesValid =
true;
359 bool hasContributionFromPrimaryParticle =
false;
360 for (
const auto*
tp : tps) {
362 hasContributionFromPrimaryParticle =
true;
365 allBarcodesValid =
false;
368 if (not hasContributionFromPrimaryParticle) AllValids =
false;
370 if (tps.size() == 1) {
371 ++onTrackStat[to_underlying(EStatClusters::kNClustersWith1Contribution)][clusterTypeIndex];
372 if (allBarcodesValid) ++onTrackStat[to_underlying(EStatClusters::kNClustersWith1ValidContribution)][clusterTypeIndex];
374 else if (tps.size() == 2) {
375 ++onTrackStat[to_underlying(EStatClusters::kNClustersWith2Contribution)][clusterTypeIndex];
376 if (allBarcodesValid) ++onTrackStat[to_underlying(EStatClusters::kNClustersWith2ValidContribution)][clusterTypeIndex];
379 ++onTrackStat[to_underlying(EStatClusters::kNClustersWith3Contribution)][clusterTypeIndex];
380 if (allBarcodesValid) ++onTrackStat[to_underlying(EStatClusters::kNClustersWith3ValidContribution)][clusterTypeIndex];
383 bool contributionOnlyFromSimulationParticles =
true;
384 for (
const auto*
tp : tps) {
386 contributionOnlyFromSimulationParticles =
false;
389 particleIds.try_emplace(
pid, 0 );
398 bool AllSameBarcode =
false;
400 if (
nEntries != nConsideredMeasurements)
continue;
401 AllSameBarcode =
true;
409 return StatusCode::SUCCESS;
◆ filterPassed()
◆ finalize()
StatusCode ActsTrk::ActsInspectTruthContentAlg::finalize |
( |
| ) |
|
|
overridevirtual |
Definition at line 45 of file ActsInspectTruthContentAlg.cxx.
47 ATH_MSG_INFO(
"Statistics from Seed check with truth info:" );
49 if ( printStatTables<ActsInspectTruthContentAlg::EStatClusters, xAOD::UncalibMeasType>(
"Clusters", m_clusterStat).isFailure() ) {
51 return StatusCode::FAILURE;
54 if ( printStatTables<ActsInspectTruthContentAlg::EStatSeeds, ActsInspectTruthContentAlg::SeedType>(
"Seeds", m_seedStat).isFailure() ) {
56 return StatusCode::FAILURE;
59 for (
const auto& [trackCollectionName, onTrackStat] : m_onTrack_clusterStat) {
60 std::string reportName =
"On Track Clusters (" + trackCollectionName +
")";
61 if ( printStatTables<ActsInspectTruthContentAlg::EStatClusters, xAOD::UncalibMeasType>(reportName, onTrackStat).isFailure() ) {
62 ATH_MSG_FATAL(
"Problem dumping On Track Cluster truth info (" << trackCollectionName <<
")");
63 return StatusCode::FAILURE;
67 for (
const auto& [trackCollectionName, trackStat] : m_trackStat) {
68 std::string reportName =
"Track (" + trackCollectionName +
")";
69 if ( printStatTables<ActsInspectTruthContentAlg::EStatTracks, ActsInspectTruthContentAlg::TrackType>(reportName, trackStat).isFailure() ) {
70 ATH_MSG_FATAL(
"Problem dumping Track truth info (" << trackCollectionName <<
")");
71 return StatusCode::FAILURE;
75 return StatusCode::SUCCESS;
◆ initialize()
StatusCode ActsTrk::ActsInspectTruthContentAlg::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 22 of file ActsInspectTruthContentAlg.cxx.
31 ATH_MSG_ERROR(
"Inconsistent sizes of Clusters and TruthAssociationMaps");
32 return StatusCode::FAILURE;
35 for (
const auto& trackKey :
m_tracks) {
36 std::string containerName = trackKey.key();
37 m_onTrack_clusterStat.push_back( std::make_pair(containerName,
cluster_stat_t()) );
38 m_trackStat.push_back( std::make_pair(containerName,
track_stat_t()) );
41 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()
◆ 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.
◆ printStatTables()
template<typename row_t , typename coll_t , typename stat_t >
StatusCode ActsTrk::ActsInspectTruthContentAlg::printStatTables |
( |
const std::string & |
objectCollectionName, |
|
|
const stat_t & |
stat |
|
) |
| const |
|
private |
◆ 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.
◆ to_label() [1/3]
◆ to_label() [2/3]
◆ to_label() [3/3]
◆ to_string() [1/3]
◆ to_string() [2/3]
◆ to_string() [3/3]
◆ updateVHKA()
◆ ATLAS_THREAD_SAFE [1/5]
std::mutex m_mutex ActsTrk::ActsInspectTruthContentAlg::ATLAS_THREAD_SAFE {} |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [2/5]
cluster_stat_t m_clusterStat ActsTrk::ActsInspectTruthContentAlg::ATLAS_THREAD_SAFE {} |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [3/5]
seed_stat_t m_seedStat ActsTrk::ActsInspectTruthContentAlg::ATLAS_THREAD_SAFE {} |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [4/5]
std::vector<std::pair<std::string, track_stat_t> > m_trackStat ActsTrk::ActsInspectTruthContentAlg::ATLAS_THREAD_SAFE {} |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [5/5]
std::vector<std::pair<std::string, cluster_stat_t> > m_onTrack_clusterStat ActsTrk::ActsInspectTruthContentAlg::ATLAS_THREAD_SAFE {} |
|
mutableprivate |
◆ m_associationMap_key
◆ m_clusters
◆ m_detStore
◆ 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_seeds
◆ m_tracks
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ s_nClusterTypes
◆ s_nSeedTypes
constexpr std::size_t ActsTrk::ActsInspectTruthContentAlg::s_nSeedTypes = static_cast<std::size_t>(SeedType::nTypes) |
|
staticconstexprprivate |
The documentation for this class was generated from the following files:
const_pointer_type cptr()
Dereference the pointer.
SG::ReadHandleKeyArray< xAOD::UncalibratedMeasurementContainer > m_clusters
@ kNClustersWith200kBarcode
@ kNClustersWith1ValidContribution
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
@ kNClustersWith1Contribution
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
SG::ReadHandleKeyArray< ActsTrk::TrackContainer > m_tracks
@ kNClustersFromPrimaries
StatusCode fillStatClusters(const xAOD::UncalibratedMeasurementContainer &container, const ActsTrk::MeasurementToTruthParticleAssociation &truth, cluster_stat_t &stat) const
virtual void setOwner(IDataHandleHolder *o)=0
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
@ kNClustersWith3Contribution
std::array< std::array< std::size_t, s_nClusterTypes >, static_cast< std::size_t >(EStatClusters::kNStat)> cluster_stat_t
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
bool is_simulation_particle(const T &p)
Method to establish if a particle (or barcode) was created during the simulation (TODO update to be s...
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
std::array< std::array< std::size_t, s_nSeedTypes >, static_cast< std::size_t >(EStatSeeds::kNStat)> seed_stat_t
SG::ReadHandleKeyArray< ActsTrk::SeedContainer > m_seeds
Acts::Seed< xAOD::SpacePoint, 3ul > Seed
std::underlying_type_t< T > to_underlying(T val)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
@ kNClustersWith2Contribution
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
StatusCode fillStatTracks(const ActsTrk::TrackContainer &tracks, std::array< const ActsTrk::MeasurementToTruthParticleAssociation *, s_nClusterTypes > &truths, track_stat_t &trackStat, cluster_stat_t &onTrackClusterStat) const
StatusCode fillStatSeeds(const ActsTrk::SeedContainer &seeds, std::array< const ActsTrk::MeasurementToTruthParticleAssociation *, s_nClusterTypes > &truths, seed_stat_t &stat) const
@ kNClustersWith3ValidContribution
#define ATH_MSG_WARNING(x)
@ kNClustersWithNoBarcode
UncalibMeasType
Define the type of the uncalibrated measurement.
StatusCode copyStatTable(const stat_t &contextual, stat_t &global) const
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual StatusCode sysInitialize() override
Override sysInitialize.
const T * at(size_type n) const
Access an element, as an rvalue.
std::array< std::array< std::size_t, 1 >, static_cast< std::size_t >(EStatTracks::kNStat)> track_stat_t
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
SeedType deduceSeedType(const ActsTrk::Seed &) const
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>
SG::ReadHandleKeyArray< ActsTrk::MeasurementToTruthParticleAssociation > m_associationMap_key
@ kNClustersWith2ValidContribution