#include <EntryLayerToolMT.h>
|
| ServiceHandle< ISF::IGeoIDSvc > | m_geoIDSvc {this, "GeoIDSvc", "GeoIDSvc", "AthenaService used to indentify sub-detector by (x,y,z) coordintes."} |
| | GeoIDSvc will be used to determine the entry layer surface, the particle is on.
|
| ISF::IGeoIDSvc * | m_geoIDSvcQuick {} |
| ParticleFilterArray | m_particleFilterHandle {this, "ParticleFilters", {}, "ISF Particle filters, defining whether a particle will be stored or not."} |
| | Array of filters to decide whether a particle is added to the Entry/Exit layer.
|
| ISF::IParticleFilter ** | m_particleFilter {} |
| size_t | m_numParticleFilters {0} |
| std::string | m_volumeName [ISF::fNumAtlasEntryLayers] |
Definition at line 42 of file EntryLayerToolMT.h.
◆ EntryLayerToolMT()
| ISF::EntryLayerToolMT::EntryLayerToolMT |
( |
const std::string & | t, |
|
|
const std::string & | n, |
|
|
const IInterface * | p ) |
Constructor with parameters.
Constructor.
Definition at line 16 of file EntryLayerToolMT.cxx.
16 :
17 base_class(t,n,p),
19{
20
21 declareProperty( "CaloEntryVolumeString",
23 "VolumeName in TrackRecords in CaloEntryLayer");
24 declareProperty( "MuonEntryVolumeString",
26 "VolumeName in TrackRecords in MuonEntryLayer");
27 declareProperty( "MuonExitVolumeString",
29 "VolumeName in TrackRecords in MuonExitLayer");
30}
std::string m_volumeName[ISF::fNumAtlasEntryLayers]
◆ ~EntryLayerToolMT()
| virtual ISF::EntryLayerToolMT::~EntryLayerToolMT |
( |
| ) |
|
|
virtualdefault |
◆ identifyEntryLayer()
Identify the corresponding entry layer for the given particle (may return ISF::fUnsetEntryLayere if particle is not on an entry layer surface)
Definition at line 72 of file EntryLayerToolMT.cxx.
72 {
73
75
77
78
81
82
83 if ( onIDSurface && onCaloSurface ) {
85 }
86
87
88 else {
89
91
92
93 if (onCaloSurface && onMSSurface) {
95 }
96
97 else if (onMSSurface) {
99 }
100 }
101 return layerHit;
102}
ISF::IGeoIDSvc * m_geoIDSvcQuick
Eigen::Matrix< double, 3, 1 > Vector3D
EntryLayer
Identifiers for the TrackRecordCollections on the boundaries between CaloEntry: Inner Detector - Calo...
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
◆ initialize()
| StatusCode ISF::EntryLayerToolMT::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Athena algtool's Hooks.
Definition at line 34 of file EntryLayerToolMT.cxx.
35{
37
38
40
42
43
45
49
51 }
52
54 return StatusCode::SUCCESS;
55}
#define ATH_CHECK
Evaluate an expression and check for errors.
ServiceHandle< ISF::IGeoIDSvc > m_geoIDSvc
GeoIDSvc will be used to determine the entry layer surface, the particle is on.
ISF::IParticleFilter ** m_particleFilter
size_t m_numParticleFilters
ParticleFilterArray m_particleFilterHandle
Array of filters to decide whether a particle is added to the Entry/Exit layer.
◆ passesFilters()
| bool ISF::EntryLayerToolMT::passesFilters |
( |
const ISFParticle & | particle | ) |
|
|
finaloverridevirtual |
handle for incident service
Check if given particle passes the EntryLayer filters.
Check if given particle passes the EntryLayer filters
Definition at line 59 of file EntryLayerToolMT.cxx.
59 {
60 bool pass = true;
62
64 }
65
66 return pass;
67}
◆ registerParticle()
Add the given particle to the corresponding Entry/Exit layer if applicable.
Definition at line 106 of file EntryLayerToolMT.cxx.
107{
108
109
111
113 }
114
115
116
117
120 }
121
122
123
125 ATH_MSG_VERBOSE(
"Particle >>" << particle <<
"<< hit boundary surface, "
126 "adding it to '" << (*
s_collection)[layerHit]->
Name() <<
"' TrackRecord collection");
127
130 CLHEP::Hep3Vector hepPos(
pos.x(),
pos.y(),
pos.z() );
131 CLHEP::Hep3Vector hepMom(
mom.x(),
mom.y(),
mom.z() );
132
134 double energy = std::sqrt(mass*mass +
mom.mag2());
135
136
137
138 auto truthBinding =
particle.getTruthBinding();
139 auto generationZeroGenParticle = truthBinding ? truthBinding->getGenerationZeroGenParticle() : nullptr;
142 const int status = generationZeroGenParticle ? generationZeroGenParticle->status() :
particle.status();
143
145 status,
146 energy,
147 hepMom,
148 hepPos,
150 barcode,
151 id,
153 }
154
155 return layerHit;
156}
#define ATH_MSG_VERBOSE(x)
virtual bool passesFilters(const ISFParticle &particle) override final
handle for incident service
static thread_local std::unique_ptr< std::array< TrackRecordCollection *, ISF::fNumAtlasEntryLayers > > s_collection
The entry layer collections.
virtual ISF::EntryLayer identifyEntryLayer(const ISFParticle &particle) override final
Identify the corresponding entry layer for the given particle (may return ISF::fUnsetEntryLayere if p...
◆ registerTrackRecordCollection()
◆ setupEvent()
| virtual void ISF::EntryLayerToolMT::setupEvent |
( |
| ) |
|
|
inlineoverridevirtual |
◆ m_geoIDSvc
GeoIDSvc will be used to determine the entry layer surface, the particle is on.
Definition at line 75 of file EntryLayerToolMT.h.
75{this, "GeoIDSvc", "GeoIDSvc", "AthenaService used to indentify sub-detector by (x,y,z) coordintes."};
◆ m_geoIDSvcQuick
◆ m_numParticleFilters
| size_t ISF::EntryLayerToolMT::m_numParticleFilters {0} |
|
private |
◆ m_particleFilter
◆ m_particleFilterHandle
| ParticleFilterArray ISF::EntryLayerToolMT::m_particleFilterHandle {this, "ParticleFilters", {}, "ISF Particle filters, defining whether a particle will be stored or not."} |
|
private |
Array of filters to decide whether a particle is added to the Entry/Exit layer.
Definition at line 79 of file EntryLayerToolMT.h.
79{this, "ParticleFilters", {}, "ISF Particle filters, defining whether a particle will be stored or not."};
◆ m_volumeName
◆ s_collection
The documentation for this class was generated from the following files: