Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ACTSTRKFINDING_MEASUREMENTTOTRUTHASSOCIATIONALG_H
6 #define ACTSTRKFINDING_MEASUREMENTTOTRUTHASSOCIATIONALG_H 1
12 #include "Gaudi/Property.h"
18 #include "Identifier/Identifier.h"
25 #include <type_traits>
39 using ActsUtils::operator<<;
47 : m_depositedEnergy(
a.m_depositedEnergy.createEmptyClone()),
48 m_particlesPerMeasurement(
a.m_particlesPerMeasurement.createEmptyClone()),
49 m_measurementsPerParticle(
a.m_measurementsPerParticle.createEmptyClone())
93 template <
typename Object>
97 template <
typename Object,
typename = std::
void_t<> >
101 template <
typename Object >
102 struct has_rdoList<Object, std::void_t<rdoListFunc_t<Object> > > : std::true_type{};
122 template <
class T_TruthEventCollection>
126 template <
class T_TruthEventCollection>
130 template <
class T_SimDataCollection,
class T_SimDataIterator>
131 auto getSimDataDeposits(
const T_SimDataCollection &sim_data_collection, T_SimDataIterator sim_data_iter_for_identifier);
134 template <
class T_Deposit>
139 template <
class T_MeasurementCollection,
class T_SimDataCollection,
class T_TruthEventCollection,
bool IsDebug=false >
144 ISvcLocator *pSvcLocator);
152 {
this,
"Measurements",{},
"List of input measurement keys." };
154 {
this,
"SimData",{},
"List of input simulated data keys." };
156 {
this,getInTruthPropertyName<T_TruthEventCollection>(),
"",
"The key for the truth event collection e.g. McEventCollectionWrap if one is required."};
159 {
this,
"AssociationMapOut",
"",
"Output association map from measurements to generator particles." };
162 {
this,
"DepositedEnergyMin", 0.,
"Only consider gnerator particles which"
163 " deposed more than this amount of energy (in MeV)" };
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual StatusCode execute(const EventContext &ctx) const override
auto makeDepositToTruthParticleMap(const T_TruthEventCollection *truth_particle_links)
Extend Stat helper by an equidistant binned histogram.
HistTemp(const HistTemp &a)
SG::ReadHandleKey< T_SimDataCollection > m_simDataKey
@ u
Enums for curvilinear frames.
Empty(const Empty &)=default
An algorithm that can be simultaneously executed in multiple threads.
Simple class to gather statistics : min, max, mean, rms.
Algorithm template to associate measurements of a certain type to a xAOD truth particles using a sim ...
Property holding a SG store/key/clid from which a WriteHandle is made.
float getDepositedEnergy(const T_Deposit &)
SG::ReadHandleKey< T_MeasurementCollection > m_measurementKey
::StatusCode StatusCode
StatusCode definition for legacy code.
decltype(std::declval< Object >().rdoList()) rdoListFunc_t
const_iterator end() const
std::array< std::atomic< std::size_t >, kNCategories > m_statRDO ATLAS_THREAD_SAFE
std::conditional< IsDebug, Dbg::Hist, Dbg::Empty >::type m_stat
SG::ReadHandleKey< T_TruthEventCollection > m_truthEventCollectionKey
Property holding a SG store/key/clid from which a WriteHandle is made.
bool operator!=(const const_iterator &other) const
Gaudi::Property< float > m_depositedEnergyMin
const_iterator & operator++()
auto getRDOList(const T &a)
const char * getInTruthPropertyName()
const_iterator(const T *a_ptr)
MeasurementToTruthAssociationAlg(const std::string &name, ISvcLocator *pSvcLocator)
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
virtual StatusCode initialize() override
virtual StatusCode finalize() override
auto getSimDataDeposits(const T_SimDataCollection &sim_data_collection, T_SimDataIterator sim_data_iter_for_identifier)
Identifier operator*() const
Dbg::StatHist m_depositedEnergy ATLAS_THREAD_SAFE
SG::WriteHandleKey< MeasurementToTruthParticleAssociation > m_associationOutKey
const_iterator begin() const