ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
HighGranularityTimingDetector
HGTD_Analysis
HGTD_Analysis
IHGTD_ExpertTrackTimeAccessor.h
Go to the documentation of this file.
1
17
18
#ifndef IHGTD_EXPERTTRACKTIMEACCESSOR_H
19
#define IHGTD_EXPERTTRACKTIMEACCESSOR_H
20
21
#include "GaudiKernel/IAlgTool.h"
22
#include "GaudiKernel/PhysicalConstants.h"
23
#include "
xAODTracking/TrackParticle.h
"
24
#include "
xAODTruth/TruthParticle.h
"
25
#include "
xAODTruth/TruthVertex.h
"
26
#include "
xAODTruth/xAODTruthHelpers.h
"
27
28
class
MsgStream;
29
30
class
IHGTD_ExpertTrackTimeAccessor
:
virtual
public
IAlgTool {
31
32
public
:
33
DeclareInterfaceID
(
IHGTD_ExpertTrackTimeAccessor
, 1, 0);
34
41
virtual
bool
42
expertHasTime
(
const
xAOD::TrackParticle
& track_particle)
const
= 0;
43
51
virtual
float
52
expertTime
(
const
xAOD::TrackParticle
& track_particle)
const
= 0;
53
62
virtual
float
63
expertTimeRes
(
const
xAOD::TrackParticle
& track_particle)
const
= 0;
64
69
virtual
float
70
fracPrimaryHits
(
const
xAOD::TrackParticle
& track_particle)
const
= 0;
71
76
virtual
int
numberPotentialPrimaryHits
(
77
const
xAOD::TrackParticle
& track_particle)
const
= 0;
78
83
virtual
float
getTruthTime
(
const
xAOD::TruthParticle
& truth_particle)
const
{
84
float
truth_time = -999.;
85
auto
production_vx = truth_particle.
prodVtx
();
86
if
(production_vx) {
87
truth_time = production_vx->t() / Gaudi::Units::c_light;
88
}
89
return
truth_time;
90
};
91
92
virtual
float
getTruthTime
(
const
xAOD::TrackParticle
& track_particle)
const
{
93
float
truth_time = -999.;
94
auto
truth_ptcl =
xAOD::TruthHelpers::getTruthParticle
(track_particle);
95
if
(truth_ptcl) {
96
auto
production_vx = truth_ptcl->prodVtx();
97
if
(production_vx) {
98
truth_time = production_vx->t() / Gaudi::Units::c_light;
99
}
100
}
101
return
truth_time;
102
}
103
104
virtual
float
getTruthTime
(
const
xAOD::TruthVertex
& truth_vertex)
const
{
105
return
truth_vertex.
t
() / Gaudi::Units::c_light;
106
}
107
};
108
109
#endif
// IHGTD_EXPERTTRACKTIMEACCESSOR_H
TrackParticle.h
TruthParticle.h
TruthVertex.h
IHGTD_ExpertTrackTimeAccessor
Definition
IHGTD_ExpertTrackTimeAccessor.h:30
IHGTD_ExpertTrackTimeAccessor::fracPrimaryHits
virtual float fracPrimaryHits(const xAOD::TrackParticle &track_particle) const =0
Returns the fraction of the hits used for the track time that were left by a primary particle.
IHGTD_ExpertTrackTimeAccessor::getTruthTime
virtual float getTruthTime(const xAOD::TruthVertex &truth_vertex) const
Definition
IHGTD_ExpertTrackTimeAccessor.h:104
IHGTD_ExpertTrackTimeAccessor::getTruthTime
virtual float getTruthTime(const xAOD::TruthParticle &truth_particle) const
Returns the time of the associated truth vertex, if one can be found.
Definition
IHGTD_ExpertTrackTimeAccessor.h:83
IHGTD_ExpertTrackTimeAccessor::expertTimeRes
virtual float expertTimeRes(const xAOD::TrackParticle &track_particle) const =0
Assuming gaussian behaviour for the track time resolution, this function retuns the uncertainty on th...
IHGTD_ExpertTrackTimeAccessor::DeclareInterfaceID
DeclareInterfaceID(IHGTD_ExpertTrackTimeAccessor, 1, 0)
IHGTD_ExpertTrackTimeAccessor::numberPotentialPrimaryHits
virtual int numberPotentialPrimaryHits(const xAOD::TrackParticle &track_particle) const =0
Returns the number of HGTD surfaces on which a hit from a primary particle was expected for this trac...
IHGTD_ExpertTrackTimeAccessor::expertHasTime
virtual bool expertHasTime(const xAOD::TrackParticle &track_particle) const =0
Not each track has a time defined.
IHGTD_ExpertTrackTimeAccessor::expertTime
virtual float expertTime(const xAOD::TrackParticle &track_particle) const =0
Returns the reconstructed time assigned to the track.
IHGTD_ExpertTrackTimeAccessor::getTruthTime
virtual float getTruthTime(const xAOD::TrackParticle &track_particle) const
Definition
IHGTD_ExpertTrackTimeAccessor.h:92
xAOD::TruthParticle_v1::prodVtx
const TruthVertex_v1 * prodVtx() const
The production vertex of this particle.
Definition
TruthParticle_v1.cxx:75
xAOD::TruthVertex_v1::t
float t() const
Vertex time.
xAOD::TruthHelpers::getTruthParticle
const xAOD::TruthParticle * getTruthParticle(const xAOD::IParticle &p)
Return the truthParticle associated to the given IParticle (if any).
Definition
xAODTruthHelpers.cxx:25
xAOD::TruthVertex
TruthVertex_v1 TruthVertex
Typedef to implementation.
Definition
TruthVertex.h:15
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::TruthParticle
TruthParticle_v1 TruthParticle
Typedef to implementation.
Definition
Event/xAOD/xAODTruth/xAODTruth/TruthParticle.h:15
xAODTruthHelpers.h
Generated on
for ATLAS Offline Software by
1.17.0