ATLAS Offline Software
Loading...
Searching...
No Matches
TRTStrawEfficiency Class Reference

#include <TRTStrawEfficiency.h>

Inheritance diagram for TRTStrawEfficiency:
Collaboration diagram for TRTStrawEfficiency:

Public Member Functions

 TRTStrawEfficiency (const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize ()
StatusCode finalize ()
StatusCode execute ()
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

void make_branches ()
void clear_branches ()
int fill_hit_data (const Trk::TrackStateOnSurface &hit)
int fill_hole_data (const Trk::TrackStateOnSurface &hole)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

ToolHandle< Trk::ITrackHoleSearchToolm_trt_hole_finder {this, "trt_hole_finder","TRTTrackHoleSearchTool"}
FloatProperty m_max_abs_d0 {this, "max_abs_d0", 600*CLHEP::mm}
FloatProperty m_max_abs_z0 {this, "max_abs_z0", 600*CLHEP::mm}
FloatProperty m_min_pT {this, "min_pT", 1.0*CLHEP::GeV}
FloatProperty m_min_p {this, "min_p", 2.0*CLHEP::GeV}
FloatProperty m_max_abs_eta {this, "max_abs_eta", 2.5}
IntegerProperty m_min_pixel_hits {this, "min_pixel_hits", 0}
IntegerProperty m_min_sct_hits {this, "min_sct_hits", 2}
IntegerProperty m_min_trt_hits {this, "min_trt_hits", 15}
ServiceHandle< ITHistSvc > m_hist_svc {this, "hist_svc", "THistSvc"}
ServiceHandle< ITRT_StrawNeighbourSvcm_TRTStrawNeighbourSvc {this, "straw_neighbour_svc", "TRT_StrawNeighbourSvc"}
StringProperty m_tree_name {this, "tree_name", "trt_eff"}
StringProperty m_stream_name {this, "stream_name", "TRTEffStream"}
StringProperty m_required_trigger {this, "required_trigger", ""}
TTree * m_tree {nullptr}
const TRT_IDm_TRT_ID {nullptr}
PublicToolHandle< Trk::IUpdatorm_updator {this,"KalmanUpdator","Trk::KalmanUpdator/TrkKalmanUpdator",""}
PublicToolHandle< Trig::ITrigDecisionToolm_trigDec {this,"ITrigDecisionTool","Trig::ITrigDecisionTool/TrigDecisionTool",""}
SG::ReadHandleKey< TrackCollectionm_tracksKey {this, "track_collection", "CombinedInDetTracks", "Tracks container key"}
SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey {this, "event_info_key", "EventInfo", "Event info key"}
SG::ReadHandleKey< xAOD::VertexContainerm_vertexContainerKey {this, "VertexContainerName", "PrimaryVertices", "Vertex container key"}
unsigned int m_num_events {0}
unsigned int m_num_tracks {0}
unsigned int m_num_preselected_tracks {0}
unsigned int m_event_number {0}
unsigned int m_run_number {0}
unsigned int m_lumi_block {0}
float m_track_pt {0.}
float m_track_eta {0.}
float m_track_phi {0.}
float m_track_d0 {0.}
float m_track_z0 {0.}
int m_n_pixel_hits {0}
int m_n_sct_hits {0}
int m_n_trt_hits {0}
std::vector< int > m_hit_bec
std::vector< int > m_hit_phi
std::vector< int > m_hit_layer
std::vector< int > m_hit_strawlayer
std::vector< int > m_hit_straw
std::vector< int > m_hit_chip
std::vector< int > m_hit_pad
std::vector< float > m_hit_x
std::vector< float > m_hit_y
std::vector< float > m_hit_z
std::vector< float > m_hit_center_x
std::vector< float > m_hit_center_y
std::vector< float > m_hit_center_z
std::vector< float > m_hit_R
std::vector< float > m_hit_locR
std::vector< int > m_hit_HL
std::vector< int > m_hit_det
std::vector< float > m_hit_ub_locR
std::vector< float > m_hit_ub_x
std::vector< float > m_hit_ub_y
std::vector< float > m_hit_ub_z
int m_n_pixel_holes {0}
int m_n_sct_holes {0}
int m_n_trt_holes {0}
std::vector< int > m_hole_bec
std::vector< int > m_hole_phi
std::vector< int > m_hole_layer
std::vector< int > m_hole_strawlayer
std::vector< int > m_hole_straw
std::vector< int > m_hole_chip
std::vector< int > m_hole_pad
std::vector< float > m_hole_x
std::vector< float > m_hole_y
std::vector< float > m_hole_z
std::vector< float > m_hole_center_x
std::vector< float > m_hole_center_y
std::vector< float > m_hole_center_z
std::vector< float > m_hole_locR
std::vector< float > m_hole_locR_error
std::vector< int > m_hole_det
std::vector< int > m_hit_tube_hit
int m_n_primary_vertex {0}
int m_n_tube_hits {0}
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 42 of file TRTStrawEfficiency.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TRTStrawEfficiency()

TRTStrawEfficiency::TRTStrawEfficiency ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 34 of file TRTStrawEfficiency.cxx.

34: AthAlgorithm(name, pSvcLocator) {}
AthAlgorithm()
Default constructor:

Member Function Documentation

◆ clear_branches()

void TRTStrawEfficiency::clear_branches ( )
private

Definition at line 332 of file TRTStrawEfficiency.cxx.

332 {
333 m_event_number = 0;
334 m_run_number = 0;
335 m_lumi_block = 0;
336 m_track_pt = 0.0;
337 m_track_eta = 0.0;
338 m_track_phi = 0.0;
339 m_track_d0 = 0.0;
340 m_track_z0 = 0.0;
341 m_n_pixel_hits = 0;
342 m_n_sct_hits = 0;
343 m_n_trt_hits = 0;
344 m_hit_bec.clear();
345 m_hit_phi.clear();
346 m_hit_layer.clear();
347 m_hit_strawlayer.clear();
348 m_hit_straw.clear();
349 m_hit_chip.clear();
350 m_hit_pad.clear();
351 m_hit_x.clear();
352 m_hit_y.clear();
353 m_hit_z.clear();
354 m_hit_center_x.clear();
355 m_hit_center_y.clear();
356 m_hit_center_z.clear();
357 m_hit_R.clear();
358 m_hit_locR.clear();
359 m_hit_HL.clear();
360 m_hit_det.clear();
361 m_hit_ub_locR.clear();
362 m_hit_ub_x.clear();
363 m_hit_ub_y.clear();
364 m_hit_ub_z.clear();
365 m_n_pixel_holes = 0;
366 m_n_sct_holes = 0;
367 m_n_trt_holes = 0;
368 m_hole_bec.clear();
369 m_hole_phi.clear();
370 m_hole_layer.clear();
371 m_hole_strawlayer.clear();
372 m_hole_straw.clear();
373 m_hole_chip.clear();
374 m_hole_pad.clear();
375 m_hole_x.clear();
376 m_hole_y.clear();
377 m_hole_z.clear();
378 m_hole_center_x.clear();
379 m_hole_center_y.clear();
380 m_hole_center_z.clear();
381 m_hole_locR.clear();
382 m_hole_locR_error.clear();
383 m_hole_det.clear();
384
385 m_n_primary_vertex = 0; // added by dan
386 m_hit_tube_hit.clear(); // added by dan
387 m_n_tube_hits = 0; // added by dan
388}
std::vector< float > m_hit_ub_z
std::vector< int > m_hit_pad
std::vector< float > m_hit_z
std::vector< int > m_hit_straw
unsigned int m_event_number
std::vector< float > m_hole_center_x
std::vector< float > m_hole_center_y
std::vector< int > m_hit_det
std::vector< float > m_hole_z
std::vector< float > m_hole_x
std::vector< float > m_hit_ub_y
std::vector< int > m_hit_bec
std::vector< float > m_hole_locR
std::vector< int > m_hit_HL
std::vector< float > m_hit_center_y
std::vector< int > m_hole_strawlayer
std::vector< float > m_hit_y
std::vector< float > m_hole_locR_error
std::vector< float > m_hit_center_x
std::vector< int > m_hit_layer
std::vector< int > m_hit_phi
std::vector< float > m_hit_R
std::vector< int > m_hole_det
std::vector< int > m_hit_strawlayer
std::vector< float > m_hit_locR
std::vector< int > m_hole_chip
std::vector< int > m_hole_phi
std::vector< int > m_hole_layer
std::vector< int > m_hit_tube_hit
std::vector< float > m_hole_center_z
std::vector< int > m_hole_straw
std::vector< float > m_hole_y
std::vector< int > m_hit_chip
std::vector< int > m_hole_pad
std::vector< float > m_hit_x
std::vector< float > m_hit_ub_locR
std::vector< float > m_hit_center_z
std::vector< int > m_hole_bec
std::vector< float > m_hit_ub_x

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode TRTStrawEfficiency::execute ( )

Definition at line 81 of file TRTStrawEfficiency.cxx.

81 {
82 ATH_MSG_DEBUG( "TRTStrawEfficiency::execute() event: " << m_num_events );
83
84 // ATH_MSG_DEUBG( "getListOfTriggers: " << m_trigDec->getListOfTriggers() );
85
86 // require trigger
87 if ( !m_required_trigger.empty() ) {
88 if ( !m_trigDec->isPassed(m_required_trigger) ) {
89 // skip event
90 ATH_MSG_DEBUG( " trigger: " << m_required_trigger << " failed. Skipping event.");
91 return StatusCode::SUCCESS;
92 } else {
93 ATH_MSG_DEBUG( " trigger: " << m_required_trigger << " passed.");
94 }
95 }
96
97 // retrieve tracks
98 SG::ReadHandle<TrackCollection> tracks(m_tracksKey);
99 if (!tracks.isValid()) {
100 ATH_MSG_FATAL( "Failed to retrieve " << m_tracksKey.key() );
101 return StatusCode::FAILURE;
102 }
103
104 // retrieve event info
105 SG::ReadHandle<xAOD::EventInfo> event_info(m_eventInfoKey);
106 if (!event_info.isValid()) {
107 ATH_MSG_FATAL( "Failed to retrieve " << m_eventInfoKey.key() );
108 return StatusCode::FAILURE;
109 }
110
111 m_event_number = event_info->eventNumber();
112 m_run_number = event_info->runNumber();
113 m_lumi_block = event_info->lumiBlock();
114
115 ATH_MSG_DEBUG( "run_number = " << m_run_number << ", lumi_block = " << m_lumi_block << ", event_number = " << m_event_number );
116
117 // loop over tracks
118 ATH_MSG_DEBUG( "This event has " << tracks->size() << " tracks." );
119 for (const auto *track : *tracks) {
120 m_num_tracks++;
121
122 // clear branches
124
125 // get perigee
126 const Trk::Perigee* perigee = track->perigeeParameters();
127 if (perigee) {
128 m_track_pt = perigee->pT();
129 m_track_eta = perigee->eta();
130 m_track_phi = perigee->parameters()[Trk::phi0];
131 m_track_d0 = perigee->parameters()[Trk::d0];
132 m_track_z0 = perigee->parameters()[Trk::z0];
133 ATH_MSG_DEBUG( " This track has perigee parameters:\n"
134 << " pT = " << m_track_pt/CLHEP::GeV << " CLHEP::GeV" << "\n"
135 << " eta = " << m_track_eta << "\n"
136 << " phi0 = " << m_track_phi << "\n"
137 << " d0 = " << m_track_d0 << "\n"
138 << " z0 = " << m_track_z0 << "\n"
139 << " theta = " << perigee->parameters()[Trk::theta] << "\n"
140 << " qOverP = " << perigee->parameters()[Trk::qOverP] );
141 } else {
142 ATH_MSG_ERROR( " This track has null perigeeParameters." );
143 continue;
144 }
145
146 // get TrackStateOnSurfaces
147 const Trk::TrackStates* track_states = track->trackStateOnSurfaces();
148 if (track_states) {
149 ATH_MSG_DEBUG( " This track has " << track_states->size() << " track states on surface." );
150 } else {
151 ATH_MSG_ERROR( " This track has null track states on surface." );
152 continue;
153 }
154
155 // count hits
156 for (const auto *trackState : *track_states) {
157 if (trackState->type(Trk::TrackStateOnSurface::Measurement)) {
158 if (dynamic_cast<const InDet::TRT_DriftCircleOnTrack*> (trackState->measurementOnTrack())) m_n_trt_hits++;
159 else if (dynamic_cast<const InDet::SCT_ClusterOnTrack*> (trackState->measurementOnTrack())) m_n_sct_hits++;
160 else if (dynamic_cast<const InDet::PixelClusterOnTrack*> (trackState->measurementOnTrack())) m_n_pixel_hits++;
161 }
162 }
163
164 ATH_MSG_DEBUG( " This track has\n"
165 << " # Pixel hits = " << m_n_pixel_hits << "\n"
166 << " # SCT hits = " << m_n_sct_hits << "\n"
167 << " # TRT hits = " << m_n_trt_hits );
168
169 // preselect tracks
170 bool passed_track_preselection =
171 ( fabs(perigee->parameters()[Trk::d0]) < m_max_abs_d0 )&&
172 ( fabs(perigee->parameters()[Trk::z0]) < m_max_abs_z0 )&&
173 ( 1/fabs(perigee->parameters()[Trk::qOverP]) > m_min_p )&& // added by dan
174 ( perigee->pT() > m_min_pT )&&
175 ( fabs(perigee->eta()) < m_max_abs_eta )&&
179
180 if (!passed_track_preselection) {
181 ATH_MSG_DEBUG( " This track failed preselection." );
182 continue;
183 }
184
185 ATH_MSG_DEBUG( " This track passed preselection." );
187
188 for (const auto *trackState : *track_states ) {
189 if (trackState->type(Trk::TrackStateOnSurface::Measurement)) {
190 fill_hit_data(*trackState);
191 }
192 }
193
194 const Trk::TrackStates* holes = m_trt_hole_finder->getHolesOnTrack(*track);
195 if (!holes) {
196 ATH_MSG_WARNING( " TRTTrackHoleSearchTool returned null results." );
197 continue;
198 } else {
199 m_n_pixel_holes = 0;
200 m_n_sct_holes = 0;
201 m_n_trt_holes = 0;
202 for (const auto *hole : *holes) {
204 int hole_det = fill_hole_data(*hole);
205 switch (hole_det) {
206 case 1:
208 break;
209 case 2:
211 break;
212 case 3:
214 break;
215 default:
216 ATH_MSG_ERROR("fill_hole_data returned an invalid det type: " << hole_det);
217 }
218 } else {
219 ATH_MSG_WARNING(" hole finder returned a TrackStateOnSurface not of type Hole.");
220 }
221 }
222 delete holes;
223 }
224
225 //------- added by dan -------
226
227 SG::ReadHandle<xAOD::VertexContainer> vxContainer(m_vertexContainerKey);
228
229 if (!vxContainer.isValid()) {
230 ATH_MSG_ERROR(" Failed to retrieve VxContainer: " << m_vertexContainerKey.key());
231 return StatusCode::FAILURE;
232 }
233 m_n_primary_vertex = vxContainer->size() - 1;
234 //-----------------------------
235
236
237 m_tree->Fill();
238
239 ATH_MSG_DEBUG( " This track has\n"
240 << " # Pixel holes = " << m_n_pixel_holes << "\n"
241 << " # SCT holes = " << m_n_sct_holes << "\n"
242 << " # TRT holes = " << m_n_trt_holes );
243
244 } // end loop over tracks
245
246 m_num_events++;
247 return StatusCode::SUCCESS;
248}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_FATAL(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
size_type size() const noexcept
Returns the number of elements in the collection.
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
IntegerProperty m_min_trt_hits
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
int fill_hole_data(const Trk::TrackStateOnSurface &hole)
FloatProperty m_max_abs_d0
IntegerProperty m_min_sct_hits
StringProperty m_required_trigger
FloatProperty m_max_abs_z0
IntegerProperty m_min_pixel_hits
int fill_hit_data(const Trk::TrackStateOnSurface &hit)
ToolHandle< Trk::ITrackHoleSearchTool > m_trt_hole_finder
FloatProperty m_max_abs_eta
unsigned int m_num_preselected_tracks
PublicToolHandle< Trig::ITrigDecisionTool > m_trigDec
SG::ReadHandleKey< TrackCollection > m_tracksKey
double eta() const
Access method for pseudorapidity - from momentum.
double pT() const
Access method for transverse momentum.
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
@ Hole
A hole on the track - this is defined in the following way.
DataVector< const Trk::TrackStateOnSurface > TrackStates
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
@ phi0
Definition ParamDefs.h:65
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ d0
Definition ParamDefs.h:63
@ z0
Definition ParamDefs.h:64

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

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()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ fill_hit_data()

int TRTStrawEfficiency::fill_hit_data ( const Trk::TrackStateOnSurface & hit)
private

Definition at line 392 of file TRTStrawEfficiency.cxx.

392 {
393 const Trk::TrackParameters* track_parameters = hit.trackParameters();
394 if (!track_parameters) {
395 ATH_MSG_ERROR("fill_hit_data(hit): null track_parameters");
396 return 0;
397 }
398
399 m_hit_x.push_back( track_parameters->position().x() );
400 m_hit_y.push_back( track_parameters->position().y() );
401 m_hit_z.push_back( track_parameters->position().z() );
402
403 m_hit_center_x.push_back( track_parameters->associatedSurface().center().x() );
404 m_hit_center_y.push_back( track_parameters->associatedSurface().center().y() );
405 m_hit_center_z.push_back( track_parameters->associatedSurface().center().z() );
406
407 Identifier id = track_parameters->associatedSurface().associatedDetectorElementIdentifier();
408
409 int det = 0;
410 if(m_TRT_ID->is_pixel(id)) {
411 det = 1;
412 } else if(m_TRT_ID->is_sct(id)) {
413 det = 2;
414 } else if(m_TRT_ID->is_trt(id)) {
415 det = 3;
416 }
417 m_hit_det.push_back( det );
418
419 m_hit_bec.push_back( det == 3 ? m_TRT_ID->barrel_ec(id) : 0 );
420 m_hit_phi.push_back( det == 3 ? m_TRT_ID->phi_module(id) : -1 );
421 m_hit_layer.push_back( det == 3 ? m_TRT_ID->layer_or_wheel(id) : -1 );
422 m_hit_strawlayer.push_back( det == 3 ? m_TRT_ID->straw_layer(id) : -1 );
423 m_hit_straw.push_back( det == 3 ? m_TRT_ID->straw(id) : -1 );
424
425 int chip = -1;
426 if(det == 3) {
427 m_TRTStrawNeighbourSvc->getChip(id, chip);
428 }
429 m_hit_chip.push_back(chip);
430
431 int pad = -1;
432 if(det == 3) {
433 m_TRTStrawNeighbourSvc->getPad(id, pad);
434 }
435 m_hit_pad.push_back(pad);
436
437 m_hit_locR.push_back( det == 3 ? track_parameters->parameters()[Trk::locR] : -1 );
438
439 const Trk::MeasurementBase* measurement = hit.measurementOnTrack();
440 const InDet::TRT_DriftCircleOnTrack* trtcircle = nullptr;
441 if(measurement) {
442 trtcircle = dynamic_cast<const InDet::TRT_DriftCircleOnTrack*> (measurement);
443 } else {
444 ATH_MSG_ERROR("fill_hit_data(hit): null measurement");
445 }
446
447 if(!trtcircle) {
448 ATH_MSG_DEBUG("fill_hit_data(hit): null trtcircle");
449 }
450
451 m_hit_R.push_back( (det == 3)&&(trtcircle != nullptr) ? trtcircle->localParameters()[Trk::driftRadius] : -1 );
452 m_hit_HL.push_back( (det == 3)&&(trtcircle != nullptr) ? trtcircle->highLevel() : -1 );
453
454 // unbiased trk parameters
455 std::unique_ptr<Trk::TrackParameters> unbiased_track_parameters =
456 m_updator->removeFromState(
457 *(hit.trackParameters()),
460
461 m_hit_ub_locR.push_back( det == 3 && unbiased_track_parameters ? unbiased_track_parameters->parameters()[Trk::locR] : -1 );
462 m_hit_ub_x.push_back( unbiased_track_parameters ? unbiased_track_parameters->position().x() : -1 );
463 m_hit_ub_y.push_back( unbiased_track_parameters ? unbiased_track_parameters->position().y() : -1 );
464 m_hit_ub_z.push_back( unbiased_track_parameters ? unbiased_track_parameters->position().z() : -1 );
465
466 // ------- added by dan -------
467 int is_tube_hit = -1;
468 if (measurement && (det == 3) ) {
469 is_tube_hit = ((measurement->localCovariance())(Trk::locX,Trk::locX) > 1.0)? 1 : 0;
470 if (is_tube_hit) m_n_tube_hits++;
471 }
472
473 m_hit_tube_hit.push_back( (det == 3)&&(measurement != nullptr) ? is_tube_hit : -1);
474
475 // ----------------------------
476
477
478 return det;
479}
bool highLevel() const
returns true if the high level threshold was passed
ServiceHandle< ITRT_StrawNeighbourSvc > m_TRTStrawNeighbourSvc
PublicToolHandle< Trk::IUpdator > m_updator
const TRT_ID * m_TRT_ID
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
const Amg::Vector3D & position() const
Access method for the position.
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
Identifier associatedDetectorElementIdentifier() const
return Identifier of the associated Detector Element
const Amg::Vector3D & center() const
Returns the center position of the Surface.
const MeasurementBase * measurementOnTrack() const
returns MeasurementBase const overload
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
@ driftRadius
trt, straws
Definition ParamDefs.h:53
@ locX
Definition ParamDefs.h:37
@ locR
Definition ParamDefs.h:44
ParametersBase< TrackParametersDim, Charged > TrackParameters

◆ fill_hole_data()

int TRTStrawEfficiency::fill_hole_data ( const Trk::TrackStateOnSurface & hole)
private

Definition at line 483 of file TRTStrawEfficiency.cxx.

483 {
484 const Trk::TrackParameters* track_parameters = hole.trackParameters();
485 if (!track_parameters) {
486 ATH_MSG_ERROR("fill_hole_data(hole): null track_parameters");
487 return 0;
488 }
489
490 m_hole_x.push_back( track_parameters->position().x() );
491 m_hole_y.push_back( track_parameters->position().y() );
492 m_hole_z.push_back( track_parameters->position().z() );
493
494 m_hole_center_x.push_back( track_parameters->associatedSurface().center().x() );
495 m_hole_center_y.push_back( track_parameters->associatedSurface().center().y() );
496 m_hole_center_z.push_back( track_parameters->associatedSurface().center().z() );
497
498 Identifier id = track_parameters->associatedSurface().associatedDetectorElementIdentifier();
499
500 int det = 0;
501 if(m_TRT_ID->is_pixel(id)) {
502 det = 1;
503 } else if(m_TRT_ID->is_sct(id)) {
504 det = 2;
505 } else if(m_TRT_ID->is_trt(id)) {
506 det = 3;
507 }
508 m_hole_det.push_back( det );
509
510 m_hole_bec.push_back( det == 3 ? m_TRT_ID->barrel_ec(id) : -1 );
511 m_hole_phi.push_back( det == 3 ? m_TRT_ID->phi_module(id) : -1 );
512 m_hole_layer.push_back( det == 3 ? m_TRT_ID->layer_or_wheel(id) : -1 );
513 m_hole_strawlayer.push_back( det == 3 ? m_TRT_ID->straw_layer(id) : -1 );
514 m_hole_straw.push_back( det == 3 ? m_TRT_ID->straw(id) : -1 );
515
516 int chip = -1;
517 if (det == 3) {
518 m_TRTStrawNeighbourSvc->getChip(id, chip);
519 }
520 m_hole_chip.push_back(chip);
521
522 int pad = -1;
523 if (det == 3) {
524 m_TRTStrawNeighbourSvc->getPad(id, pad);
525 }
526 m_hole_pad.push_back(pad);
527
528 float locR = track_parameters->parameters()[Trk::locR];
529 m_hole_locR.push_back( det == 3 ? locR : -1 );
530
531 float locR_error = 0.0;
532 //const Trk::MeasuredTrackParameters* meas = dynamic_cast< const Trk::MeasuredTrackParameters* >(track_parameters);
533 //if(meas)
534 //{
535
536 const AmgSymMatrix(5)* merr = track_parameters->covariance();
537 if(merr){
538 locR_error = Amg::error(*merr,Trk::locR);
539 } else {
540 ATH_MSG_ERROR("Track parameters have no covariance attached.");
541 }
542 m_hole_locR_error.push_back( det == 3 ? locR_error : 0.0 );
543
544 /*
545 ATH_MSG_DEBUG("hole trk x = " << track_parameters->position().x() <<
546 ", surf x = " << track_parameters->associatedSurface()->center().x());
547 ATH_MSG_DEBUG("hole trk y = " << track_parameters->position().y() <<
548 ", surf y = " << track_parameters->associatedSurface()->center().y());
549 ATH_MSG_DEBUG("hole trk z = " << track_parameters->position().z() <<
550 ", surf z = " << track_parameters->associatedSurface()->center().z());
551 */
552
553 return det;
554}
#define AmgSymMatrix(dim)
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 ...

◆ finalize()

StatusCode TRTStrawEfficiency::finalize ( )

Definition at line 252 of file TRTStrawEfficiency.cxx.

252 {
253 ATH_MSG_DEBUG( "# tracks = " << m_num_tracks );
254 ATH_MSG_DEBUG( "# preselected tracks = " << m_num_preselected_tracks );
255
256#ifdef ANP_CPU_PROFILER
257 ATH_MSG_ALWAYS("ProfilerStop.");
258 ProfilerStop();
259#endif
260
261 return StatusCode::SUCCESS;
262}
#define ATH_MSG_ALWAYS(x)

◆ initialize()

StatusCode TRTStrawEfficiency::initialize ( )

Definition at line 38 of file TRTStrawEfficiency.cxx.

38 {
39
40 // retrieve TRTTrackHoleSearchTool
41 ATH_CHECK(m_trt_hole_finder.retrieve());
42
43 // retrieve TRT_ID
44 ATH_CHECK(detStore()->retrieve(m_TRT_ID, "TRT_ID"));
45
47
48 // retrieve the Trk::KalmanUpdator to calculate unbiased track states
49 ATH_CHECK(m_updator.retrieve());
50
51 // retrieve THistSvc
52 ATH_CHECK(m_hist_svc.retrieve());
53
54 // retrieve TrigDecisionTool
55 if (!m_required_trigger.empty()) {
56 ATH_CHECK(m_trigDec.retrieve());
57 }
58
59 // ntuple
60 m_tree = new TTree(m_tree_name.value().c_str(), m_tree_name.value().c_str());
61 ATH_CHECK(m_hist_svc->regTree(std::string("/") + m_stream_name + std::string("/") + m_tree_name, m_tree));
62
63 // Read handles
64 ATH_CHECK(m_tracksKey.initialize());
65 ATH_CHECK(m_eventInfoKey.initialize());
66 ATH_CHECK(m_vertexContainerKey.initialize());
67
69
70#ifdef CPU_PROFILER
71 std::string profile_file = "cpu.prof";
72 ATH_MSG_ALWAYS( "ProfilerStart(" << profile_file << ")" );
73 ProfilerStart(profile_file.c_str());
74#endif
75
76 return StatusCode::SUCCESS;
77}
#define ATH_CHECK
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
StringProperty m_stream_name
ServiceHandle< ITHistSvc > m_hist_svc
StringProperty m_tree_name
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

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.

◆ make_branches()

void TRTStrawEfficiency::make_branches ( )
private

Definition at line 270 of file TRTStrawEfficiency.cxx.

270 {
271 m_tree->Branch("event_number", &m_event_number, "event_number/i");
272 m_tree->Branch("run_number", &m_run_number, "run_number/i");
273 m_tree->Branch("lumi_block", &m_lumi_block, "lumi_block/i");
274 m_tree->Branch("track_pt", &m_track_pt, "track_pt/F");
275 m_tree->Branch("track_eta", &m_track_eta, "track_eta/F");
276 m_tree->Branch("track_phi", &m_track_phi, "track_phi/F");
277 m_tree->Branch("track_d0", &m_track_d0, "track_d0/F");
278 m_tree->Branch("track_z0", &m_track_z0, "track_z0/F");
279 m_tree->Branch("n_pixel_hits", &m_n_pixel_hits, "n_pixel_hits/I");
280 m_tree->Branch("n_sct_hits", &m_n_sct_hits, "n_sct_hits/I");
281 m_tree->Branch("n_trt_hits", &m_n_trt_hits, "n_trt_hits/I");
282 m_tree->Branch("hit_bec", &m_hit_bec);
283 m_tree->Branch("hit_phi", &m_hit_phi);
284 m_tree->Branch("hit_layer", &m_hit_layer);
285 m_tree->Branch("hit_strawlayer", &m_hit_strawlayer);
286 m_tree->Branch("hit_straw", &m_hit_straw);
287 m_tree->Branch("hit_chip", &m_hit_chip);
288 m_tree->Branch("hit_pad", &m_hit_pad);
289 m_tree->Branch("hit_x", &m_hit_x);
290 m_tree->Branch("hit_y", &m_hit_y);
291 m_tree->Branch("hit_z", &m_hit_z);
292 m_tree->Branch("hit_center_x", &m_hit_center_x);
293 m_tree->Branch("hit_center_y", &m_hit_center_y);
294 m_tree->Branch("hit_center_z", &m_hit_center_z);
295 m_tree->Branch("hit_R", &m_hit_R);
296 m_tree->Branch("hit_locR", &m_hit_locR);
297 m_tree->Branch("hit_HL", &m_hit_HL);
298 m_tree->Branch("hit_det", &m_hit_det);
299 m_tree->Branch("hit_ub_locR", &m_hit_ub_locR);
300 m_tree->Branch("hit_ub_x", &m_hit_ub_x);
301 m_tree->Branch("hit_ub_y", &m_hit_ub_y);
302 m_tree->Branch("hit_ub_z", &m_hit_ub_z);
303 m_tree->Branch("n_pixel_holes", &m_n_pixel_holes, "n_pixel_holes/I");
304 m_tree->Branch("n_sct_holes", &m_n_sct_holes, "n_sct_holes/I");
305 m_tree->Branch("n_trt_holes", &m_n_trt_holes, "n_trt_holes/I");
306 m_tree->Branch("hole_bec", &m_hole_bec);
307 m_tree->Branch("hole_phi", &m_hole_phi);
308 m_tree->Branch("hole_layer", &m_hole_layer);
309 m_tree->Branch("hole_strawlayer", &m_hole_strawlayer);
310 m_tree->Branch("hole_straw", &m_hole_straw);
311 m_tree->Branch("hole_chip", &m_hole_chip);
312 m_tree->Branch("hole_pad", &m_hole_pad);
313 m_tree->Branch("hole_x", &m_hole_x);
314 m_tree->Branch("hole_y", &m_hole_y);
315 m_tree->Branch("hole_z", &m_hole_z);
316 m_tree->Branch("hole_center_x", &m_hole_center_x);
317 m_tree->Branch("hole_center_y", &m_hole_center_y);
318 m_tree->Branch("hole_center_z", &m_hole_center_z);
319 m_tree->Branch("hole_locR", &m_hole_locR);
320 m_tree->Branch("hole_locR_error", &m_hole_locR_error);
321 m_tree->Branch("hole_det", &m_hole_det);
322
323 // ---- branches added by dan ------
324 m_tree->Branch("n_primary_vertex", &m_n_primary_vertex, "n_primary_vertex/I");
325 m_tree->Branch("hit_tube_hit", &m_hit_tube_hit);
326 m_tree->Branch("n_tube_hits", &m_n_tube_hits, "n_tube_hits/I");
327 // -------------------------------
328}

◆ msg()

MsgStream & AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

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()

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 > AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
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)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

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< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_event_number

unsigned int TRTStrawEfficiency::m_event_number {0}
private

Definition at line 90 of file TRTStrawEfficiency.h.

90{0};

◆ m_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> TRTStrawEfficiency::m_eventInfoKey {this, "event_info_key", "EventInfo", "Event info key"}
private

Definition at line 82 of file TRTStrawEfficiency.h.

82{this, "event_info_key", "EventInfo", "Event info key"};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_hist_svc

ServiceHandle<ITHistSvc> TRTStrawEfficiency::m_hist_svc {this, "hist_svc", "THistSvc"}
private

Definition at line 64 of file TRTStrawEfficiency.h.

64{this, "hist_svc", "THistSvc"};

◆ m_hit_bec

std::vector<int> TRTStrawEfficiency::m_hit_bec
private

Definition at line 101 of file TRTStrawEfficiency.h.

◆ m_hit_center_x

std::vector<float> TRTStrawEfficiency::m_hit_center_x
private

Definition at line 111 of file TRTStrawEfficiency.h.

◆ m_hit_center_y

std::vector<float> TRTStrawEfficiency::m_hit_center_y
private

Definition at line 112 of file TRTStrawEfficiency.h.

◆ m_hit_center_z

std::vector<float> TRTStrawEfficiency::m_hit_center_z
private

Definition at line 113 of file TRTStrawEfficiency.h.

◆ m_hit_chip

std::vector<int> TRTStrawEfficiency::m_hit_chip
private

Definition at line 106 of file TRTStrawEfficiency.h.

◆ m_hit_det

std::vector<int> TRTStrawEfficiency::m_hit_det
private

Definition at line 117 of file TRTStrawEfficiency.h.

◆ m_hit_HL

std::vector<int> TRTStrawEfficiency::m_hit_HL
private

Definition at line 116 of file TRTStrawEfficiency.h.

◆ m_hit_layer

std::vector<int> TRTStrawEfficiency::m_hit_layer
private

Definition at line 103 of file TRTStrawEfficiency.h.

◆ m_hit_locR

std::vector<float> TRTStrawEfficiency::m_hit_locR
private

Definition at line 115 of file TRTStrawEfficiency.h.

◆ m_hit_pad

std::vector<int> TRTStrawEfficiency::m_hit_pad
private

Definition at line 107 of file TRTStrawEfficiency.h.

◆ m_hit_phi

std::vector<int> TRTStrawEfficiency::m_hit_phi
private

Definition at line 102 of file TRTStrawEfficiency.h.

◆ m_hit_R

std::vector<float> TRTStrawEfficiency::m_hit_R
private

Definition at line 114 of file TRTStrawEfficiency.h.

◆ m_hit_straw

std::vector<int> TRTStrawEfficiency::m_hit_straw
private

Definition at line 105 of file TRTStrawEfficiency.h.

◆ m_hit_strawlayer

std::vector<int> TRTStrawEfficiency::m_hit_strawlayer
private

Definition at line 104 of file TRTStrawEfficiency.h.

◆ m_hit_tube_hit

std::vector<int> TRTStrawEfficiency::m_hit_tube_hit
private

Definition at line 143 of file TRTStrawEfficiency.h.

◆ m_hit_ub_locR

std::vector<float> TRTStrawEfficiency::m_hit_ub_locR
private

Definition at line 118 of file TRTStrawEfficiency.h.

◆ m_hit_ub_x

std::vector<float> TRTStrawEfficiency::m_hit_ub_x
private

Definition at line 119 of file TRTStrawEfficiency.h.

◆ m_hit_ub_y

std::vector<float> TRTStrawEfficiency::m_hit_ub_y
private

Definition at line 120 of file TRTStrawEfficiency.h.

◆ m_hit_ub_z

std::vector<float> TRTStrawEfficiency::m_hit_ub_z
private

Definition at line 121 of file TRTStrawEfficiency.h.

◆ m_hit_x

std::vector<float> TRTStrawEfficiency::m_hit_x
private

Definition at line 108 of file TRTStrawEfficiency.h.

◆ m_hit_y

std::vector<float> TRTStrawEfficiency::m_hit_y
private

Definition at line 109 of file TRTStrawEfficiency.h.

◆ m_hit_z

std::vector<float> TRTStrawEfficiency::m_hit_z
private

Definition at line 110 of file TRTStrawEfficiency.h.

◆ m_hole_bec

std::vector<int> TRTStrawEfficiency::m_hole_bec
private

Definition at line 125 of file TRTStrawEfficiency.h.

◆ m_hole_center_x

std::vector<float> TRTStrawEfficiency::m_hole_center_x
private

Definition at line 135 of file TRTStrawEfficiency.h.

◆ m_hole_center_y

std::vector<float> TRTStrawEfficiency::m_hole_center_y
private

Definition at line 136 of file TRTStrawEfficiency.h.

◆ m_hole_center_z

std::vector<float> TRTStrawEfficiency::m_hole_center_z
private

Definition at line 137 of file TRTStrawEfficiency.h.

◆ m_hole_chip

std::vector<int> TRTStrawEfficiency::m_hole_chip
private

Definition at line 130 of file TRTStrawEfficiency.h.

◆ m_hole_det

std::vector<int> TRTStrawEfficiency::m_hole_det
private

Definition at line 140 of file TRTStrawEfficiency.h.

◆ m_hole_layer

std::vector<int> TRTStrawEfficiency::m_hole_layer
private

Definition at line 127 of file TRTStrawEfficiency.h.

◆ m_hole_locR

std::vector<float> TRTStrawEfficiency::m_hole_locR
private

Definition at line 138 of file TRTStrawEfficiency.h.

◆ m_hole_locR_error

std::vector<float> TRTStrawEfficiency::m_hole_locR_error
private

Definition at line 139 of file TRTStrawEfficiency.h.

◆ m_hole_pad

std::vector<int> TRTStrawEfficiency::m_hole_pad
private

Definition at line 131 of file TRTStrawEfficiency.h.

◆ m_hole_phi

std::vector<int> TRTStrawEfficiency::m_hole_phi
private

Definition at line 126 of file TRTStrawEfficiency.h.

◆ m_hole_straw

std::vector<int> TRTStrawEfficiency::m_hole_straw
private

Definition at line 129 of file TRTStrawEfficiency.h.

◆ m_hole_strawlayer

std::vector<int> TRTStrawEfficiency::m_hole_strawlayer
private

Definition at line 128 of file TRTStrawEfficiency.h.

◆ m_hole_x

std::vector<float> TRTStrawEfficiency::m_hole_x
private

Definition at line 132 of file TRTStrawEfficiency.h.

◆ m_hole_y

std::vector<float> TRTStrawEfficiency::m_hole_y
private

Definition at line 133 of file TRTStrawEfficiency.h.

◆ m_hole_z

std::vector<float> TRTStrawEfficiency::m_hole_z
private

Definition at line 134 of file TRTStrawEfficiency.h.

◆ m_lumi_block

unsigned int TRTStrawEfficiency::m_lumi_block {0}
private

Definition at line 92 of file TRTStrawEfficiency.h.

92{0};

◆ m_max_abs_d0

FloatProperty TRTStrawEfficiency::m_max_abs_d0 {this, "max_abs_d0", 600*CLHEP::mm}
private

Definition at line 56 of file TRTStrawEfficiency.h.

56{this, "max_abs_d0", 600*CLHEP::mm};

◆ m_max_abs_eta

FloatProperty TRTStrawEfficiency::m_max_abs_eta {this, "max_abs_eta", 2.5}
private

Definition at line 60 of file TRTStrawEfficiency.h.

60{this, "max_abs_eta", 2.5};

◆ m_max_abs_z0

FloatProperty TRTStrawEfficiency::m_max_abs_z0 {this, "max_abs_z0", 600*CLHEP::mm}
private

Definition at line 57 of file TRTStrawEfficiency.h.

57{this, "max_abs_z0", 600*CLHEP::mm};

◆ m_min_p

FloatProperty TRTStrawEfficiency::m_min_p {this, "min_p", 2.0*CLHEP::GeV}
private

Definition at line 59 of file TRTStrawEfficiency.h.

59{this, "min_p", 2.0*CLHEP::GeV};

◆ m_min_pixel_hits

IntegerProperty TRTStrawEfficiency::m_min_pixel_hits {this, "min_pixel_hits", 0}
private

Definition at line 61 of file TRTStrawEfficiency.h.

61{this, "min_pixel_hits", 0};

◆ m_min_pT

FloatProperty TRTStrawEfficiency::m_min_pT {this, "min_pT", 1.0*CLHEP::GeV}
private

Definition at line 58 of file TRTStrawEfficiency.h.

58{this, "min_pT", 1.0*CLHEP::GeV};

◆ m_min_sct_hits

IntegerProperty TRTStrawEfficiency::m_min_sct_hits {this, "min_sct_hits", 2}
private

Definition at line 62 of file TRTStrawEfficiency.h.

62{this, "min_sct_hits", 2};

◆ m_min_trt_hits

IntegerProperty TRTStrawEfficiency::m_min_trt_hits {this, "min_trt_hits", 15}
private

Definition at line 63 of file TRTStrawEfficiency.h.

63{this, "min_trt_hits", 15};

◆ m_n_pixel_hits

int TRTStrawEfficiency::m_n_pixel_hits {0}
private

Definition at line 98 of file TRTStrawEfficiency.h.

98{0};

◆ m_n_pixel_holes

int TRTStrawEfficiency::m_n_pixel_holes {0}
private

Definition at line 122 of file TRTStrawEfficiency.h.

122{0};

◆ m_n_primary_vertex

int TRTStrawEfficiency::m_n_primary_vertex {0}
private

Definition at line 144 of file TRTStrawEfficiency.h.

144{0};

◆ m_n_sct_hits

int TRTStrawEfficiency::m_n_sct_hits {0}
private

Definition at line 99 of file TRTStrawEfficiency.h.

99{0};

◆ m_n_sct_holes

int TRTStrawEfficiency::m_n_sct_holes {0}
private

Definition at line 123 of file TRTStrawEfficiency.h.

123{0};

◆ m_n_trt_hits

int TRTStrawEfficiency::m_n_trt_hits {0}
private

Definition at line 100 of file TRTStrawEfficiency.h.

100{0};

◆ m_n_trt_holes

int TRTStrawEfficiency::m_n_trt_holes {0}
private

Definition at line 124 of file TRTStrawEfficiency.h.

124{0};

◆ m_n_tube_hits

int TRTStrawEfficiency::m_n_tube_hits {0}
private

Definition at line 145 of file TRTStrawEfficiency.h.

145{0};

◆ m_num_events

unsigned int TRTStrawEfficiency::m_num_events {0}
private

Definition at line 85 of file TRTStrawEfficiency.h.

85{0};

◆ m_num_preselected_tracks

unsigned int TRTStrawEfficiency::m_num_preselected_tracks {0}
private

Definition at line 87 of file TRTStrawEfficiency.h.

87{0};

◆ m_num_tracks

unsigned int TRTStrawEfficiency::m_num_tracks {0}
private

Definition at line 86 of file TRTStrawEfficiency.h.

86{0};

◆ m_required_trigger

StringProperty TRTStrawEfficiency::m_required_trigger {this, "required_trigger", ""}
private

Definition at line 69 of file TRTStrawEfficiency.h.

69{this, "required_trigger", ""};

◆ m_run_number

unsigned int TRTStrawEfficiency::m_run_number {0}
private

Definition at line 91 of file TRTStrawEfficiency.h.

91{0};

◆ m_stream_name

StringProperty TRTStrawEfficiency::m_stream_name {this, "stream_name", "TRTEffStream"}
private

Definition at line 68 of file TRTStrawEfficiency.h.

68{this, "stream_name", "TRTEffStream"};

◆ m_track_d0

float TRTStrawEfficiency::m_track_d0 {0.}
private

Definition at line 96 of file TRTStrawEfficiency.h.

96{0.};

◆ m_track_eta

float TRTStrawEfficiency::m_track_eta {0.}
private

Definition at line 94 of file TRTStrawEfficiency.h.

94{0.};

◆ m_track_phi

float TRTStrawEfficiency::m_track_phi {0.}
private

Definition at line 95 of file TRTStrawEfficiency.h.

95{0.};

◆ m_track_pt

float TRTStrawEfficiency::m_track_pt {0.}
private

Definition at line 93 of file TRTStrawEfficiency.h.

93{0.};

◆ m_track_z0

float TRTStrawEfficiency::m_track_z0 {0.}
private

Definition at line 97 of file TRTStrawEfficiency.h.

97{0.};

◆ m_tracksKey

SG::ReadHandleKey<TrackCollection> TRTStrawEfficiency::m_tracksKey {this, "track_collection", "CombinedInDetTracks", "Tracks container key"}
private

Definition at line 81 of file TRTStrawEfficiency.h.

81{this, "track_collection", "CombinedInDetTracks", "Tracks container key"};

◆ m_tree

TTree* TRTStrawEfficiency::m_tree {nullptr}
private

Definition at line 73 of file TRTStrawEfficiency.h.

73{nullptr};

◆ m_tree_name

StringProperty TRTStrawEfficiency::m_tree_name {this, "tree_name", "trt_eff"}
private

Definition at line 67 of file TRTStrawEfficiency.h.

67{this, "tree_name", "trt_eff"};

◆ m_trigDec

PublicToolHandle<Trig::ITrigDecisionTool> TRTStrawEfficiency::m_trigDec {this,"ITrigDecisionTool","Trig::ITrigDecisionTool/TrigDecisionTool",""}
private

Definition at line 77 of file TRTStrawEfficiency.h.

78{this,"ITrigDecisionTool","Trig::ITrigDecisionTool/TrigDecisionTool",""};

◆ m_trt_hole_finder

ToolHandle<Trk::ITrackHoleSearchTool> TRTStrawEfficiency::m_trt_hole_finder {this, "trt_hole_finder","TRTTrackHoleSearchTool"}
private

Definition at line 54 of file TRTStrawEfficiency.h.

55{this, "trt_hole_finder","TRTTrackHoleSearchTool"};

◆ m_TRT_ID

const TRT_ID* TRTStrawEfficiency::m_TRT_ID {nullptr}
private

Definition at line 74 of file TRTStrawEfficiency.h.

74{nullptr};

◆ m_TRTStrawNeighbourSvc

ServiceHandle<ITRT_StrawNeighbourSvc> TRTStrawEfficiency::m_TRTStrawNeighbourSvc {this, "straw_neighbour_svc", "TRT_StrawNeighbourSvc"}
private

Definition at line 65 of file TRTStrawEfficiency.h.

66{this, "straw_neighbour_svc", "TRT_StrawNeighbourSvc"};

◆ m_updator

PublicToolHandle<Trk::IUpdator> TRTStrawEfficiency::m_updator {this,"KalmanUpdator","Trk::KalmanUpdator/TrkKalmanUpdator",""}
private

Definition at line 75 of file TRTStrawEfficiency.h.

76{this,"KalmanUpdator","Trk::KalmanUpdator/TrkKalmanUpdator",""};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vertexContainerKey

SG::ReadHandleKey<xAOD::VertexContainer> TRTStrawEfficiency::m_vertexContainerKey {this, "VertexContainerName", "PrimaryVertices", "Vertex container key"}
private

Definition at line 83 of file TRTStrawEfficiency.h.

83{this, "VertexContainerName", "PrimaryVertices", "Vertex container key"};

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: