|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ACTSTRKFINDING_TRACKTOTRUTHASSOCIATIONALG_H
6 #define ACTSTRKFINDING_TRACKTOTRUTHASSOCIATIONALG_H 1
12 #include "Gaudi/Property.h"
31 #include <type_traits>
48 ISvcLocator *pSvcLocator);
56 {
this,
"TrackingGeometryTool",
""};
59 {
this,
"ACTSTracksLocation",
"",
"Track collection (ActsTrk variant)"};
62 {
this,
"PixelClustersToTruthAssociationMap",
"",
"Association map from pixel measurements to generator particles." };
64 {
this,
"StripClustersToTruthAssociationMap",
"",
"Association map from strip measurements to generator particles." };
67 {
this,
"AssociationMapOut",
"",
"Output association map from measurements to generator particles." };
70 {
this,
"MaxEnergyLoss", 10e12,
"Stop moving up the decay chain if the energy loss is above this value." };
75 Gaudi::Property<std::vector<float> >,
77 {
this,
"EnergyLossBinning", {20.,0.,5.*
s_unitGeV},
"Binning to be used for the energy loss histograms." };
79 template <
bool IsDebug>
82 template <
typename... T_Args>
85 mutable typename std::conditional<
IsDebug,
88 mutable typename std::conditional<
IsDebug,
91 mutable typename std::conditional<
IsDebug,
95 template <
class T_OutStream>
97 void fillStatistics(
unsigned int n_measurements,
unsigned int n_particles)
const;
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual StatusCode finalize() override
TrackToTruthAssociationAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
std::array< std::atomic< std::size_t >, s_NCounterForAssociatedTruth > m_nTracksWithAssociatedTruth ATLAS_THREAD_SAFE
AssociationCounter< TrackToTruthParticleAssociationDebugHists > m_associationCounter
Gaudi::Property< float > m_maxEnergyLoss
Extend Stat helper by an equidistant binned histogram.
void fillStatistics(unsigned int n_measurements, unsigned int n_particles) const
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode execute(const EventContext &ctx) const override
Property holding a SG store/key/clid from which a WriteHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
static constexpr float s_unitGeV
ElasticDecayUtil< TrackToTruthParticleAssociationDebugHists > m_elasticDecayUtil
SG::ReadHandleKey< MeasurementToTruthParticleAssociation > m_stripClustersToTruth
Property holding a SG store/key/clid from which a WriteHandle is made.
std::conditional< TrackToTruthParticleAssociationDebugHists, Gaudi::Property< std::vector< float > >, EmptyProperty >::type m_energyLossBinning
std::atomic< std::size_t > m_nCcompatibleMeasurementContainer
constexpr bool TrackToTruthParticleAssociationDebugHists
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
SG::ReadHandleKey< MeasurementToTruthParticleAssociation > m_pixelClustersToTruth
std::atomic< std::size_t > m_nIncompatibleMeasurementContainer
static constexpr unsigned int s_NCounterForAssociatedTruth
std::conditional< IsDebug, std::mutex, Empty >::type m_mutex ATLAS_THREAD_SAFE
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksContainerKey
void dumpStatistics(T_OutStream &out) const
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
SG::WriteHandleKey< TrackToTruthParticleAssociation > m_trackToTruthOut