ATLAS Offline Software
TRT_FastRDOAnalysis.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #include "TRT_FastRDOAnalysis.h"
7 #include "StoreGate/ReadHandle.h"
8 
9 #include "TTree.h"
10 #include "TString.h"
11 
12 #include <algorithm>
13 #include <math.h>
14 #include <functional>
15 #include <iostream>
16 
17 TRT_FastRDOAnalysis::TRT_FastRDOAnalysis(const std::string& name, ISvcLocator* pSvcLocator)
18  : AthAlgorithm(name, pSvcLocator)
19  , m_inputKey("TRT_DriftCircles")
20  , m_word(0)
21  , m_driftTimeBin(0)
22  , m_trailEdge(0)
23  , m_highLevel(0)
24  , m_firstBin(0)
25  , m_lastBin(0)
26  , m_timeOverThreshold(0)
27  , m_rawDriftTime(0)
28  , m_driftTimeValid(0)
29  , m_noise(0)
30  , m_brl_ec(0)
31  , m_trtID(0)
32  , m_surfType(0)
33  , m_bndsType(0)
34  , m_cntr_x(0)
35  , m_cntr_y(0)
36  , m_cntr_z(0)
37  , m_cntr_r(0)
38  , m_cntr_phi(0)
39  , m_norm_x(0)
40  , m_norm_y(0)
41  , m_norm_z(0)
42  , m_norm_r(0)
43  , m_norm_phi(0)
44  , m_strSurfType(0)
45  , m_strBndsType(0)
46  , m_strCntr_x(0)
47  , m_strCntr_y(0)
48  , m_strCntr_z(0)
49  , m_strCntr_r(0)
50  , m_strCntr_phi(0)
51  , m_strNorm_x(0)
52  , m_strNorm_y(0)
53  , m_strNorm_z(0)
54  , m_strNorm_r(0)
55  , m_strNorm_phi(0)
56  , m_strawN(0)
57  , m_strawL(0)
58  , m_strawD(0)
59  , m_allStrCntr_x(0)
60  , m_allStrCntr_y(0)
61  , m_allStrCntr_z(0)
62  , m_allStrCntr_r(0)
63  , m_allStrCntr_phi(0)
64  , m_allStrAxis_x(0)
65  , m_allStrAxis_y(0)
66  , m_allStrAxis_z(0)
67  , m_allStrAxis_r(0)
68  , m_allStrAxis_phi(0)
69 
70  , m_h_word(0)
71  , m_h_driftTimeBin(0)
72  , m_h_trailEdge(0)
73  , m_h_highLevel(0)
74  , m_h_firstBin(0)
75  , m_h_lastBin(0)
76  , m_h_timeOverThreshold(0)
77  , m_h_rawDriftTime(0)
78  , m_h_driftTimeValid(0)
79  , m_h_noise(0)
80  , m_h_brl_ec(0)
81  , m_h_trtID(0)
82  , m_h_surfType(0)
83  , m_h_bndsType(0)
84  , m_h_cntr_x(0)
85  , m_h_cntr_y(0)
86  , m_h_cntr_z(0)
87  , m_h_cntr_r(0)
88  , m_h_cntr_phi(0)
89  , m_h_norm_x(0)
90  , m_h_norm_y(0)
91  , m_h_norm_z(0)
92  , m_h_norm_r(0)
93  , m_h_norm_phi(0)
94  , m_h_strSurfType(0)
95  , m_h_strBndsType(0)
96  , m_h_strCntr_x(0)
97  , m_h_strCntr_y(0)
98  , m_h_strCntr_z(0)
99  , m_h_strCntr_r(0)
100  , m_h_strCntr_phi(0)
101  , m_h_strNorm_x(0)
102  , m_h_strNorm_y(0)
103  , m_h_strNorm_z(0)
104  , m_h_strNorm_r(0)
105  , m_h_strNorm_phi(0)
106  , m_h_strawN(0)
107  , m_h_strawL(0)
108  , m_h_strawD(0)
109  , m_h_allStrCntr_x(0)
110  , m_h_allStrCntr_y(0)
111  , m_h_allStrCntr_z(0)
112  , m_h_allStrCntr_r(0)
113  , m_h_allStrCntr_phi(0)
114  , m_h_allStrAxis_x(0)
115  , m_h_allStrAxis_y(0)
116  , m_h_allStrAxis_z(0)
117  , m_h_allStrAxis_r(0)
118  , m_h_allStrAxis_phi(0)
119 
120  , m_tree(0)
121  , m_ntupleFileName("/ntuples/file1")
122  , m_ntupleDirName("/TRT_FastRDOAnalysis/")
123  , m_ntupleTreeName("/TRT_FastRDOAna")
124  , m_path("/TRT_FastRDOAnalysis/")
125  , m_thistSvc("THistSvc", name)
126 {
127  declareProperty("InputKey", m_inputKey);
128  declareProperty("NtupleFileName", m_ntupleFileName);
129  declareProperty("NtupleDirectoryName", m_ntupleDirName);
130  declareProperty("NtupleTreeName", m_ntupleTreeName);
131  declareProperty("HistPath", m_path);
132 }
133 
135  ATH_MSG_DEBUG( "Initializing TRT_FastRDOAnalysis" );
136 
137  // This will check that the properties were initialized
138  // properly by job configuration.
140 
141  // Grab Ntuple and histogramming service for tree
142  ATH_CHECK(m_thistSvc.retrieve());
143 
144  m_tree = new TTree(TString(m_ntupleTreeName), "TRT_FastRDOAna");
145  std::string fullNtupleName = m_ntupleFileName + m_ntupleDirName + m_ntupleTreeName;
146  ATH_CHECK(m_thistSvc->regTree(fullNtupleName, m_tree));
147  if (m_tree) {
148  // TREE BRANCHES
149  // TRT_DriftCircle
150  m_tree->Branch("word", &m_word);
151  m_tree->Branch("driftTimeBin", &m_driftTimeBin);
152  m_tree->Branch("trailEdge", &m_trailEdge);
153  m_tree->Branch("highLevel", &m_highLevel);
154  m_tree->Branch("firstBin", &m_firstBin);
155  m_tree->Branch("lastBin", &m_lastBin);
156  m_tree->Branch("timeOverThreshold", &m_timeOverThreshold);
157  m_tree->Branch("rawDriftTime", &m_rawDriftTime);
158  m_tree->Branch("driftTimeValid", &m_driftTimeValid);
159  m_tree->Branch("noise", &m_noise);
160  // TRT_BaseElement
161  m_tree->Branch("brl_ec", &m_brl_ec);
162  m_tree->Branch("trtID", &m_trtID);
163  m_tree->Branch("surfType", &m_surfType);
164  m_tree->Branch("bndsType", &m_bndsType);
165  m_tree->Branch("cntr_x", &m_cntr_x);
166  m_tree->Branch("cntr_y", &m_cntr_y);
167  m_tree->Branch("cntr_z", &m_cntr_z);
168  m_tree->Branch("cntr_r", &m_cntr_r);
169  m_tree->Branch("cntr_phi", &m_cntr_phi);
170  m_tree->Branch("norm_x", &m_norm_x);
171  m_tree->Branch("norm_y", &m_norm_y);
172  m_tree->Branch("norm_z", &m_norm_z);
173  m_tree->Branch("norm_r", &m_norm_r);
174  m_tree->Branch("norm_phi", &m_norm_phi);
175  m_tree->Branch("strSurfType", &m_strSurfType);
176  m_tree->Branch("strBndsType", &m_strBndsType);
177  m_tree->Branch("strCntr_x", &m_strCntr_x);
178  m_tree->Branch("strCntr_y", &m_strCntr_y);
179  m_tree->Branch("strCntr_z", &m_strCntr_z);
180  m_tree->Branch("strCntr_r", &m_strCntr_r);
181  m_tree->Branch("strCntr_phi", &m_strCntr_phi);
182  m_tree->Branch("strNorm_x", &m_strNorm_x);
183  m_tree->Branch("strNorm_y", &m_strNorm_y);
184  m_tree->Branch("strNorm_z", &m_strNorm_z);
185  m_tree->Branch("strNorm_r", &m_strNorm_r);
186  m_tree->Branch("strNorm_phi", &m_strNorm_phi);
187  m_tree->Branch("strawN", &m_strawN);
188  m_tree->Branch("strawL", &m_strawL);
189  m_tree->Branch("strawD", &m_strawD);
190  m_tree->Branch("allStrCntr_x", &m_allStrCntr_x);
191  m_tree->Branch("allStrCntr_y", &m_allStrCntr_y);
192  m_tree->Branch("allStrCntr_z", &m_allStrCntr_z);
193  m_tree->Branch("allStrCntr_r", &m_allStrCntr_r);
194  m_tree->Branch("allStrCntr_phi", &m_allStrCntr_phi);
195  m_tree->Branch("allStrAxis_x", &m_allStrAxis_x);
196  m_tree->Branch("allStrAxis_y", &m_allStrAxis_y);
197  m_tree->Branch("allStrAxis_z", &m_allStrAxis_z);
198  m_tree->Branch("allStrAxis_r", &m_allStrAxis_r);
199  m_tree->Branch("allStrAxis_phi", &m_allStrAxis_phi);
200  }
201  else {
202  ATH_MSG_ERROR("No tree found!");
203  }
204 
205  // HISTOGRAMS
206  m_h_word = new TH1F("h_word", "word", 100, 0, 7e7);
207  m_h_word->StatOverflows();
208  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_word->GetName(), m_h_word));
209 
210  m_h_driftTimeBin = new TH1F("h_driftTimeBin", "driftTimeBin", 100, 0, 12);
211  m_h_driftTimeBin->StatOverflows();
213 
214  m_h_trailEdge = new TH1F("h_trailEdge", "trailEdge", 100, 0, 16);
215  m_h_trailEdge->StatOverflows();
216  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_trailEdge->GetName(), m_h_trailEdge));
217 
218  m_h_highLevel = new TH1F("h_highLevel", "highLevel", 100, 0, 2);
219  m_h_highLevel->StatOverflows();
220  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_highLevel->GetName(), m_h_highLevel));
221 
222  m_h_firstBin = new TH1F("h_firstBin", "firstBin", 100, 0, 2);
223  m_h_firstBin->StatOverflows();
224  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_firstBin->GetName(), m_h_firstBin));
225 
226  m_h_lastBin = new TH1F("h_lastBin", "lastBin", 100, 0, 2);
227  m_h_lastBin->StatOverflows();
228  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_lastBin->GetName(), m_h_lastBin));
229 
230  m_h_timeOverThreshold = new TH1F("h_timeOverThreshold", "timeOverThreshold", 100, 0, 255);
231  m_h_timeOverThreshold->StatOverflows();
233 
234  m_h_rawDriftTime = new TH1F("h_rawDriftTime", "rawDriftTime", 100, 0, 35);
235  m_h_rawDriftTime->StatOverflows();
237 
238  m_h_driftTimeValid = new TH1F("h_driftTimeValid", "driftTimeValid", 100, 0, 2);
239  m_h_driftTimeValid->StatOverflows();
241 
242  m_h_noise = new TH1F("h_noise", "noise", 100, 0, 2);
243  m_h_noise->StatOverflows();
244  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_noise->GetName(), m_h_noise));
245 
246  m_h_brl_ec = new TH1F("h_brl_ec", "brl_ec", 100, 0, 2);
247  m_h_brl_ec->StatOverflows();
248  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_brl_ec->GetName(), m_h_brl_ec));
249 
250  m_h_trtID = new TH1F("h_trtID", "trtID", 100, 0, 2e18);
251  m_h_trtID->StatOverflows();
252  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_trtID->GetName(), m_h_trtID));
253 
254  m_h_surfType = new TH1F("h_surfType", "surfType", 100, 0, 7);
255  m_h_surfType->StatOverflows();
256  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_surfType->GetName(), m_h_surfType));
257 
258  m_h_bndsType = new TH1F("h_bndsType", "bndsType", 100, 0, 7);
259  m_h_bndsType->StatOverflows();
260  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_bndsType->GetName(), m_h_bndsType));
261 
262  m_h_cntr_x = new TH1F("h_cntr_x", "cntr_x", 100, -1250, 1250);
263  m_h_cntr_x->StatOverflows();
264  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_cntr_x->GetName(), m_h_cntr_x));
265 
266  m_h_cntr_y = new TH1F("h_cntr_y", "cntr_y", 100, -1250, 1250);
267  m_h_cntr_y->StatOverflows();
268  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_cntr_y->GetName(), m_h_cntr_y));
269 
270  m_h_cntr_z = new TH1F("h_cntr_z", "cntr_z", 100, -3000, 3000);
271  m_h_cntr_z->StatOverflows();
272  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_cntr_z->GetName(), m_h_cntr_z));
273 
274  m_h_cntr_r = new TH1F("h_cntr_r", "cntr_r", 100, 0, 1250);
275  m_h_cntr_r->StatOverflows();
276  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_cntr_r->GetName(), m_h_cntr_r));
277 
278  m_h_cntr_phi = new TH1F("h_cntr_phi", "cntr_phi", 100, -3.5, 3.5);
279  m_h_cntr_phi->StatOverflows();
280  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_cntr_phi->GetName(), m_h_cntr_phi));
281 
282  m_h_norm_x = new TH1F("h_norm_x", "norm_x", 100, -1.25, 1.25);
283  m_h_norm_x->StatOverflows();
284  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_norm_x->GetName(), m_h_norm_x));
285 
286  m_h_norm_y = new TH1F("h_norm_y", "norm_y", 100, -1.25, 1.25);
287  m_h_norm_y->StatOverflows();
288  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_norm_y->GetName(), m_h_norm_y));
289 
290  m_h_norm_z = new TH1F("h_norm_z", "norm_z", 100, -1, 1);
291  m_h_norm_z->StatOverflows();
292  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_norm_z->GetName(), m_h_norm_z));
293 
294  m_h_norm_r = new TH1F("h_norm_r", "norm_r", 100, 0, 1);
295  m_h_norm_r->StatOverflows();
296  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_norm_r->GetName(), m_h_norm_r));
297 
298  m_h_norm_phi = new TH1F("h_norm_phi", "norm_phi", 100, -3.5, 3.5);
299  m_h_norm_phi->StatOverflows();
300  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_norm_phi->GetName(), m_h_norm_phi));
301 
302  m_h_strSurfType = new TH1F("h_strSurfType", "strSurfType", 100, 0, 7);
303  m_h_strSurfType->StatOverflows();
304  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strSurfType->GetName(), m_h_strSurfType));
305 
306  m_h_strBndsType = new TH1F("h_strBndsType", "strBndsType", 100, 0, 7);
307  m_h_strBndsType->StatOverflows();
308  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strBndsType->GetName(), m_h_strBndsType));
309 
310  m_h_strCntr_x = new TH1F("h_strCntr_x", "strCntr_x", 100, -1250, 1250);
311  m_h_strCntr_x->StatOverflows();
312  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strCntr_x->GetName(), m_h_strCntr_x));
313 
314  m_h_strCntr_y = new TH1F("h_strCntr_y", "strCntr_y", 100, -1250, 1250);
315  m_h_strCntr_y->StatOverflows();
316  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strCntr_y->GetName(), m_h_strCntr_y));
317 
318  m_h_strCntr_z = new TH1F("h_strCntr_z", "strCntr_z", 100, -3000, 3000);
319  m_h_strCntr_z->StatOverflows();
320  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strCntr_z->GetName(), m_h_strCntr_z));
321 
322  m_h_strCntr_r = new TH1F("h_strCntr_r", "strCntr_r", 100, 0, 1250);
323  m_h_strCntr_r->StatOverflows();
324  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strCntr_r->GetName(), m_h_strCntr_r));
325 
326  m_h_strCntr_phi = new TH1F("h_strCntr_phi", "strCntr_phi", 100, -3.5, 3.5);
327  m_h_strCntr_phi->StatOverflows();
328  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strCntr_phi->GetName(), m_h_strCntr_phi));
329 
330  m_h_strNorm_x = new TH1F("h_strNorm_x", "strNorm_x", 100, -1.25, 1.25);
331  m_h_strNorm_x->StatOverflows();
332  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strNorm_x->GetName(), m_h_strNorm_x));
333 
334  m_h_strNorm_y = new TH1F("h_strNorm_y", "strNorm_y", 100, -1.25, 1.25);
335  m_h_strNorm_y->StatOverflows();
336  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strNorm_y->GetName(), m_h_strNorm_y));
337 
338  m_h_strNorm_z = new TH1F("h_strNorm_z", "strNorm_z", 100, -1, 1);
339  m_h_strNorm_z->StatOverflows();
340  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strNorm_z->GetName(), m_h_strNorm_z));
341 
342  m_h_strNorm_r = new TH1F("h_strNorm_r", "strNorm_r", 100, 0, 1);
343  m_h_strNorm_r->StatOverflows();
344  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strNorm_r->GetName(), m_h_strNorm_r));
345 
346  m_h_strNorm_phi = new TH1F("h_strNorm_phi", "strNorm_phi", 100, -3.5, 3.5);
347  m_h_strNorm_phi->StatOverflows();
348  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strNorm_phi->GetName(), m_h_strNorm_phi));
349 
350  m_h_strawN = new TH1F("h_strawN", "strawN", 100, 0, 30);
351  m_h_strawN->StatOverflows();
352  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strawN->GetName(), m_h_strawN));
353 
354  m_h_strawL = new TH1F("h_strawL", "strawL", 100, 0, 750);
355  m_h_strawL->StatOverflows();
356  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strawL->GetName(), m_h_strawL));
357 
358  m_h_strawD = new TH1F("h_strawD", "strawD", 100, -2, 2);
359  m_h_strawD->StatOverflows();
360  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_strawD->GetName(), m_h_strawD));
361 
362  m_h_allStrCntr_x = new TH1F("h_allStrCntr_x", "allStrCntr_x", 100, -1250, 1250);
363  m_h_allStrCntr_x->StatOverflows();
365 
366  m_h_allStrCntr_y = new TH1F("h_allStrCntr_y", "allStrCntr_y", 100, -1250, 1250);
367  m_h_allStrCntr_y->StatOverflows();
369 
370  m_h_allStrCntr_z = new TH1F("h_allStrCntr_z", "allStrCntr_z", 100, -3000, 3000);
371  m_h_allStrCntr_z->StatOverflows();
373 
374  m_h_allStrCntr_r = new TH1F("h_allStrCntr_r", "allStrCntr_r", 100, 0, 1250);
375  m_h_allStrCntr_r->StatOverflows();
377 
378  m_h_allStrCntr_phi = new TH1F("h_allStrCntr_phi", "allStrCntr_phi", 100, -3.5, 3.5);
379  m_h_allStrCntr_phi->StatOverflows();
381 
382  m_h_allStrAxis_x = new TH1F("h_allStrAxis_x", "allStrAxis_x", 100, -1.25, 1.25);
383  m_h_allStrAxis_x->StatOverflows();
385 
386  m_h_allStrAxis_y = new TH1F("h_allStrAxis_y", "allStrAxis_y", 100, -1.25, 1.25);
387  m_h_allStrAxis_y->StatOverflows();
389 
390  m_h_allStrAxis_z = new TH1F("h_allStrAxis_z", "allStrAxis_z", 100, -1, 1);
391  m_h_allStrAxis_z->StatOverflows();
393 
394  m_h_allStrAxis_r = new TH1F("h_allStrAxis_r", "allStrAxis_r", 100, 0, 1);
395  m_h_allStrAxis_r->StatOverflows();
397 
398  m_h_allStrAxis_phi = new TH1F("h_allStrAxis_phi", "allStrAxis_phi", 100, -3.5, 3.5);
399  m_h_allStrAxis_phi->StatOverflows();
401 
402  return StatusCode::SUCCESS;
403 }
404 
406  ATH_MSG_DEBUG( "In TRT_FastRDOAnalysis::execute()" );
407 
408  // clear branches
409  m_word->clear();
410  m_driftTimeBin->clear();
411  m_highLevel->clear();
412  m_firstBin->clear();
413  m_lastBin->clear();
414  m_timeOverThreshold->clear();
415  m_rawDriftTime->clear();
416  m_driftTimeValid->clear();
417  m_noise->clear();
418 
419  m_brl_ec->clear();
420  m_trtID->clear();
421  m_surfType->clear();
422  m_bndsType->clear();
423  m_cntr_x->clear();
424  m_cntr_y->clear();
425  m_cntr_z->clear();
426  m_cntr_r->clear();
427  m_cntr_phi->clear();
428  m_norm_x->clear();
429  m_norm_y->clear();
430  m_norm_z->clear();
431  m_norm_r->clear();
432  m_norm_phi->clear();
433  m_strSurfType->clear();
434  m_strBndsType->clear();
435  m_strCntr_x->clear();
436  m_strCntr_y->clear();
437  m_strCntr_z->clear();
438  m_strCntr_r->clear();
439  m_strCntr_phi->clear();
440  m_strNorm_x->clear();
441  m_strNorm_y->clear();
442  m_strNorm_z->clear();
443  m_strNorm_r->clear();
444  m_strNorm_phi->clear();
445  m_strawN->clear();
446  m_strawL->clear();
447  m_strawD->clear();
448  m_allStrCntr_x->clear();
449  m_allStrCntr_y->clear();
450  m_allStrCntr_z->clear();
451  m_allStrCntr_r->clear();
452  m_allStrCntr_phi->clear();
453  m_allStrAxis_x->clear();
454  m_allStrAxis_y->clear();
455  m_allStrAxis_z->clear();
456  m_allStrAxis_r->clear();
457  m_allStrAxis_phi->clear();
458 
459  // get containers -- fill branches + histos
461  if(p_trtDC_cont.isValid()) {
462  // loop over cluster container
463  InDet::TRT_DriftCircleContainer::const_iterator trtDCcont_itr(p_trtDC_cont->begin());
464  const InDet::TRT_DriftCircleContainer::const_iterator trtDCcont_end(p_trtDC_cont->end());
465  for ( ; trtDCcont_itr != trtDCcont_end; ++trtDCcont_itr ) {
466  const InDet::TRT_DriftCircleCollection* p_trtDC_coll(*trtDCcont_itr);
467  InDet::TRT_DriftCircleCollection::const_iterator trtDC_itr(p_trtDC_coll->begin());
468  const InDet::TRT_DriftCircleCollection::const_iterator trtDC_end(p_trtDC_coll->end());
469  for ( ; trtDC_itr != trtDC_end; ++trtDC_itr ) {
470  // TRT_DriftCircle
471  const unsigned int word((*trtDC_itr)->getWord());
472  const int driftTimeBin((*trtDC_itr)->driftTimeBin());
473  const int trailEdge((*trtDC_itr)->trailingEdge());
474  const bool HL((*trtDC_itr)->highLevel());
475  const bool firstBin((*trtDC_itr)->firstBinHigh());
476  const bool lastBin((*trtDC_itr)->lastBinHigh());
477  const double ToT((*trtDC_itr)->timeOverThreshold());
478  const double rawDriftTime((*trtDC_itr)->rawDriftTime());
479  const bool driftTimeValid((*trtDC_itr)->driftTimeValid());
480  const bool noise((*trtDC_itr)->isNoise());
481 
482  m_word->push_back(word);
483  m_driftTimeBin->push_back(driftTimeBin);
484  m_trailEdge->push_back(trailEdge);
485  m_highLevel->push_back(HL);
486  m_firstBin->push_back(firstBin);
487  m_lastBin->push_back(lastBin);
488  m_timeOverThreshold->push_back(ToT);
489  m_rawDriftTime->push_back(rawDriftTime);
490  m_driftTimeValid->push_back(driftTimeValid);
491  m_noise->push_back(noise);
492 
493  m_h_word->Fill(word);
495  m_h_trailEdge->Fill(trailEdge);
496  m_h_highLevel->Fill(HL);
497  m_h_firstBin->Fill(firstBin);
498  m_h_lastBin->Fill(lastBin);
501  m_h_driftTimeValid->Fill(driftTimeValid);
502  m_h_noise->Fill(noise);
503 
504  // ---------------
505  // TRT_BaseElement
506  // ---------------
507  const InDetDD::TRT_BaseElement* detElement((*trtDC_itr)->detectorElement());
508  // type info --> BARREL or ENDCAP
509  const int brl_ec((*detElement).type());
510  const Identifier trtID((*detElement).identify());
511  const unsigned long long trtID_int = trtID.get_compact();
512 
513  // Surface & Tracking info
514  // -- element surface (straw layer)
515  const Trk::Surface& surf((*detElement).surface());
516  const int surfType(static_cast<int>(surf.type()));
517 
518  const Trk::SurfaceBounds& bnds((*detElement).bounds());
519  const int bndsType(bnds.type());
520 
521  const Amg::Vector3D& cntr((*detElement).center());
522  const float cntr_x(cntr.x());
523  const float cntr_y(cntr.y());
524  const float cntr_z(cntr.z());
525  const float cntr_r(cntr.perp());
526  const float cntr_phi(cntr.phi());
527 
528  const Amg::Vector3D& norm((*detElement).normal());
529  const float norm_x(norm.x());
530  const float norm_y(norm.y());
531  const float norm_z(norm.z());
532  const float norm_r(norm.perp());
533  const float norm_phi(norm.phi());
534 
535  // -- straw surface (first straw in layer?)
536  const Trk::Surface& strSurf((*detElement).surface(trtID));
537  const int strSurfType(static_cast<int>(strSurf.type()));
538 
539  const Trk::SurfaceBounds& strBnds((*detElement).bounds(trtID));
540  const int strBndsType(strBnds.type());
541 
542  const Amg::Vector3D& strCntr((*detElement).center(trtID));
543  const float strCntr_x(strCntr.x());
544  const float strCntr_y(strCntr.y());
545  const float strCntr_z(strCntr.z());
546  const float strCntr_r(strCntr.perp());
547  const float strCntr_phi(strCntr.phi());
548 
549  const Amg::Vector3D& strNorm((*detElement).normal(trtID));
550  const float strNorm_x(strNorm.x());
551  const float strNorm_y(strNorm.y());
552  const float strNorm_z(strNorm.z());
553  const float strNorm_r(strNorm.perp());
554  const float strNorm_phi(strNorm.phi());
555 
556  const unsigned int strawN((*detElement).nStraws());
557  const double& strawL((*detElement).strawLength());
558  const int strawD((*detElement).strawDirection());
559 
560  // all straws in layer
561  for (unsigned int i = 0; i != strawN; ++i) {
562  const Amg::Vector3D& strawCenter((*detElement).strawCenter(i));
563  const float strawCenter_x(strawCenter.x());
564  const float strawCenter_y(strawCenter.y());
565  const float strawCenter_z(strawCenter.z());
566  const float strawCenter_r(strawCenter.perp());
567  const float strawCenter_phi(strawCenter.phi());
568 
569  const Amg::Vector3D& strawAxis((*detElement).strawAxis(i));
570  const float strawAxis_x(strawAxis.x());
571  const float strawAxis_y(strawAxis.y());
572  const float strawAxis_z(strawAxis.z());
573  const float strawAxis_r(strawAxis.perp());
574  const float strawAxis_phi(strawAxis.phi());
575 
576  m_allStrCntr_x->push_back(strawCenter_x);
577  m_allStrCntr_y->push_back(strawCenter_y);
578  m_allStrCntr_z->push_back(strawCenter_z);
579  m_allStrCntr_r->push_back(strawCenter_r);
580  m_allStrCntr_phi->push_back(strawCenter_phi);
581 
582  m_allStrAxis_x->push_back(strawAxis_x);
583  m_allStrAxis_y->push_back(strawAxis_y);
584  m_allStrAxis_z->push_back(strawAxis_z);
585  m_allStrAxis_r->push_back(strawAxis_r);
586  m_allStrAxis_phi->push_back(strawAxis_phi);
587 
588  m_h_allStrCntr_x->Fill(strawCenter_x);
589  m_h_allStrCntr_y->Fill(strawCenter_y);
590  m_h_allStrCntr_z->Fill(strawCenter_z);
591  m_h_allStrCntr_r->Fill(strawCenter_r);
592  m_h_allStrCntr_phi->Fill(strawCenter_phi);
593 
594  m_h_allStrAxis_x->Fill(strawAxis_x);
595  m_h_allStrAxis_y->Fill(strawAxis_y);
596  m_h_allStrAxis_z->Fill(strawAxis_z);
597  m_h_allStrAxis_r->Fill(strawAxis_r);
598  m_h_allStrAxis_phi->Fill(strawAxis_phi);
599  }
600 
601  m_brl_ec->push_back(brl_ec);
602  m_trtID->push_back(trtID_int);
603  m_surfType->push_back(surfType);
604  m_bndsType->push_back(bndsType);
605  m_cntr_x->push_back(cntr_x);
606  m_cntr_y->push_back(cntr_y);
607  m_cntr_z->push_back(cntr_z);
608  m_cntr_r->push_back(cntr_r);
609  m_cntr_phi->push_back(cntr_phi);
610  m_norm_x->push_back(norm_x);
611  m_norm_y->push_back(norm_y);
612  m_norm_z->push_back(norm_z);
613  m_norm_r->push_back(norm_r);
614  m_norm_phi->push_back(norm_phi);
615  m_strSurfType->push_back(strSurfType);
616  m_strBndsType->push_back(strBndsType);
617  m_strCntr_x->push_back(strCntr_x);
618  m_strCntr_y->push_back(strCntr_y);
619  m_strCntr_z->push_back(strCntr_z);
620  m_strCntr_r->push_back(strCntr_r);
621  m_strCntr_phi->push_back(strCntr_phi);
622  m_strNorm_x->push_back(strNorm_x);
623  m_strNorm_y->push_back(strNorm_y);
624  m_strNorm_z->push_back(strNorm_z);
625  m_strNorm_r->push_back(strNorm_r);
626  m_strNorm_phi->push_back(strNorm_phi);
627  m_strawN->push_back(strawN);
628  m_strawL->push_back(strawL);
629  m_strawD->push_back(strawD);
630 
631  m_h_brl_ec->Fill(brl_ec);
632  m_h_trtID->Fill(trtID_int);
633  m_h_surfType->Fill(surfType);
634  m_h_bndsType->Fill(bndsType);
635  m_h_cntr_x->Fill(cntr_x);
636  m_h_cntr_y->Fill(cntr_y);
637  m_h_cntr_z->Fill(cntr_z);
638  m_h_cntr_r->Fill(cntr_r);
639  m_h_cntr_phi->Fill(cntr_phi);
640  m_h_norm_x->Fill(norm_x);
641  m_h_norm_y->Fill(norm_y);
642  m_h_norm_z->Fill(norm_z);
643  m_h_norm_r->Fill(norm_r);
645  m_h_strSurfType->Fill(strSurfType);
646  m_h_strBndsType->Fill(strBndsType);
647  m_h_strCntr_x->Fill(strCntr_x);
648  m_h_strCntr_y->Fill(strCntr_y);
649  m_h_strCntr_z->Fill(strCntr_z);
650  m_h_strCntr_r->Fill(strCntr_r);
651  m_h_strCntr_phi->Fill(strCntr_phi);
652  m_h_strNorm_x->Fill(strNorm_x);
653  m_h_strNorm_y->Fill(strNorm_y);
654  m_h_strNorm_z->Fill(strNorm_z);
655  m_h_strNorm_r->Fill(strNorm_r);
656  m_h_strNorm_phi->Fill(strNorm_phi);
657  m_h_strawN->Fill(strawN);
658  m_h_strawL->Fill(strawL);
659  m_h_strawD->Fill(strawD);
660 
661  }
662  }
663  }
664 
665  if (m_tree) {
666  m_tree->Fill();
667  }
668 
669  return StatusCode::SUCCESS;
670 }
671 
673  return StatusCode::SUCCESS;
674 }
TRT_FastRDOAnalysis::m_h_allStrCntr_phi
TH1 * m_h_allStrCntr_phi
Definition: TRT_FastRDOAnalysis.h:135
TRT_FastRDOAnalysis::m_h_allStrAxis_z
TH1 * m_h_allStrAxis_z
Definition: TRT_FastRDOAnalysis.h:138
TRT_FastRDOAnalysis::m_h_strNorm_r
TH1 * m_h_strNorm_r
Definition: TRT_FastRDOAnalysis.h:126
TRT_FastRDOAnalysis::m_h_allStrAxis_phi
TH1 * m_h_allStrAxis_phi
Definition: TRT_FastRDOAnalysis.h:140
TRT_FastRDOAnalysis::m_trtID
std::vector< unsigned long long > * m_trtID
Definition: TRT_FastRDOAnalysis.h:51
PlotCalibFromCool.norm
norm
Definition: PlotCalibFromCool.py:100
TRT_FastRDOAnalysis::m_strCntr_x
std::vector< float > * m_strCntr_x
Definition: TRT_FastRDOAnalysis.h:66
TRT_FastRDOAnalysis::m_h_trailEdge
TH1 * m_h_trailEdge
Definition: TRT_FastRDOAnalysis.h:93
TRT_FastRDOAnalysis::m_h_strBndsType
TH1 * m_h_strBndsType
Definition: TRT_FastRDOAnalysis.h:117
TRT_FastRDOAnalysis::m_driftTimeValid
std::vector< bool > * m_driftTimeValid
Definition: TRT_FastRDOAnalysis.h:47
TRT_FastRDOAnalysis.h
TRT_FastRDOAnalysis::m_allStrAxis_phi
std::vector< float > * m_allStrAxis_phi
Definition: TRT_FastRDOAnalysis.h:88
TRT_FastRDOAnalysis::m_h_cntr_r
TH1 * m_h_cntr_r
Definition: TRT_FastRDOAnalysis.h:109
TRT_FastRDOAnalysis::m_h_cntr_y
TH1 * m_h_cntr_y
Definition: TRT_FastRDOAnalysis.h:107
TRT_FastRDOAnalysis::m_cntr_r
std::vector< float > * m_cntr_r
Definition: TRT_FastRDOAnalysis.h:57
TRT_FastRDOAnalysis::m_h_allStrCntr_y
TH1 * m_h_allStrCntr_y
Definition: TRT_FastRDOAnalysis.h:132
TRT_FastRDOAnalysis::m_h_strCntr_y
TH1 * m_h_strCntr_y
Definition: TRT_FastRDOAnalysis.h:119
TRT_FastRDOAnalysis::m_h_surfType
TH1 * m_h_surfType
Definition: TRT_FastRDOAnalysis.h:104
TRT_FastRDOAnalysis::m_rawDriftTime
std::vector< double > * m_rawDriftTime
Definition: TRT_FastRDOAnalysis.h:46
TRT_FastRDOAnalysis::m_allStrCntr_r
std::vector< float > * m_allStrCntr_r
Definition: TRT_FastRDOAnalysis.h:82
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::SurfaceBounds
Definition: SurfaceBounds.h:47
TRT_FastRDOAnalysis::m_h_rawDriftTime
TH1 * m_h_rawDriftTime
Definition: TRT_FastRDOAnalysis.h:98
TRT_FastRDOAnalysis::m_h_firstBin
TH1 * m_h_firstBin
Definition: TRT_FastRDOAnalysis.h:95
TRT_FastRDOAnalysis::m_allStrAxis_r
std::vector< float > * m_allStrAxis_r
Definition: TRT_FastRDOAnalysis.h:87
TRT_FastRDOAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: TRT_FastRDOAnalysis.h:147
TRT_FastRDOAnalysis::m_highLevel
std::vector< bool > * m_highLevel
Definition: TRT_FastRDOAnalysis.h:42
TRT_FastRDOAnalysis::m_strNorm_phi
std::vector< float > * m_strNorm_phi
Definition: TRT_FastRDOAnalysis.h:75
TRT_FastRDOAnalysis::execute
virtual StatusCode execute() override final
Definition: TRT_FastRDOAnalysis.cxx:405
norm_phi
double norm_phi(const double input)
Definition: NnNormalization.cxx:71
TRT_FastRDOAnalysis::m_h_strCntr_phi
TH1 * m_h_strCntr_phi
Definition: TRT_FastRDOAnalysis.h:122
TRT_FastRDOAnalysis::m_h_word
TH1 * m_h_word
Definition: TRT_FastRDOAnalysis.h:91
TRT_FastRDOAnalysis::m_strSurfType
std::vector< int > * m_strSurfType
Definition: TRT_FastRDOAnalysis.h:64
TRT_FastRDOAnalysis::m_strNorm_x
std::vector< float > * m_strNorm_x
Definition: TRT_FastRDOAnalysis.h:71
TRT_FastRDOAnalysis::m_strawD
std::vector< double > * m_strawD
Definition: TRT_FastRDOAnalysis.h:78
TRT_FastRDOAnalysis::m_h_cntr_z
TH1 * m_h_cntr_z
Definition: TRT_FastRDOAnalysis.h:108
TRT_FastRDOAnalysis::m_h_timeOverThreshold
TH1 * m_h_timeOverThreshold
Definition: TRT_FastRDOAnalysis.h:97
TRT_FastRDOAnalysis::m_h_allStrCntr_z
TH1 * m_h_allStrCntr_z
Definition: TRT_FastRDOAnalysis.h:133
TRT_FastRDOAnalysis::m_surfType
std::vector< int > * m_surfType
Definition: TRT_FastRDOAnalysis.h:52
TRT_FastRDOAnalysis::m_h_highLevel
TH1 * m_h_highLevel
Definition: TRT_FastRDOAnalysis.h:94
TRT_FastRDOAnalysis::m_tree
TTree * m_tree
Definition: TRT_FastRDOAnalysis.h:142
TRT_FastRDOAnalysis::m_h_norm_x
TH1 * m_h_norm_x
Definition: TRT_FastRDOAnalysis.h:111
TRT_FastRDOAnalysis::m_cntr_phi
std::vector< float > * m_cntr_phi
Definition: TRT_FastRDOAnalysis.h:58
TRT_FastRDOAnalysis::m_h_cntr_x
TH1 * m_h_cntr_x
Definition: TRT_FastRDOAnalysis.h:106
TRT_FastRDOAnalysis::m_allStrCntr_phi
std::vector< float > * m_allStrCntr_phi
Definition: TRT_FastRDOAnalysis.h:83
TRT_FastRDOAnalysis::m_h_norm_z
TH1 * m_h_norm_z
Definition: TRT_FastRDOAnalysis.h:113
TRT_FastRDOAnalysis::m_h_strawL
TH1 * m_h_strawL
Definition: TRT_FastRDOAnalysis.h:129
TRT_FastRDOAnalysis::m_h_noise
TH1 * m_h_noise
Definition: TRT_FastRDOAnalysis.h:100
Trk::SurfaceBounds::type
virtual BoundsType type() const =0
Return the bounds type - for persistency optimization.
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
TRT_FastRDOAnalysis::m_h_strCntr_z
TH1 * m_h_strCntr_z
Definition: TRT_FastRDOAnalysis.h:120
TRT_FastRDOAnalysis::m_norm_x
std::vector< float > * m_norm_x
Definition: TRT_FastRDOAnalysis.h:59
TRT_FastRDOAnalysis::m_h_strSurfType
TH1 * m_h_strSurfType
Definition: TRT_FastRDOAnalysis.h:116
TRT_FastRDOAnalysis::m_path
std::string m_path
Definition: TRT_FastRDOAnalysis.h:146
lumiFormat.i
int i
Definition: lumiFormat.py:92
TRT_FastRDOAnalysis::m_cntr_x
std::vector< float > * m_cntr_x
Definition: TRT_FastRDOAnalysis.h:54
TRT_FastRDOAnalysis::m_cntr_y
std::vector< float > * m_cntr_y
Definition: TRT_FastRDOAnalysis.h:55
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TRT_FastRDOAnalysis::m_h_strawN
TH1 * m_h_strawN
Definition: TRT_FastRDOAnalysis.h:128
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TRT_FastRDOAnalysis::m_allStrCntr_z
std::vector< float > * m_allStrCntr_z
Definition: TRT_FastRDOAnalysis.h:81
TRT_FastRDOAnalysis::m_lastBin
std::vector< bool > * m_lastBin
Definition: TRT_FastRDOAnalysis.h:44
TRT_FastRDOAnalysis::m_bndsType
std::vector< int > * m_bndsType
Definition: TRT_FastRDOAnalysis.h:53
m_path
std::string m_path
the path being used
Definition: OutputStreamData.cxx:88
TRT_FastRDOAnalysis::m_h_strawD
TH1 * m_h_strawD
Definition: TRT_FastRDOAnalysis.h:130
TRT_FastRDOAnalysis::m_h_strNorm_x
TH1 * m_h_strNorm_x
Definition: TRT_FastRDOAnalysis.h:123
TRT_FastRDOAnalysis::m_h_bndsType
TH1 * m_h_bndsType
Definition: TRT_FastRDOAnalysis.h:105
TRT_FastRDOAnalysis::m_h_strNorm_phi
TH1 * m_h_strNorm_phi
Definition: TRT_FastRDOAnalysis.h:127
TRT_FastRDOAnalysis::m_strCntr_r
std::vector< float > * m_strCntr_r
Definition: TRT_FastRDOAnalysis.h:69
TRT_FastRDOAnalysis::m_h_trtID
TH1 * m_h_trtID
Definition: TRT_FastRDOAnalysis.h:103
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TRT_FastRDOAnalysis::finalize
virtual StatusCode finalize() override final
Definition: TRT_FastRDOAnalysis.cxx:672
TRT_FastRDOAnalysis::m_cntr_z
std::vector< float > * m_cntr_z
Definition: TRT_FastRDOAnalysis.h:56
TRT_FastRDOAnalysis::m_h_allStrCntr_r
TH1 * m_h_allStrCntr_r
Definition: TRT_FastRDOAnalysis.h:134
TRT_FastRDOAnalysis::m_h_lastBin
TH1 * m_h_lastBin
Definition: TRT_FastRDOAnalysis.h:96
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
TRT_FastRDOAnalysis::m_strCntr_phi
std::vector< float > * m_strCntr_phi
Definition: TRT_FastRDOAnalysis.h:70
AthAlgorithm
Definition: AthAlgorithm.h:47
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
TRT_FastRDOAnalysis::m_allStrCntr_x
std::vector< float > * m_allStrCntr_x
Definition: TRT_FastRDOAnalysis.h:79
TRT_FastRDOAnalysis::m_h_allStrAxis_r
TH1 * m_h_allStrAxis_r
Definition: TRT_FastRDOAnalysis.h:139
rawDriftTime
double rawDriftTime(unsigned int m_word)
Definition: driftCircle.h:112
TRT_FastRDOAnalysis::m_h_driftTimeBin
TH1 * m_h_driftTimeBin
Definition: TRT_FastRDOAnalysis.h:92
TRT_FastRDOAnalysis::m_noise
std::vector< bool > * m_noise
Definition: TRT_FastRDOAnalysis.h:48
TRT_FastRDOAnalysis::m_strawN
std::vector< int > * m_strawN
Definition: TRT_FastRDOAnalysis.h:76
TRT_FastRDOAnalysis::initialize
virtual StatusCode initialize() override final
Definition: TRT_FastRDOAnalysis.cxx:134
TRT_FastRDOAnalysis::m_h_strCntr_r
TH1 * m_h_strCntr_r
Definition: TRT_FastRDOAnalysis.h:121
TRT_FastRDOAnalysis::m_h_norm_y
TH1 * m_h_norm_y
Definition: TRT_FastRDOAnalysis.h:112
TRT_FastRDOAnalysis::m_norm_y
std::vector< float > * m_norm_y
Definition: TRT_FastRDOAnalysis.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TRT_FastRDOAnalysis::m_allStrAxis_x
std::vector< float > * m_allStrAxis_x
Definition: TRT_FastRDOAnalysis.h:84
InDet::TRT_DriftCircleCollection
Trk::PrepRawDataCollection< TRT_DriftCircle > TRT_DriftCircleCollection
Definition: TRT_DriftCircleCollection.h:26
TRT_FastRDOAnalysis::m_strawL
std::vector< double > * m_strawL
Definition: TRT_FastRDOAnalysis.h:77
TRT_FastRDOAnalysis::m_norm_r
std::vector< float > * m_norm_r
Definition: TRT_FastRDOAnalysis.h:62
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
TRT_FastRDOAnalysis::m_h_allStrCntr_x
TH1 * m_h_allStrCntr_x
Definition: TRT_FastRDOAnalysis.h:131
TRT_FastRDOAnalysis::m_ntupleDirName
std::string m_ntupleDirName
Definition: TRT_FastRDOAnalysis.h:144
TRT_FastRDOAnalysis::m_norm_phi
std::vector< float > * m_norm_phi
Definition: TRT_FastRDOAnalysis.h:63
TRT_FastRDOAnalysis::m_h_strNorm_z
TH1 * m_h_strNorm_z
Definition: TRT_FastRDOAnalysis.h:125
TRT_FastRDOAnalysis::m_h_allStrAxis_x
TH1 * m_h_allStrAxis_x
Definition: TRT_FastRDOAnalysis.h:136
Identifier::get_compact
value_type get_compact(void) const
Get the compact id.
TRT_FastRDOAnalysis::m_strCntr_z
std::vector< float > * m_strCntr_z
Definition: TRT_FastRDOAnalysis.h:68
TRT_FastRDOAnalysis::m_brl_ec
std::vector< int > * m_brl_ec
Definition: TRT_FastRDOAnalysis.h:50
TRT_FastRDOAnalysis::m_strCntr_y
std::vector< float > * m_strCntr_y
Definition: TRT_FastRDOAnalysis.h:67
TRT_FastRDOAnalysis::m_strBndsType
std::vector< int > * m_strBndsType
Definition: TRT_FastRDOAnalysis.h:65
TRT_FastRDOAnalysis::m_h_norm_r
TH1 * m_h_norm_r
Definition: TRT_FastRDOAnalysis.h:114
TRT_FastRDOAnalysis::m_ntupleTreeName
std::string m_ntupleTreeName
Definition: TRT_FastRDOAnalysis.h:145
TRT_FastRDOAnalysis::m_h_cntr_phi
TH1 * m_h_cntr_phi
Definition: TRT_FastRDOAnalysis.h:110
TRT_FastRDOAnalysis::m_inputKey
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_inputKey
Definition: TRT_FastRDOAnalysis.h:37
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
TRT_FastRDOAnalysis::m_strNorm_r
std::vector< float > * m_strNorm_r
Definition: TRT_FastRDOAnalysis.h:74
TRT_FastRDOAnalysis::m_h_strNorm_y
TH1 * m_h_strNorm_y
Definition: TRT_FastRDOAnalysis.h:124
TRT_FastRDOAnalysis::m_h_allStrAxis_y
TH1 * m_h_allStrAxis_y
Definition: TRT_FastRDOAnalysis.h:137
ReadHandle.h
Handle class for reading from StoreGate.
TRT_FastRDOAnalysis::m_driftTimeBin
std::vector< int > * m_driftTimeBin
Definition: TRT_FastRDOAnalysis.h:40
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
TRT_FastRDOAnalysis::m_norm_z
std::vector< float > * m_norm_z
Definition: TRT_FastRDOAnalysis.h:61
TRT_FastRDOAnalysis::m_timeOverThreshold
std::vector< double > * m_timeOverThreshold
Definition: TRT_FastRDOAnalysis.h:45
TRT_FastRDOAnalysis::m_h_norm_phi
TH1 * m_h_norm_phi
Definition: TRT_FastRDOAnalysis.h:115
TRT_FastRDOAnalysis::m_allStrAxis_y
std::vector< float > * m_allStrAxis_y
Definition: TRT_FastRDOAnalysis.h:85
TRT_FastRDOAnalysis::TRT_FastRDOAnalysis
TRT_FastRDOAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TRT_FastRDOAnalysis.cxx:17
Trk::Surface::type
constexpr virtual SurfaceType type() const =0
Returns the Surface type to avoid dynamic casts.
TRT_FastRDOAnalysis::m_h_brl_ec
TH1 * m_h_brl_ec
Definition: TRT_FastRDOAnalysis.h:102
TRT_FastRDOAnalysis::m_firstBin
std::vector< bool > * m_firstBin
Definition: TRT_FastRDOAnalysis.h:43
TRT_FastRDOAnalysis::m_trailEdge
std::vector< int > * m_trailEdge
Definition: TRT_FastRDOAnalysis.h:41
TRT_FastRDOAnalysis::m_allStrAxis_z
std::vector< float > * m_allStrAxis_z
Definition: TRT_FastRDOAnalysis.h:86
TRT_FastRDOAnalysis::m_ntupleFileName
std::string m_ntupleFileName
Definition: TRT_FastRDOAnalysis.h:143
WriteCellNoiseToCool.noise
noise
Definition: WriteCellNoiseToCool.py:380
TRT_FastRDOAnalysis::m_word
std::vector< unsigned int > * m_word
Definition: TRT_FastRDOAnalysis.h:39
TRT_FastRDOAnalysis::m_strNorm_y
std::vector< float > * m_strNorm_y
Definition: TRT_FastRDOAnalysis.h:72
TRT_FastRDOAnalysis::m_h_strCntr_x
TH1 * m_h_strCntr_x
Definition: TRT_FastRDOAnalysis.h:118
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57
TRT_FastRDOAnalysis::m_strNorm_z
std::vector< float > * m_strNorm_z
Definition: TRT_FastRDOAnalysis.h:73
TRT_FastRDOAnalysis::m_h_driftTimeValid
TH1 * m_h_driftTimeValid
Definition: TRT_FastRDOAnalysis.h:99
driftTimeBin
int driftTimeBin(unsigned int m_word)
Definition: driftCircle.h:50
TRT_FastRDOAnalysis::m_allStrCntr_y
std::vector< float > * m_allStrCntr_y
Definition: TRT_FastRDOAnalysis.h:80