 |
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, V, H > &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, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &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 80 of file ActsInspectTruthContentAlg.cxx.
87 std::array<const ActsTrk::MeasurementToTruthParticleAssociation*, s_nClusterTypes> truths {};
101 truths[
static_cast<std::size_t
>(elementType)] = truthHandle.
cptr();
104 ATH_CHECK( truths[
static_cast<std::size_t
>(elementType)]->isCompatibleWith(
clusters) );
107 *truths[
static_cast<std::size_t
>(elementType)],
113 for (std::size_t
i(0);
i<
m_seeds.size(); ++
i) {
137 onTrack_clusterStat) );
143 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 147 of file ActsInspectTruthContentAlg.cxx.
153 std::size_t clusterTypeIndex =
static_cast<std::size_t
>(meas->type());
155 const auto& tps = truth.at(meas->index());
164 bool allValidParticles =
true;
165 for (
const auto*
tp : tps) {
167 allValidParticles =
false;
171 if (tps.size() == 1) {
175 else if (tps.size() == 2) {
185 bool hasContributionFromPrimaryParticle =
false;
186 for (
const auto*
tp : tps) {
188 hasContributionFromPrimaryParticle =
true;
196 return StatusCode::SUCCESS;
◆ fillStatSeeds()
Definition at line 200 of file ActsInspectTruthContentAlg.cxx.
205 for (std::size_t
i(0);
i<seeds.
size(); ++
i) {
209 int nMeasurements = 0;
210 std::unordered_map<std::size_t, int> particleIds {};
215 const auto& sps =
seed->sp();
217 const auto& measurements = sp->measurements();
223 auto tps = truth->at(meas->index());
225 if (tps.empty())
continue;
227 bool contributionOnlyFromSimulationParticles =
true;
228 for (
const auto*
tp : tps) {
230 contributionOnlyFromSimulationParticles =
false;
233 particleIds.try_emplace(
pid, 0 );
236 if (contributionOnlyFromSimulationParticles)
continue;
245 bool isFromSameParticle =
false;
247 if (
nEntries != nMeasurements)
continue;
248 isFromSameParticle =
true;
255 }
else if (nMatches == 1) {
257 }
else if (nMatches == 2) {
260 }
else if (nMatches == 3) {
263 }
else if (nMatches == 4) {
266 }
else if (nMatches == 5) {
269 }
else if (nMatches == 6) {
275 return StatusCode::SUCCESS;
◆ fillStatTracks()
Definition at line 309 of file ActsInspectTruthContentAlg.cxx.
314 for (
const auto track : tracks) {
316 std::size_t nHoles =
track.nHoles();
322 std::size_t nOutliers =
track.nOutliers();
329 bool AllValids =
true;
330 int nConsideredMeasurements = 0;
331 std::unordered_map<std::size_t, int> particleIds {};
335 .trackStateContainer().visitBackwards(
track.tipIndex(),
336 [&truths, &onTrackStat,
338 &nConsideredMeasurements, &particleIds]
339 (
const auto& state) {
340 auto flags = state.typeFlags();
341 if (not flags.test(Acts::TrackStateFlag::MeasurementFlag) and
342 not flags.test(Acts::TrackStateFlag::OutlierFlag)) return;
343 ++nConsideredMeasurements;
346 auto sl = state.getUncalibratedSourceLink().template get<ATLASUncalibSourceLink>();
347 assert( sl != nullptr);
348 const xAOD::UncalibratedMeasurement &meas = getUncalibratedMeasurement(sl);
350 std::size_t clusterTypeIndex = to_underlying(meas.type());
351 ++onTrackStat[to_underlying(EStatClusters::kNTotal)][clusterTypeIndex];
353 const ActsTrk::MeasurementToTruthParticleAssociation* truth = truths[clusterTypeIndex];
354 const auto& tps = truth->at(meas.index());
357 ++onTrackStat[to_underlying(EStatClusters::kNClustersWithNoBarcode)][clusterTypeIndex];
362 bool allBarcodesValid =
true;
363 bool hasContributionFromPrimaryParticle =
false;
364 for (
const auto*
tp : tps) {
366 hasContributionFromPrimaryParticle =
true;
369 allBarcodesValid =
false;
372 if (not hasContributionFromPrimaryParticle) AllValids =
false;
374 if (tps.size() == 1) {
375 ++onTrackStat[to_underlying(EStatClusters::kNClustersWith1Contribution)][clusterTypeIndex];
376 if (allBarcodesValid) ++onTrackStat[to_underlying(EStatClusters::kNClustersWith1ValidContribution)][clusterTypeIndex];
378 else if (tps.size() == 2) {
379 ++onTrackStat[to_underlying(EStatClusters::kNClustersWith2Contribution)][clusterTypeIndex];
380 if (allBarcodesValid) ++onTrackStat[to_underlying(EStatClusters::kNClustersWith2ValidContribution)][clusterTypeIndex];
383 ++onTrackStat[to_underlying(EStatClusters::kNClustersWith3Contribution)][clusterTypeIndex];
384 if (allBarcodesValid) ++onTrackStat[to_underlying(EStatClusters::kNClustersWith3ValidContribution)][clusterTypeIndex];
387 bool contributionOnlyFromSimulationParticles =
true;
388 for (
const auto*
tp : tps) {
390 contributionOnlyFromSimulationParticles =
false;
393 particleIds.try_emplace(
pid, 0 );
402 bool AllSameBarcode =
false;
404 if (
nEntries != nConsideredMeasurements)
continue;
405 AllSameBarcode =
true;
413 return StatusCode::SUCCESS;
◆ filterPassed()
◆ finalize()
StatusCode ActsTrk::ActsInspectTruthContentAlg::finalize |
( |
| ) |
|
|
overridevirtual |
Definition at line 46 of file ActsInspectTruthContentAlg.cxx.
48 ATH_MSG_INFO(
"Statistics from Seed check with truth info:" );
50 if ( printStatTables<ActsInspectTruthContentAlg::EStatClusters, xAOD::UncalibMeasType>(
"Clusters", m_clusterStat).isFailure() ) {
52 return StatusCode::FAILURE;
55 if ( printStatTables<ActsInspectTruthContentAlg::EStatSeeds, ActsInspectTruthContentAlg::SeedType>(
"Seeds", m_seedStat).isFailure() ) {
57 return StatusCode::FAILURE;
60 for (
const auto& [trackCollectionName, onTrackStat] : m_onTrack_clusterStat) {
61 std::string reportName =
"On Track Clusters (" + trackCollectionName +
")";
62 if ( printStatTables<ActsInspectTruthContentAlg::EStatClusters, xAOD::UncalibMeasType>(reportName, onTrackStat).isFailure() ) {
63 ATH_MSG_FATAL(
"Problem dumping On Track Cluster truth info (" << trackCollectionName <<
")");
64 return StatusCode::FAILURE;
68 for (
const auto& [trackCollectionName, trackStat] : m_trackStat) {
69 std::string reportName =
"Track (" + trackCollectionName +
")";
70 if ( printStatTables<ActsInspectTruthContentAlg::EStatTracks, ActsInspectTruthContentAlg::TrackType>(reportName, trackStat).isFailure() ) {
71 ATH_MSG_FATAL(
"Problem dumping Track truth info (" << trackCollectionName <<
")");
72 return StatusCode::FAILURE;
76 return StatusCode::SUCCESS;
◆ initialize()
StatusCode ActsTrk::ActsInspectTruthContentAlg::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 23 of file ActsInspectTruthContentAlg.cxx.
32 ATH_MSG_ERROR(
"Inconsistent sizes of Clusters and TruthAssociationMaps");
33 return StatusCode::FAILURE;
36 for (
const auto& trackKey :
m_tracks) {
37 std::string containerName = trackKey.key();
38 m_onTrack_clusterStat.push_back( std::make_pair(containerName,
cluster_stat_t()) );
39 m_trackStat.push_back( std::make_pair(containerName,
track_stat_t()) );
42 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
@ 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())
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
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.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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
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.
SG::ReadHandleKeyArray< ActsTrk::MeasurementToTruthParticleAssociation > m_associationMap_key
@ kNClustersWith2ValidContribution