5#ifndef ACTSTRK_TRUTHPARTICLEHITCOUNT_H
6#define ACTSTRK_TRUTHPARTICLEHITCOUNT_H 1
12#include "Gaudi/Property.h"
48 ISvcLocator *pSvcLocator);
51 virtual StatusCode
finalize()
override;
52 virtual StatusCode
execute(
const EventContext &ctx)
const override;
56 {
this,
"TrackingGeometryTool",
""};
59 {
this,
"PixelClustersToTruthAssociationMap",
"",
"Association map from pixel measurements to generator particles." };
61 {
this,
"StripClustersToTruthAssociationMap",
"",
"Association map from strip measurements to generator particles." };
63 {
this,
"HgtdClustersToTruthAssociationMap",
"",
"Association map from HGTD measurements to generator particles." };
66 {
this,
"TruthParticleHitCountsOut",
"",
"Map from truth particle to hit counts." };
69 {
this,
"MaxEnergyLoss", 10e12,
"Stop moving up the decay chain if the energy loss is above this value." };
71 {
this,
"NHitsMin", 1,
"Minimum number of hits associated to a truth particle to consider the particle." };
76 Gaudi::Property<std::vector<float> >,
78 {
this,
"EnergyLossBinning", {20.,0.,5.*
s_unitGeV},
"Binning to be used for the energy loss histograms." };
80 template <
bool IsDebug>
83 template <
typename... T_Args>
86 mutable typename std::conditional<IsDebug,
89 mutable typename std::conditional<IsDebug,
93 template <
class T_OutStream>
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
ElasticDecayUtil< TruthParticleHitCountDebugHists > m_elasticDecayUtil
Gaudi::Property< unsigned int > m_nHitsMin
SG::ReadHandleKey< MeasurementToTruthParticleAssociation > m_hgtdClustersToTruth
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
std::conditional< TruthParticleHitCountDebugHists, Gaudi::Property< std::vector< float > >, EmptyProperty >::type m_energyLossBinning
Gaudi::Property< float > m_maxEnergyLoss
TruthParticleHitCountAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode finalize() override
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< TruthParticleHitCounts > m_truthHitCountsOut
std::atomic< std::size_t > m_nTruthParticlesWithHits ATLAS_THREAD_SAFE
SG::ReadHandleKey< MeasurementToTruthParticleAssociation > m_pixelClustersToTruth
SG::ReadHandleKey< MeasurementToTruthParticleAssociation > m_stripClustersToTruth
static constexpr float s_unitGeV
virtual StatusCode initialize() override
AssociationCounter< TruthParticleHitCountDebugHists > m_associationCounter
Extend Stat helper by an equidistant binned histogram.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
constexpr bool TruthParticleHitCountDebugHists
void dumpStatistics(T_OutStream &out) const
std::conditional< IsDebug, std::mutex, Empty >::type m_mutex ATLAS_THREAD_SAFE
void fillStatistics(unsigned int n_measurements) const