ATLAS Offline Software
InDetAlignOverlapTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #include <cmath>
6 #include <fstream>
7 #include <iomanip>
8 #include <iostream>
9 #include <string>
10 #include <vector>
11 
18 #include "InDetAlignOverlapTool.h"
19 #include "AlignSiModuleList.h"
20 
21 
22 using namespace std;
23 
24 
25 InDetAlignOverlapTool::InDetAlignOverlapTool(const std::string& t, const std::string& n, const IInterface* p)
26  : AthAlgTool(t, n, p)
27  , m_Overlaphits{}
28  , p_modlist{} {
29  declareInterface<IInDetAlignOverlapTool>(this);
30 }
31 
33 
36 
37  if (sc.isFailure()) return sc;
38 
39  // get DetectorStore service
41  // get pointer to AlignSiModuleList; after setup has created it
42  ATH_CHECK(detStore()->retrieve(p_modlist, "InDetAlignNt"));
43  ATH_MSG_DEBUG("initialize() successful in " << name());
44  return StatusCode::SUCCESS;
45 }
46 
48  ATH_MSG_DEBUG("finalize() successful in " << name());
49  return AlgTool::finalize();
50 }
51 
52 //** This function give us the number of overlaps in pixel detector
53 
55  ATH_MSG_DEBUG(" InDetAlignOverlapTool::get getNumberOverlapPIX inizialized");
56 
57  int nPixelBarrelOverlapEta = 0;
58  int nPixelBarrelOverlapPhi = 0;
59  int nPixelECOverlapPhi = 0;
60  int PixelSector[3] = {
61  21, 37, 51
62  };
63  int ECPixelSector = 48;
64  int nOverlapPIX = 0;
65  int nhits2 = 0;
66 
67  //--------------------
68  // first loop:
69  //--------------------
70 
71  nhits2 = trk.nhits();
72  ATH_MSG_DEBUG(" Num de Hits " << nhits2);
73  ATH_MSG_DEBUG(" Anem a entrar en el loop");
74 
75  for (std::vector<AlignSiHit>::const_iterator hit = trk.hitlist_cbegin();
76  hit != trk.hitlist_cend(); ++hit) {
77  int index = hit->index() - 1; // note index starts at 1 in ntuple!
78 
79  if (msgLvl(MSG::VERBOSE)) {
80  if ((p_modlist->vec[index]).bec() == 0 && (p_modlist->vec[index]).dettype() == 1) {
81  msg().setColor(MSG::GREEN);
82  msg(MSG::VERBOSE) << "Index " << index << " Detector: " << (p_modlist->vec[index]).dettype() << " layer : " <<
83  (p_modlist->vec[index]).layer() << " ring : "
84  << (p_modlist->vec[index]).ring() << " sector : " << (p_modlist->vec[index]).sector() <<
85  endmsg;
86  }
87  }
88 
89  //--------------------
90  // second loop:
91  //--------------------
92  for (std::vector<AlignSiHit>::const_iterator Allhit = hit;
93  Allhit != trk.hitlist_cend(); ++Allhit) {
94  int Allindex = Allhit->index() - 1; // note index starts at 1 in ntuple!
95 
96  if (msgLvl(MSG::VERBOSE)) {
97  if ((p_modlist->vec[Allindex]).bec() == 0 && (p_modlist->vec[Allindex]).dettype() == 1) {
98  msg().setColor(MSG::BLUE);
99  msg(MSG::VERBOSE) << "Index " << Allindex << endmsg;
100  }
101  }
102 
103  //------------------------//
104  // PIXEL SYSTEM //
105  //------------------------//
106 
107  if ((p_modlist->vec[index]).dettype() == 1 && (p_modlist->vec[Allindex]).dettype() == 1) {
108  if ((p_modlist->vec[index]).bec() == 0 && (p_modlist->vec[Allindex]).bec() == 0) { // BARREL
109  if ((p_modlist->vec[Allindex]).layer() == (p_modlist->vec[index]).layer() &&
110  (p_modlist->vec[Allindex]).ring() == (p_modlist->vec[index]).ring() &&
111  (std::abs((p_modlist->vec[Allindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
112  std::abs((p_modlist->vec[Allindex]).sector() -
113  ((p_modlist->vec[index]).sector() + PixelSector[(p_modlist->vec[index]).layer()])) == 1.)) {
114  // msg()
115  if (msgLvl(MSG::DEBUG)) {
116  msg().setColor(MSG::RED);
117  msg(MSG::DEBUG) << " Index:" << index << " layer " << (p_modlist->vec[index]).layer() << " ring " <<
118  (p_modlist->vec[index]).ring() <<
119  " sector " << (p_modlist->vec[index]).sector() << endmsg;//<<"rPhi Residuals: " << hit->rphi_resid() <<"
120  // eta Residuals: " << hit->z_resid());
121  msg().setColor(MSG::RED);
122  msg(MSG::DEBUG) << " AllIndex:" << Allindex << " layer " << (p_modlist->vec[Allindex]).layer() <<
123  " ring " << (p_modlist->vec[Allindex]).ring() <<
124  " sector " << (p_modlist->vec[Allindex]).sector() << endmsg;//<<" rPhi Residuals: " <<
125  // Allhit->rphi_resid() <<" eta Residuals:
126  // " << Allhit->z_resid());
127  msg().setColor(MSG::RED);
128  msg(MSG::DEBUG) << "Pixel Overlap in Phi found" << endmsg;
129  } //msg() end
130 
131  nPixelBarrelOverlapPhi++;
132  }
133 
134  if ((p_modlist->vec[Allindex]).layer() == (p_modlist->vec[index]).layer() &&
135  std::abs((p_modlist->vec[Allindex]).ring() - (p_modlist->vec[index]).ring()) == 1 &&
136  (p_modlist->vec[Allindex]).sector() == (p_modlist->vec[index]).sector()) {
137  //msg()
138  if (msgLvl(MSG::DEBUG)) {
139  msg().setColor(MSG::RED);
140  msg(MSG::DEBUG) << " Index:" << index << " layer " << (p_modlist->vec[index]).layer() << " ring " <<
141  (p_modlist->vec[index]).ring() <<
142  " sector " << (p_modlist->vec[index]).sector() << endmsg;//<<"rPhi Residuals: " << hit->rphi_resid() <<"
143  // eta Residuals: " << hit->z_resid());
144  msg().setColor(MSG::RED);
145  msg(MSG::DEBUG) << " AllIndex:" << Allindex << " layer " << (p_modlist->vec[Allindex]).layer() <<
146  " ring " << (p_modlist->vec[Allindex]).ring() <<
147  " sector " << (p_modlist->vec[Allindex]).sector() << endmsg;// <<" rPhi Residuals: " <<
148  // Allhit->rphi_resid() <<" eta Residuals:
149  // " << Allhit->z_resid());
150  msg().setColor(MSG::RED);
151  msg(MSG::DEBUG) << "Pixel Overlap in Eta found" << endmsg;
152  } //msg() end
153 
154  nPixelBarrelOverlapEta++;
155  }
156  } // END OF BARREL
157 
158  if ((p_modlist->vec[index]).bec() != 0 && (p_modlist->vec[index]).bec() == (p_modlist->vec[Allindex]).bec()) { // ENDCAP
159  if ((p_modlist->vec[Allindex]).layer() == (p_modlist->vec[index]).layer() &&
160  (p_modlist->vec[Allindex]).ring() == (p_modlist->vec[index]).ring() &&
161  (std::abs((p_modlist->vec[Allindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
162  std::abs((p_modlist->vec[Allindex]).sector() - ((p_modlist->vec[index]).sector() + ECPixelSector)) == 1.)) {
163  //msg()
164  if (msgLvl(MSG::DEBUG)) {
165  msg().setColor(MSG::RED);
166  msg(MSG::DEBUG) << " Index:" << index << " layer " << (p_modlist->vec[index]).layer() << " ring " <<
167  (p_modlist->vec[index]).ring() <<
168  " sector " << (p_modlist->vec[index]).sector() << endmsg;
169  msg(MSG::DEBUG) << " AllIndex:" << Allindex << " layer " << (p_modlist->vec[Allindex]).layer() <<
170  " ring " << (p_modlist->vec[Allindex]).ring() <<
171  " sector " << (p_modlist->vec[Allindex]).sector() << endmsg;
172  msg(MSG::DEBUG) << "EC Pixel Overlap in Phi found" << endmsg;
173  }// msg() end
174 
175  nPixelECOverlapPhi++;
176  }
177  } // END OF ENDCAP
178  }
179  }
180  }
181 
182  nOverlapPIX = nPixelBarrelOverlapPhi + nPixelBarrelOverlapEta + nPixelECOverlapPhi;
183  ATH_MSG_DEBUG(" Total number of Pixel overlaps in eta " << nPixelBarrelOverlapEta);
184  ATH_MSG_DEBUG(" Total number of Pixel overlaps in phi " << nPixelBarrelOverlapPhi);
185  ATH_MSG_DEBUG(" Total number of Pixel EC overlaps in phi " << nPixelECOverlapPhi);
186 
187  return nOverlapPIX;
188 }
189 
190 //** This function give us the number of overlaps in pixel detector.
191 //** The structure is the same that in the pixel case ( differs in dettype and number of sectors, etc...
192 
194  ATH_MSG_DEBUG(" InDetAlignOverlapTool::get getNumberOverlapSCT initialized");
195 
196  // counters for overlaps eta and overlaps Phi
197  int nSCTBarrelOverlapEta = 0;
198  int nSCTBarrelOverlapPhi = 0;
199  int nSCTECOverlapPhi = 0;
200  int nSCTECOverlapEta = 0;
201 
202  int SCTSector[4] = {
203  31, 39, 47, 55
204  };
205  int ECSCTSector = 52;
206 
207  int nOverlapSCT = 0;
208  int nhits2 = 0;
209 
210  nhits2 = trk.nhits();
211  ATH_MSG_DEBUG(" Num de Hits " << nhits2);
212  ATH_MSG_DEBUG(" Anem a entrar en el loop");
213 
214  //-------------
215  // first loop:
216  //-------------
217 
218  for (std::vector<AlignSiHit>::const_iterator hit = trk.hitlist_cbegin();
219  hit != trk.hitlist_cend(); ++hit) {
220  int index = hit->index() - 1; // note index starts at 1 in ntuple!
221 
222  if (msgLvl(MSG::VERBOSE)) {
223  if ((p_modlist->vec[index]).bec() == 0 && (p_modlist->vec[index]).dettype() == 1) {
224  msg().setColor(MSG::GREEN);
225  msg(MSG::VERBOSE) << "Index " << index << " Detector: " << (p_modlist->vec[index]).dettype() << " layer : " <<
226  (p_modlist->vec[index]).layer() << " ring : "
227  << (p_modlist->vec[index]).ring() << " sector : " << (p_modlist->vec[index]).sector() <<
228  endmsg;
229  }
230  }
231 
232  //-------------
233  // second loop:
234  //-------------
235 
236  for (std::vector<AlignSiHit>::const_iterator Allhit = hit;
237  Allhit != trk.hitlist_cend(); ++Allhit) {
238  int Allindex = Allhit->index() - 1; // note index starts at 1 in ntuple!
239 
240  if (msgLvl(MSG::VERBOSE)) {
241  if ((p_modlist->vec[Allindex]).bec() == 0 && (p_modlist->vec[Allindex]).dettype() == 1) {
242  msg().setColor(MSG::BLUE);
243  msg(MSG::VERBOSE) << "Index " << Allindex << endmsg;
244  }
245  }
246 
247  //------------------------//
248  // SCT SYSTEM //
249  //------------------------//
250 
251  if ((p_modlist->vec[index]).dettype() == 2 && (p_modlist->vec[Allindex]).dettype() == 2) {
252  if ((p_modlist->vec[index]).bec() == 0 && (p_modlist->vec[Allindex]).bec() == 0) { // BARREL
253  if ((p_modlist->vec[Allindex]).layer() == (p_modlist->vec[index]).layer() &&
254  (p_modlist->vec[Allindex]).ring() == (p_modlist->vec[index]).ring() &&
255  (std::abs((p_modlist->vec[Allindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
256  std::abs((p_modlist->vec[Allindex]).sector() -
257  ((p_modlist->vec[index]).sector() + SCTSector[(p_modlist->vec[index]).layer()])) == 1.)) {
258  if (msgLvl(MSG::DEBUG)) {
259  msg().setColor(MSG::RED);
260  msg(MSG::DEBUG) << " Index:" << index << " layer " << (p_modlist->vec[index]).layer() << " ring " <<
261  (p_modlist->vec[index]).ring() <<
262  " sector " << (p_modlist->vec[index]).sector() << endmsg;
263  msg().setColor(MSG::RED);
264  msg(MSG::DEBUG) << " AllIndex:" << Allindex << " layer " << (p_modlist->vec[Allindex]).layer() <<
265  " ring " << (p_modlist->vec[Allindex]).ring() <<
266  " sector " << (p_modlist->vec[Allindex]).sector() << endmsg;
267  msg().setColor(MSG::RED);
268  msg(MSG::DEBUG) << "SCT Overlap in Phi found" << endmsg;
269  }
270  nSCTBarrelOverlapPhi++;
271  }
272 
273  if ((p_modlist->vec[Allindex]).layer() == (p_modlist->vec[index]).layer() &&
274  std::abs((p_modlist->vec[Allindex]).ring() - (p_modlist->vec[index]).ring()) == 1 &&
275  (p_modlist->vec[Allindex]).sector() == (p_modlist->vec[index]).sector()) {
276  if (msgLvl(MSG::DEBUG)) {
277  msg().setColor(MSG::RED);
278  msg(MSG::DEBUG) << " Index:" << index << " layer " << (p_modlist->vec[index]).layer() << " ring " <<
279  (p_modlist->vec[index]).ring() <<
280  " sector " << (p_modlist->vec[index]).sector() << endmsg;
281  msg().setColor(MSG::RED);
282  msg(MSG::DEBUG) << " AllIndex:" << Allindex << " layer " << (p_modlist->vec[Allindex]).layer() <<
283  " ring " << (p_modlist->vec[Allindex]).ring() <<
284  " sector " << (p_modlist->vec[Allindex]).sector() << endmsg;
285  msg().setColor(MSG::RED);
286  msg(MSG::DEBUG) << "SCT Overlap in Eta found" << endmsg;
287  }
288  nSCTBarrelOverlapEta++;
289  }
290  }
291 
292  if ((p_modlist->vec[index]).bec() != 0 && ((p_modlist->vec[index]).bec() == (p_modlist->vec[Allindex]).bec())) { // EndCap
293  // (
294  // EC
295  // values
296  // 2
297  // i
298  // -2)
299  if ((p_modlist->vec[Allindex]).layer() == (p_modlist->vec[index]).layer() &&
300  (p_modlist->vec[Allindex]).ring() == (p_modlist->vec[index]).ring() &&
301  (std::abs((p_modlist->vec[Allindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
302  std::abs((p_modlist->vec[Allindex]).sector() - ((p_modlist->vec[index]).sector() + ECSCTSector)) == 1.)) {
303  if (msgLvl(MSG::DEBUG)) {
304  msg().setColor(MSG::RED);
305  msg(MSG::DEBUG) << " Index:" << index << " layer " << (p_modlist->vec[index]).layer() << " ring " <<
306  (p_modlist->vec[index]).ring() <<
307  " sector " << (p_modlist->vec[index]).sector() << endmsg;
308  msg().setColor(MSG::RED);
309  msg(MSG::DEBUG) << " AllIndex:" << Allindex << " layer " << (p_modlist->vec[Allindex]).layer() <<
310  " ring " << (p_modlist->vec[Allindex]).ring() <<
311  " sector " << (p_modlist->vec[Allindex]).sector() << endmsg;
312 
313  msg(MSG::DEBUG) << "EC SCT Overlap in Phi found" << endmsg;
314  }
315  nSCTECOverlapPhi++;
316  }
317 
318  if ((p_modlist->vec[Allindex]).layer() == (p_modlist->vec[index]).layer() &&
319  std::abs((p_modlist->vec[Allindex]).ring() - (p_modlist->vec[index]).ring()) == 1 &&
320  (p_modlist->vec[Allindex]).sector() == (p_modlist->vec[index]).sector()) {
321  if (msgLvl(MSG::DEBUG)) {
322  msg().setColor(MSG::GREEN);
323  msg(MSG::DEBUG) << " Index:" << index << " layer " << (p_modlist->vec[index]).layer() << " ring " <<
324  (p_modlist->vec[index]).ring() <<
325  " sector " << (p_modlist->vec[index]).sector() << endmsg;
326  msg().setColor(MSG::GREEN);
327  msg(MSG::DEBUG) << " AllIndex:" << Allindex << " layer " << (p_modlist->vec[Allindex]).layer() <<
328  " ring " << (p_modlist->vec[Allindex]).ring() <<
329  " sector " << (p_modlist->vec[Allindex]).sector() << endmsg;
330 
331  msg(MSG::DEBUG) << "EC SCT Overlap in Eta found" << endmsg;
332  }
333  nSCTECOverlapEta++;
334  }
335  }
336  }
337  }
338  }
339 
340  nOverlapSCT = nSCTBarrelOverlapPhi + nSCTBarrelOverlapEta + nSCTECOverlapPhi + nSCTECOverlapEta;
341 
342  ATH_MSG_DEBUG(" Total number of STC overlaps in eta " << nSCTBarrelOverlapEta);
343  ATH_MSG_DEBUG(" Total number of SCT overlaps in phi " << nSCTBarrelOverlapPhi);
344  ATH_MSG_DEBUG(" Total number of STC EC overlaps in phi " << nSCTECOverlapPhi);
345  ATH_MSG_DEBUG(" Total number of STC EC overlaps in Eta " << nSCTECOverlapEta);
346 
347  return nOverlapSCT;
348 }
349 
350 //** This fuctions give a DataVector<AlignSiHit> with overlap hits in aligntrk
351 //** Now we take into account all hits in 2 loops
352 
353 std::vector<AlignSiHit> InDetAlignOverlapTool::getOverlapHit(const AlignTrk& trk) { //const {
354  ATH_MSG_DEBUG(" InDetAlignOverlapTool::get getOverlapHit inizialized");
355 
356  bool isPIXOverlap = false;
357  bool isSCTOverlap = false;
358  //bool isOverlap=false;
359 
360  int PixelSector[3] = {
361  21, 37, 51
362  };
363  int ECPixelSector = 48;
364  int SCTSector[4] = {
365  31, 39, 47, 55
366  };
367  int ECSCTSector = 52;
368 
369  //----------------------------------------------------
370  // first loop: preparing info for next processing
371  //----------------------------------------------------
372  for (std::vector<AlignSiHit>::const_iterator hit = trk.hitlist_cbegin();
373  hit != trk.hitlist_cend(); ++hit) {
374  int index = hit->index() - 1; // note index starts at 1 in ntuple!
375 
376  isPIXOverlap = false;
377  isSCTOverlap = false;
378  //isOverlap=false;
379 
380  //----------------------------------------------------
381  // Second loop: preparing info for next processing
382  //----------------------------------------------------
383  for (std::vector<AlignSiHit>::const_iterator hit2 = trk.hitlist_cbegin();
384  hit2 != trk.hitlist_cend(); ++hit2) {
385  int newindex = hit2->index() - 1; // note index starts at 1 in ntuple!
386  //------------------------//
387  // PIXEL SYSTEM //
388  //------------------------//
389 
390  if ((p_modlist->vec[index]).dettype() == 1 && (p_modlist->vec[newindex]).dettype() == 1) {
391  if ((p_modlist->vec[index]).bec() == 0 && (p_modlist->vec[newindex]).bec() == 0) { // BARREL
392  if ((p_modlist->vec[newindex]).layer() == (p_modlist->vec[index]).layer() &&
393  (p_modlist->vec[newindex]).ring() == (p_modlist->vec[index]).ring() &&
394  (std::abs((p_modlist->vec[newindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
395  std::abs((p_modlist->vec[newindex]).sector() -
396  ((p_modlist->vec[index]).sector() + PixelSector[(p_modlist->vec[index]).layer()])) == 1.)) {
397  isPIXOverlap = true;
398  }
399 
400  if ((p_modlist->vec[newindex]).layer() == (p_modlist->vec[index]).layer() &&
401  std::abs((p_modlist->vec[newindex]).ring() - (p_modlist->vec[index]).ring()) == 1 &&
402  (p_modlist->vec[newindex]).sector() == (p_modlist->vec[index]).sector()) {
403  isPIXOverlap = true;
404  }
405  }
406 
407  if ((p_modlist->vec[index]).bec() != 0 && (p_modlist->vec[index]).bec() == (p_modlist->vec[newindex]).bec()) { // ENDCAP
408  if ((p_modlist->vec[newindex]).layer() == (p_modlist->vec[index]).layer() &&
409  (p_modlist->vec[newindex]).ring() == (p_modlist->vec[index]).ring() &&
410  (std::abs((p_modlist->vec[newindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
411  std::abs((p_modlist->vec[newindex]).sector() - ((p_modlist->vec[index]).sector() + ECPixelSector)) == 1.)) {
412  isPIXOverlap = true;
413  }
414  }
415  } // End Pixel system
416 
417 
418  //------------------------//
419  // SCT SYSTEM //
420  //------------------------//
421 
422  if ((p_modlist->vec[index]).dettype() == 2 && (p_modlist->vec[newindex]).dettype() == 2) {
423  if ((p_modlist->vec[index]).bec() == 0 && (p_modlist->vec[newindex]).bec() == 0) { // BARREL
424  if ((p_modlist->vec[newindex]).layer() == (p_modlist->vec[index]).layer() &&
425  (p_modlist->vec[newindex]).ring() == (p_modlist->vec[index]).ring() &&
426  (std::abs((p_modlist->vec[newindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
427  std::abs((p_modlist->vec[newindex]).sector() -
428  ((p_modlist->vec[index]).sector() + SCTSector[(p_modlist->vec[index]).layer()])) == 1.)) {
429  isSCTOverlap = true;
430  }
431 
432  if ((p_modlist->vec[newindex]).layer() == (p_modlist->vec[index]).layer() &&
433  std::abs((p_modlist->vec[newindex]).ring() - (p_modlist->vec[index]).ring()) == 1 &&
434  (p_modlist->vec[newindex]).sector() == (p_modlist->vec[index]).sector()) {
435  isSCTOverlap = true;
436  }
437  }
438 
439  if ((p_modlist->vec[index]).bec() != 0 && ((p_modlist->vec[index]).bec() == (p_modlist->vec[newindex]).bec())) { // //
440  // ENDCAP
441  // (
442  // EC
443  // values
444  // 2
445  // i
446  // -2)
447  if ((p_modlist->vec[newindex]).layer() == (p_modlist->vec[index]).layer() &&
448  (p_modlist->vec[newindex]).ring() == (p_modlist->vec[index]).ring() &&
449  (std::abs((p_modlist->vec[newindex]).sector() - (p_modlist->vec[index]).sector()) == 1. ||
450  std::abs((p_modlist->vec[newindex]).sector() - ((p_modlist->vec[index]).sector() + ECSCTSector)) == 1.)) {
451  isSCTOverlap = true;
452  }
453 
454  if ((p_modlist->vec[newindex]).layer() == (p_modlist->vec[index]).layer() &&
455  std::abs((p_modlist->vec[newindex]).ring() - (p_modlist->vec[index]).ring()) == 1 &&
456  (p_modlist->vec[newindex]).sector() == (p_modlist->vec[index]).sector()) {
457  isSCTOverlap = true;
458  }
459  } // End SCT system
460  }
461  }
462  if (isPIXOverlap || isSCTOverlap) {
463  msg().setColor(MSG::GREEN);
464  ATH_MSG_DEBUG("This Hit is overlap" << index);
465  m_Overlaphits.push_back(*hit);
466  }
467  }
468 
469  return m_Overlaphits;
470 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:50
AlignTrk.h
index
Definition: index.py:1
initialize
void initialize()
Definition: run_EoverP.cxx:894
AlignTrk::nhits
int nhits() const
Definition: AlignTrk.h:110
AlignTrkContainer.h
AlignTrk::hitlist_cend
std::vector< AlignSiHit >::const_iterator hitlist_cend() const
Definition: AlignTrk.h:167
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
AlignSiModuleList::vec
std::vector< AlignSiModule > vec
Definition: AlignSiModuleList.h:20
InDetAlignOverlapTool.h
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
InDetAlignOverlapTool::finalize
virtual StatusCode finalize()
Definition: InDetAlignOverlapTool.cxx:47
InDetAlignOverlapTool::getNumberOverlapPIX
int getNumberOverlapPIX(const AlignTrk &) const
main method to get an overlap hit
Definition: InDetAlignOverlapTool.cxx:54
AlignSiModule.h
InDetAlignOverlapTool::~InDetAlignOverlapTool
virtual ~InDetAlignOverlapTool()
Definition: InDetAlignOverlapTool.cxx:32
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
beamspotman.n
n
Definition: beamspotman.py:731
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
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
AlignSiModuleList.h
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
InDetAlignOverlapTool::InDetAlignOverlapTool
InDetAlignOverlapTool(const std::string &, const std::string &, const IInterface *)
Definition: InDetAlignOverlapTool.cxx:25
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AlignSiHit.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
RIO_OnTrack.h
InDetAlignOverlapTool::getNumberOverlapSCT
int getNumberOverlapSCT(const AlignTrk &) const
Definition: InDetAlignOverlapTool.cxx:193
InDetAlignOverlapTool::initialize
virtual StatusCode initialize()
Definition: InDetAlignOverlapTool.cxx:34
python.consts.RED
RED
Definition: consts.py:3
AlignTrk
Definition: AlignTrk.h:16
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
DeMoScan.index
string index
Definition: DeMoScan.py:364
python.consts.GREEN
GREEN
Definition: consts.py:3
DEBUG
#define DEBUG
Definition: page_access.h:11
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
InDetAlignOverlapTool::m_Overlaphits
std::vector< AlignSiHit > m_Overlaphits
Definition: InDetAlignOverlapTool.h:44
InDetAlignOverlapTool::getOverlapHit
std::vector< AlignSiHit > getOverlapHit(const AlignTrk &)
Definition: InDetAlignOverlapTool.cxx:353
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
AlignTrk::hitlist_cbegin
std::vector< AlignSiHit >::const_iterator hitlist_cbegin() const
Definition: AlignTrk.h:165
AthAlgTool
Definition: AthAlgTool.h:26
InDetAlignOverlapTool::p_modlist
const AlignSiModuleList * p_modlist
Definition: InDetAlignOverlapTool.h:46
python.logger.BLUE
BLUE
Definition: logger.py:15