ATLAS Offline Software
TRTStrawEfficiency.h
Go to the documentation of this file.
1 // this is c++ file -*- c++ -*-
2 /*
3  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 // TRTStrawEfficiency.h
7 // author: Ryan D. Reece <ryan.reece@cern.ch>
8 // created: Nov 2009
9 
10 #ifndef TRT_TrackHoleSearch_TRTStrawEfficiency_h
11 #define TRT_TrackHoleSearch_TRTStrawEfficiency_h
12 
14 #include "GaudiKernel/ToolHandle.h"
15 #include "GaudiKernel/ServiceHandle.h"
16 #include "GaudiKernel/ITHistSvc.h"
20 
24 
26 
27 #include <string>
28 #include <vector>
29 
30 namespace Trk
31 {
32  class ITrackHoleSearchTool;
33  class TrackStateOnSurface;
34 }
35 
36 class TRT_ID;
37 
38 class TTree;
39 
41 {
42  public:
43  TRTStrawEfficiency(const std::string& name, ISvcLocator* pSvcLocator);
44 
48 
49  private:
50  // configurables
51  //----------------------------------
52  ToolHandle<Trk::ITrackHoleSearchTool> m_trt_hole_finder;
53  float m_max_abs_d0;
54  float m_max_abs_z0;
55  float m_min_pT;
56  float m_min_p; /* added by dan */
63  std::string m_tree_name;
64  std::string m_stream_name;
65  std::string m_required_trigger;
66 
67  // private data
68  //----------------------------------
69  TTree* m_tree;
70  const TRT_ID* m_TRT_ID;
71  PublicToolHandle<Trk::IUpdator> m_updator
72  {this,"KalmanUpdator","Trk::KalmanUpdator/TrkKalmanUpdator",""};
73  PublicToolHandle<Trig::ITrigDecisionTool> m_trigDec
74  {this,"ITrigDecisionTool","Trig::ITrigDecisionTool/TrigDecisionTool",""};
75 
76  // Data handles
77  SG::ReadHandleKey<TrackCollection> m_tracksKey{this, "track_collection", "CombinedInDetTracks", "Tracks container key"};
78  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "event_info_key", "EventInfo", "Event info key"};
79  SG::ReadHandleKey<xAOD::VertexContainer> m_vertexContainerKey{this, "VertexContainerName", "PrimaryVertices", "Vertex container key"};
80 
81  unsigned int m_num_events;
82  unsigned int m_num_tracks;
84 
85  // ntuple branches
86  unsigned int m_event_number;
87  unsigned int m_run_number;
88  unsigned int m_lumi_block;
89  float m_track_pt;
90  float m_track_eta;
91  float m_track_phi;
92  float m_track_d0;
93  float m_track_z0;
97  std::vector<int> m_hit_bec;
98  std::vector<int> m_hit_phi;
99  std::vector<int> m_hit_layer;
100  std::vector<int> m_hit_strawlayer;
101  std::vector<int> m_hit_straw;
102  std::vector<int> m_hit_chip;
103  std::vector<int> m_hit_pad;
104  std::vector<float> m_hit_x;
105  std::vector<float> m_hit_y;
106  std::vector<float> m_hit_z;
107  std::vector<float> m_hit_center_x;
108  std::vector<float> m_hit_center_y;
109  std::vector<float> m_hit_center_z;
110  std::vector<float> m_hit_R;
111  std::vector<float> m_hit_locR;
112  std::vector<int> m_hit_HL;
113  std::vector<int> m_hit_det;
114  std::vector<float> m_hit_ub_locR;
115  std::vector<float> m_hit_ub_x;
116  std::vector<float> m_hit_ub_y;
117  std::vector<float> m_hit_ub_z;
121  std::vector<int> m_hole_bec;
122  std::vector<int> m_hole_phi;
123  std::vector<int> m_hole_layer;
124  std::vector<int> m_hole_strawlayer;
125  std::vector<int> m_hole_straw;
126  std::vector<int> m_hole_chip;
127  std::vector<int> m_hole_pad;
128  std::vector<float> m_hole_x;
129  std::vector<float> m_hole_y;
130  std::vector<float> m_hole_z;
131  std::vector<float> m_hole_center_x;
132  std::vector<float> m_hole_center_y;
133  std::vector<float> m_hole_center_z;
134  std::vector<float> m_hole_locR;
135  std::vector<float> m_hole_locR_error;
136  std::vector<int> m_hole_det;
137 
138  //---- branches added by dan -------
139  std::vector<int> m_hit_tube_hit;
142 
143  // private methods
144  //----------------------------------
145  void make_branches();
146  void clear_branches();
147  int fill_hit_data(const Trk::TrackStateOnSurface& hit);
149 };
150 
151 #endif // TRT_TrackHoleSearch_TRTStrawEfficiency_h
TRTStrawEfficiency::m_max_abs_d0
float m_max_abs_d0
Definition: TRTStrawEfficiency.h:53
TRTStrawEfficiency::m_track_phi
float m_track_phi
Definition: TRTStrawEfficiency.h:91
TRTStrawEfficiency::m_min_pixel_hits
int m_min_pixel_hits
Definition: TRTStrawEfficiency.h:58
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TRTStrawEfficiency::m_min_p
float m_min_p
Definition: TRTStrawEfficiency.h:56
TRTStrawEfficiency::m_min_trt_hits
int m_min_trt_hits
Definition: TRTStrawEfficiency.h:60
TRTStrawEfficiency::m_updator
PublicToolHandle< Trk::IUpdator > m_updator
Definition: TRTStrawEfficiency.h:72
TRTStrawEfficiency::m_n_sct_hits
int m_n_sct_hits
Definition: TRTStrawEfficiency.h:95
TRTStrawEfficiency::m_max_abs_z0
float m_max_abs_z0
Definition: TRTStrawEfficiency.h:54
TRTStrawEfficiency::m_hole_pad
std::vector< int > m_hole_pad
Definition: TRTStrawEfficiency.h:127
TRTStrawEfficiency::m_hit_center_x
std::vector< float > m_hit_center_x
Definition: TRTStrawEfficiency.h:107
TRTStrawEfficiency::m_hit_ub_z
std::vector< float > m_hit_ub_z
Definition: TRTStrawEfficiency.h:117
TRTStrawEfficiency::m_hit_bec
std::vector< int > m_hit_bec
Definition: TRTStrawEfficiency.h:97
TRTStrawEfficiency::m_n_pixel_holes
int m_n_pixel_holes
Definition: TRTStrawEfficiency.h:118
TRTStrawEfficiency::m_hole_z
std::vector< float > m_hole_z
Definition: TRTStrawEfficiency.h:130
TRTStrawEfficiency::m_hist_svc
ServiceHandle< ITHistSvc > m_hist_svc
Definition: TRTStrawEfficiency.h:61
TRTStrawEfficiency::m_hit_phi
std::vector< int > m_hit_phi
Definition: TRTStrawEfficiency.h:98
TRTStrawEfficiency::m_num_preselected_tracks
unsigned int m_num_preselected_tracks
Definition: TRTStrawEfficiency.h:83
TRTStrawEfficiency::m_hit_layer
std::vector< int > m_hit_layer
Definition: TRTStrawEfficiency.h:99
TRTStrawEfficiency::m_hit_chip
std::vector< int > m_hit_chip
Definition: TRTStrawEfficiency.h:102
TRTStrawEfficiency::m_event_number
unsigned int m_event_number
Definition: TRTStrawEfficiency.h:86
TRTStrawEfficiency::make_branches
void make_branches()
Definition: TRTStrawEfficiency.cxx:314
TRTStrawEfficiency
Definition: TRTStrawEfficiency.h:41
TRTStrawEfficiency::initialize
StatusCode initialize()
Definition: TRTStrawEfficiency.cxx:82
TRTStrawEfficiency::m_n_pixel_hits
int m_n_pixel_hits
Definition: TRTStrawEfficiency.h:94
TRTStrawEfficiency::m_track_d0
float m_track_d0
Definition: TRTStrawEfficiency.h:92
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TRTStrawEfficiency::m_hole_chip
std::vector< int > m_hole_chip
Definition: TRTStrawEfficiency.h:126
TRTStrawEfficiency::m_min_sct_hits
int m_min_sct_hits
Definition: TRTStrawEfficiency.h:59
TRTStrawEfficiency::m_trigDec
PublicToolHandle< Trig::ITrigDecisionTool > m_trigDec
Definition: TRTStrawEfficiency.h:74
TRTStrawEfficiency::m_TRTStrawNeighbourSvc
ServiceHandle< ITRT_StrawNeighbourSvc > m_TRTStrawNeighbourSvc
Definition: TRTStrawEfficiency.h:62
TRTStrawEfficiency::m_TRT_ID
const TRT_ID * m_TRT_ID
Definition: TRTStrawEfficiency.h:70
TRTStrawEfficiency::m_n_trt_hits
int m_n_trt_hits
Definition: TRTStrawEfficiency.h:96
TRTStrawEfficiency::m_hole_straw
std::vector< int > m_hole_straw
Definition: TRTStrawEfficiency.h:125
TRTStrawEfficiency::m_hole_det
std::vector< int > m_hole_det
Definition: TRTStrawEfficiency.h:136
TRTStrawEfficiency::m_hole_locR
std::vector< float > m_hole_locR
Definition: TRTStrawEfficiency.h:134
IUpdator.h
TRTStrawEfficiency::execute
StatusCode execute()
Definition: TRTStrawEfficiency.cxx:125
TRTStrawEfficiency::m_hit_locR
std::vector< float > m_hit_locR
Definition: TRTStrawEfficiency.h:111
TRTStrawEfficiency::m_hit_HL
std::vector< int > m_hit_HL
Definition: TRTStrawEfficiency.h:112
TRTStrawEfficiency::m_n_primary_vertex
int m_n_primary_vertex
Definition: TRTStrawEfficiency.h:140
TRTStrawEfficiency::m_hole_center_x
std::vector< float > m_hole_center_x
Definition: TRTStrawEfficiency.h:131
TRTStrawEfficiency::m_hit_center_y
std::vector< float > m_hit_center_y
Definition: TRTStrawEfficiency.h:108
TRTStrawEfficiency::m_vertexContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
Definition: TRTStrawEfficiency.h:79
TRTStrawEfficiency::m_hit_R
std::vector< float > m_hit_R
Definition: TRTStrawEfficiency.h:110
TRTStrawEfficiency::m_tree
TTree * m_tree
Definition: TRTStrawEfficiency.h:69
AthAlgorithm.h
TRTStrawEfficiency::m_hole_layer
std::vector< int > m_hole_layer
Definition: TRTStrawEfficiency.h:123
TRTStrawEfficiency::m_track_pt
float m_track_pt
Definition: TRTStrawEfficiency.h:89
TRTStrawEfficiency::m_hole_center_y
std::vector< float > m_hole_center_y
Definition: TRTStrawEfficiency.h:132
TRTStrawEfficiency::m_required_trigger
std::string m_required_trigger
Definition: TRTStrawEfficiency.h:65
TRTStrawEfficiency::m_hole_y
std::vector< float > m_hole_y
Definition: TRTStrawEfficiency.h:129
TRTStrawEfficiency::m_hit_ub_locR
std::vector< float > m_hit_ub_locR
Definition: TRTStrawEfficiency.h:114
TRTStrawEfficiency::m_stream_name
std::string m_stream_name
Definition: TRTStrawEfficiency.h:64
TRTStrawEfficiency::m_hit_pad
std::vector< int > m_hit_pad
Definition: TRTStrawEfficiency.h:103
TRTStrawEfficiency::m_trt_hole_finder
ToolHandle< Trk::ITrackHoleSearchTool > m_trt_hole_finder
Definition: TRTStrawEfficiency.h:52
TRTStrawEfficiency::m_num_tracks
unsigned int m_num_tracks
Definition: TRTStrawEfficiency.h:82
ITrigDecisionTool.h
TRTStrawEfficiency::m_n_sct_holes
int m_n_sct_holes
Definition: TRTStrawEfficiency.h:119
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRTStrawEfficiency::m_hit_center_z
std::vector< float > m_hit_center_z
Definition: TRTStrawEfficiency.h:109
TRTStrawEfficiency::m_hit_x
std::vector< float > m_hit_x
Definition: TRTStrawEfficiency.h:104
TRTStrawEfficiency::m_hole_x
std::vector< float > m_hole_x
Definition: TRTStrawEfficiency.h:128
TRTStrawEfficiency::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: TRTStrawEfficiency.h:78
TrackCollection.h
TRTStrawEfficiency::m_hit_strawlayer
std::vector< int > m_hit_strawlayer
Definition: TRTStrawEfficiency.h:100
TRTStrawEfficiency::m_tracksKey
SG::ReadHandleKey< TrackCollection > m_tracksKey
Definition: TRTStrawEfficiency.h:77
TRTStrawEfficiency::m_min_pT
float m_min_pT
Definition: TRTStrawEfficiency.h:55
AthAlgorithm
Definition: AthAlgorithm.h:47
TRTStrawEfficiency::fill_hit_data
int fill_hit_data(const Trk::TrackStateOnSurface &hit)
Definition: TRTStrawEfficiency.cxx:436
TRTStrawEfficiency::m_track_z0
float m_track_z0
Definition: TRTStrawEfficiency.h:93
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TRTStrawEfficiency::m_hit_tube_hit
std::vector< int > m_hit_tube_hit
Definition: TRTStrawEfficiency.h:139
TRTStrawEfficiency::fill_hole_data
int fill_hole_data(const Trk::TrackStateOnSurface &hole)
Definition: TRTStrawEfficiency.cxx:527
TRTStrawEfficiency::m_hole_phi
std::vector< int > m_hole_phi
Definition: TRTStrawEfficiency.h:122
TRTStrawEfficiency::m_n_tube_hits
int m_n_tube_hits
Definition: TRTStrawEfficiency.h:141
EventInfo.h
ITRT_StrawNeighbourSvc.h
Abstract interface to information on straws electronic grouping.
TRTStrawEfficiency::m_max_abs_eta
float m_max_abs_eta
Definition: TRTStrawEfficiency.h:57
TRTStrawEfficiency::m_run_number
unsigned int m_run_number
Definition: TRTStrawEfficiency.h:87
TRT_ID
Definition: TRT_ID.h:84
TRTStrawEfficiency::m_hit_det
std::vector< int > m_hit_det
Definition: TRTStrawEfficiency.h:113
VertexContainer.h
TRTStrawEfficiency::m_hit_ub_x
std::vector< float > m_hit_ub_x
Definition: TRTStrawEfficiency.h:115
TRTStrawEfficiency::m_n_trt_holes
int m_n_trt_holes
Definition: TRTStrawEfficiency.h:120
TRTStrawEfficiency::m_hit_ub_y
std::vector< float > m_hit_ub_y
Definition: TRTStrawEfficiency.h:116
TRTStrawEfficiency::m_hole_bec
std::vector< int > m_hole_bec
Definition: TRTStrawEfficiency.h:121
TRTStrawEfficiency::m_hole_center_z
std::vector< float > m_hole_center_z
Definition: TRTStrawEfficiency.h:133
TRTStrawEfficiency::m_lumi_block
unsigned int m_lumi_block
Definition: TRTStrawEfficiency.h:88
Trk::hole
@ hole
Definition: MeasurementType.h:36
TRTStrawEfficiency::m_tree_name
std::string m_tree_name
Definition: TRTStrawEfficiency.h:63
TRTStrawEfficiency::m_hole_strawlayer
std::vector< int > m_hole_strawlayer
Definition: TRTStrawEfficiency.h:124
TRTStrawEfficiency::TRTStrawEfficiency
TRTStrawEfficiency(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TRTStrawEfficiency.cxx:37
TRTStrawEfficiency::m_num_events
unsigned int m_num_events
Definition: TRTStrawEfficiency.h:81
TRTStrawEfficiency::clear_branches
void clear_branches()
Definition: TRTStrawEfficiency.cxx:376
TRTStrawEfficiency::m_hole_locR_error
std::vector< float > m_hole_locR_error
Definition: TRTStrawEfficiency.h:135
TRTStrawEfficiency::m_track_eta
float m_track_eta
Definition: TRTStrawEfficiency.h:90
TRTStrawEfficiency::finalize
StatusCode finalize()
Definition: TRTStrawEfficiency.cxx:296
TRTStrawEfficiency::m_hit_z
std::vector< float > m_hit_z
Definition: TRTStrawEfficiency.h:106
TRTStrawEfficiency::m_hit_straw
std::vector< int > m_hit_straw
Definition: TRTStrawEfficiency.h:101
ServiceHandle< ITHistSvc >
TRTStrawEfficiency::m_hit_y
std::vector< float > m_hit_y
Definition: TRTStrawEfficiency.h:105