Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <TruthTrackRecordsAlg.h>
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &ctx) const 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 |
|
|
SG::ReadHandleKey< xAOD::TruthParticleContainer > | m_muonTruth {this, "muonTruth", "MuonTruthParticles"} |
| Key of the container of truth muons that will be decorated. More...
|
|
SG::ReadHandleKeyArray< TrackRecordCollection > | m_trackRecords |
| Keys of the containers of track records in different detector positions. More...
|
|
DecorKey_t | m_muonSnapShotX {this, "SnapShotX", { }, "Position decoration..."} |
|
DecorKey_t | m_muonSnapShotY {this, "SnapShotY", { }, "Position decoration..."} |
|
DecorKey_t | m_muonSnapShotZ {this, "SnapShotZ", { }, "Position decoration..."} |
|
DecorKey_t | m_muonSnapShotPx {this, "SnapShotPx", { }, "Momentum decoration..."} |
|
DecorKey_t | m_muonSnapShotPy {this, "SnapShotPy", { }, "Momentum decoration..."} |
|
DecorKey_t | m_muonSnapShotPz {this, "SnapShotPz", { }, "Momentum decoration..."} |
|
DecorKey_t | m_muonSnapShotMtc {this, "SnapShotMtc", { }, "is matched decoration..."} |
|
DecorKey_t | m_muonSnapShotEX {this, "SnapShotEX", { }, "Position decoration..."} |
|
DecorKey_t | m_muonSnapShotEY {this, "SnapShotEY", { }, "Position decoration..."} |
|
DecorKey_t | m_muonSnapShotEZ {this, "SnapShotEZ", { }, "Position decoration..."} |
|
DecorKey_t | m_muonSnapShotEPx {this, "SnapShotEPx", { }, "Momentum decoration..."} |
|
DecorKey_t | m_muonSnapShotEPy {this, "SnapShotEPy", { }, "Momentum decoration..."} |
|
DecorKey_t | m_muonSnapShotEPz {this, "SnapShotEPz", { }, "Momentum decoration..."} |
|
DecorKey_t | m_muonSnapShotEcov {this, "SnapShotEcov", { }, "Covariance decoration"} |
|
DecorKey_t | m_muonSnapShotEis {this, "SnapShotEis", { }, "Flag decoration whether the extrapolation worked"} |
|
ToolHandle< Trk::IExtrapolator > | m_extrapolator {this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"} |
| Extrapolation tool handle. More...
|
|
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 |
|
Definition at line 26 of file TruthTrackRecordsAlg.h.
◆ DecorKey_t
Declaration of the key arrays, which are all initialized as empty (they will be filled up by @fillWriteDecorator).
Each decorKeyArray, which is an array of keys, represents a property, and its elements represents that property evaluated at different detector positions. List of properties: x,y,x,px,py,pz are position and momentum in a given layer; matchedDecor is a flag saying if a record has been recorded in that layer; ex,ey,ez,epx,epy,epz are extrapolated position and momentum; ecov is a vector encapsulating the covariance matrix from extrapolation; eis is a flag representing if the extrapolation has been successful.
Definition at line 106 of file TruthTrackRecordsAlg.h.
◆ StoreGateSvc_t
◆ WriteDecorArray_b
◆ WriteDecorArray_f
Struct object encapsulating all write-decorators.
Each decorArray represents a property, and its elements represents that property evaluated at different detector positions. List of properties: x,y,x,px,py,pz are position and momentum in a given layer; matchedDecor is a flag saying if a record has been recorded in that layer; ex,ey,ez,epx,epy,epz are extrapolated position and momentum; ecov is a vector encapsulating the covariance matrix from extrapolation; eis is a flag representing if the extrapolation has been successful. We can decouple declaration and population of this object because vectors can be initialized empty.
Definition at line 45 of file TruthTrackRecordsAlg.h.
◆ WriteDecorArray_fvec
◆ addTrackRecords()
addTrackRecords is the actual function that decorates muons with track records.
Firstly, if production vertex is available, we save position and momentum at production. Then we loop over snapshot positions (e.g. calo entry level) and, in each position, we loop over track records. If the record is descendand of the muon, we save position and momentum in that position, as well as the tracking volume and record name (= snapshot position). Then, by means of another loop over all records of a truth muon, we extrapolate each record to the next shapshot position. Specifically, we save the extrapolated position and momentum, the extrapolation's covariance matrix, and a flag representing the extrapolation outcome.
- Parameters
-
ctx | tells in which event we are |
truthParticle | a pointer to the truth muon |
myDecors | reference to the decorator summary object |
loop over collection and find trackRecord with the same bar code. If we find a record, we save position and momentum
Make sure that the parameter vector has the same size
Save record name
Save tracking volume
Second loop, extrapolate between the points
If the track record is named, then we should have a volume
Definition at line 105 of file TruthTrackRecordsAlg.cxx.
120 ATH_CHECK(trackRecordCollection.isPresent());
122 const std::string r_name = trackRecordCollection.key();
123 float&
x = (*myDecors.xDecor[
idx])(truthParticle);
124 float&
y = (*myDecors.yDecor[
idx])(truthParticle);
125 float&
z = (*myDecors.zDecor[
idx])(truthParticle);
126 float&
px = (*myDecors.pxDecor[
idx])(truthParticle);
127 float&
py = (*myDecors.pyDecor[
idx])(truthParticle);
128 float&
pz = (*myDecors.pzDecor[
idx])(truthParticle);
130 char& found_truth = (*myDecors.matchedDecor[
idx])(truthParticle);
136 float& ex = (*myDecors.exDecor[
idx])(truthParticle);
137 float& ey = (*myDecors.eyDecor[
idx])(truthParticle);
138 float& ez = (*myDecors.ezDecor[
idx])(truthParticle);
139 float& epx = (*myDecors.epxDecor[
idx])(truthParticle);
140 float& epy = (*myDecors.epyDecor[
idx])(truthParticle);
141 float& epz = (*myDecors.epzDecor[
idx])(truthParticle);
143 ex = ey = ez = epx = epy = epz = dummy_val;
146 for (
const TrackRecord& trackRecord : *trackRecordCollection) {
148 CLHEP::Hep3Vector
pos = trackRecord.GetPosition();
149 CLHEP::Hep3Vector
mom = trackRecord.GetMomentum();
150 ATH_MSG_VERBOSE(
"Found associated " << r_name <<
" pt " <<
mom.perp() <<
" position: r " <<
pos.perp() <<
" z " <<
pos.z());
159 if (!found_truth) {
parameters.emplace_back();}
162 r_pars.record_name = r_name;
166 if (!found_truth)
continue;
168 if (r_name ==
"CaloEntryLayer")
169 volume = trackingGeometry->
trackingVolume(
"InDet::Containers::InnerDetector");
170 else if (r_name ==
"MuonEntryLayer")
172 else if (r_name ==
"MuonExitLayer")
173 volume = trackingGeometry->
trackingVolume(
"Muon::Containers::MuonSystem");
177 r_pars.volume = volume;
184 cov(4, 4) = 1
e-3 / truthParticle.
p4().P();
189 if ( (!start_pars.record_name.empty() && !start_pars.volume) || !end_pars.volume)
continue;
193 const std::string& r_name = end_pars.record_name;
195 float& ex = (*myDecors.exDecor[end_pars.idx])(truthParticle);
196 float& ey = (*myDecors.eyDecor[end_pars.idx])(truthParticle);
197 float& ez = (*myDecors.ezDecor[end_pars.idx])(truthParticle);
198 float& epx = (*myDecors.epxDecor[end_pars.idx])(truthParticle);
199 float& epy = (*myDecors.epyDecor[end_pars.idx])(truthParticle);
200 float& epz = (*myDecors.epzDecor[end_pars.idx])(truthParticle);
202 std::vector<float>& covMat = (*myDecors.ecovDecor[end_pars.idx])(truthParticle);
204 std::unique_ptr<Trk::TrackParameters> exPars{
210 (*myDecors.eisDecor[end_pars.idx])(truthParticle) =
true;
211 ex = exPars->position().x();
212 ey = exPars->position().y();
213 ez = exPars->position().z();
214 epx = exPars->momentum().x();
215 epy = exPars->momentum().y();
216 epz = exPars->momentum().z();
221 <<
" truth: r " << end_pars.pos.perp() <<
" z "
222 << end_pars.pos.z() <<
" p "
223 << end_pars.mom.mag() << std::endl
224 <<
" extrp: r " << exPars->position().perp() <<
" z "
225 << exPars->position().z() <<
" p "
226 << exPars->momentum().mag() <<
" res p "
227 << (end_pars.mom.mag() -
228 exPars->momentum().mag())
229 <<
" error " << errorp <<
" cov "
232 << (end_pars.mom.mag() -
233 exPars->momentum().mag()) /
236 return StatusCode::SUCCESS;
◆ 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.
◆ 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]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode Muon::TruthTrackRecordsAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
◆ 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.
◆ fillWriteDecorator()
This function fills the arrays of write-decorator keys and initializes them.
Specifically, the key that will be written at i-th position is <property_name>_<detector_position(i)>, where property_name = writeKey, and detector_position(i) is retrieved from (= is an element of) m_trackRecords
- Parameters
-
writeKey | reference to the (empty) array of write-decor keys that is going to be populated |
keyName | reference to the property name (e.g. x, x_extr, ...) |
Definition at line 41 of file TruthTrackRecordsAlg.cxx.
44 const std::string fullKey = recordKey.key() +
"_" +
keyName;
◆ filterPassed()
◆ initialize()
StatusCode Muon::TruthTrackRecordsAlg::initialize |
( |
| ) |
|
|
overridevirtual |
◆ 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.
◆ 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.
◆ updateVHKA()
◆ 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_extrapolator
◆ m_muonSnapShotEcov
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEcov {this, "SnapShotEcov", { }, "Covariance decoration"} |
|
private |
◆ m_muonSnapShotEis
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEis {this, "SnapShotEis", { }, "Flag decoration whether the extrapolation worked"} |
|
private |
◆ m_muonSnapShotEPx
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEPx {this, "SnapShotEPx", { }, "Momentum decoration..."} |
|
private |
◆ m_muonSnapShotEPy
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEPy {this, "SnapShotEPy", { }, "Momentum decoration..."} |
|
private |
◆ m_muonSnapShotEPz
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEPz {this, "SnapShotEPz", { }, "Momentum decoration..."} |
|
private |
◆ m_muonSnapShotEX
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEX {this, "SnapShotEX", { }, "Position decoration..."} |
|
private |
◆ m_muonSnapShotEY
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEY {this, "SnapShotEY", { }, "Position decoration..."} |
|
private |
◆ m_muonSnapShotEZ
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotEZ {this, "SnapShotEZ", { }, "Position decoration..."} |
|
private |
◆ m_muonSnapShotMtc
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotMtc {this, "SnapShotMtc", { }, "is matched decoration..."} |
|
private |
◆ m_muonSnapShotPx
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotPx {this, "SnapShotPx", { }, "Momentum decoration..."} |
|
private |
◆ m_muonSnapShotPy
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotPy {this, "SnapShotPy", { }, "Momentum decoration..."} |
|
private |
◆ m_muonSnapShotPz
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotPz {this, "SnapShotPz", { }, "Momentum decoration..."} |
|
private |
◆ m_muonSnapShotX
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotX {this, "SnapShotX", { }, "Position decoration..."} |
|
private |
◆ m_muonSnapShotY
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotY {this, "SnapShotY", { }, "Position decoration..."} |
|
private |
◆ m_muonSnapShotZ
DecorKey_t Muon::TruthTrackRecordsAlg::m_muonSnapShotZ {this, "SnapShotZ", { }, "Position decoration..."} |
|
private |
◆ m_muonTruth
◆ m_trackRecords
Initial value:{
this, "TrackRecordCollectionNames", {"CaloEntryLayer", "MuonEntryLayer", "MuonExitLayer"}}
Keys of the containers of track records in different detector positions.
Definition at line 96 of file TruthTrackRecordsAlg.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
bool hasPositiveDiagElems(const AmgSymMatrix(N) &mat)
Returns true if all diagonal elements of the covariance matrix are finite aka sane in the above defin...
void compress(const AmgSymMatrix(N) &covMatrix, std::vector< float > &vec)
DecorKey_t m_muonSnapShotEis
DecorKey_t m_muonSnapShotMtc
float pz() const
The z component of the particle's momentum.
DecorKey_t m_muonSnapShotEX
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
SG::ReadHandleKeyArray< TrackRecordCollection > m_trackRecords
Keys of the containers of track records in different detector positions.
StatusCode addTrackRecords(const EventContext &ctx, const xAOD::TruthParticle &truthParticle, SummaryDecors &myDecors) const
addTrackRecords is the actual function that decorates muons with track records.
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)
float px() const
The x component of the particle's momentum.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
float py() const
The y component of the particle's momentum.
#define ATH_MSG_VERBOSE(x)
Property holding a SG store/key/clid from which a ReadHandle is made.
DecorKey_t m_muonSnapShotEcov
DecorKey_t m_muonSnapShotPz
#define AmgSymMatrix(dim)
DecorKey_t m_muonSnapShotEPx
DecorKey_t m_muonSnapShotZ
virtual void setOwner(IDataHandleHolder *o)=0
DecorKey_t m_muonSnapShotPx
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
DecorKey_t m_muonSnapShotX
DecorKey_t m_muonSnapShotEPy
StatusCode fillWriteDecorator(SG::WriteDecorHandleKeyArray< xAOD::TruthParticleContainer, T > &writeKey, const std::string &keyName) const
This function fills the arrays of write-decorator keys and initializes them.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_muonTruth
Key of the container of truth muons that will be decorated.
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
DecorKey_t m_muonSnapShotEZ
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
DecorKey_t m_muonSnapShotEY
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const TruthVertex_v1 * prodVtx() const
The production vertex of this particle.
DecorKey_t m_muonSnapShotPy
Class describing a truth vertex in the MC record.
DecorKey_t m_muonSnapShotY
StatusCode initialize(bool used=true)
forward the initialization to the member VarHandleKeys
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
Eigen::Matrix< double, 3, 1 > Vector3D
#define ATH_MSG_WARNING(x)
ToolHandle< Trk::IExtrapolator > m_extrapolator
Extrapolation tool handle.
DecorKey_t m_muonSnapShotEPz
const TrackingVolume * trackingVolume(const std::string &name) const
return the tracking Volume by name, 0 if it doesn't exist
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual StatusCode sysInitialize() override
Override sysInitialize.
bool is_sim_descendant(const T1 &p1, const T2 &p2)
Method to check if the first particle is a descendant of the second in the simulation,...
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
double charge() const
Physical charge.