CMS 3D CMS Logo

LaserAlignmentT0ProducerDQM.cc
Go to the documentation of this file.
1 
3 
8  theConfiguration = aConfiguration;
10 }
11 
16 
18  edm::Run const &,
19  edm::EventSetup const &) {
20  // upper and lower treshold for a profile considered showing a signal
21  theLowerAdcThreshold = theConfiguration.getParameter<unsigned int>("LowerAdcThreshold");
22  theUpperAdcThreshold = theConfiguration.getParameter<unsigned int>("UpperAdcThreshold");
23 
24  // the list of input digi products from the cfg
25  theDigiProducerList = theConfiguration.getParameter<std::vector<edm::ParameterSet>>("DigiProducerList");
26 
29 
30  std::string nameAndTitle;
31  std::stringstream labelBuilder;
32 
33  const short nBeams = 8;
34  const short nDisks = 9;
35 
36  // for the alignment tubes modules:
37  // x: 16 modules (5*TEC-, 6*TIB, 6*TOB, 5*TEC+), all from -z to z
38  // y: 8 beams
39  nameAndTitle = "NumberOfSignals_AlignmentTubes";
40  nSignalsAT = iBooker.book2D(nameAndTitle, nameAndTitle, 22, 0, 22, nBeams, 0, nBeams);
41  // nSignalsAT->setAxisTitle( "z-pos", 1 );
42  // nSignalsAT->setAxisTitle( "beam", 2 );
43 
44  // create bin labels for the AT histograms (subdets mixed here)
45  for (unsigned int i = 1; i <= 5; ++i) {
46  labelBuilder.clear();
47  labelBuilder.str("");
48  labelBuilder << "TEC- D" << 5 - i; // TEC-
49  nSignalsAT->setBinLabel(i, labelBuilder.str(), 1);
50  labelBuilder.clear();
51  labelBuilder.str("");
52  labelBuilder << "TEC+ D" << i - 1; // TEC+
53  nSignalsAT->setBinLabel(17 + i, labelBuilder.str(), 1);
54  }
55  for (unsigned int i = 0; i < 6; ++i) {
56  labelBuilder.clear();
57  labelBuilder.str("");
58  labelBuilder << "TIB" << i; // TIB
59  nSignalsAT->setBinLabel(6 + i, labelBuilder.str(), 1);
60  labelBuilder.clear();
61  labelBuilder.str("");
62  labelBuilder << "TOB" << i; // TOB
63  nSignalsAT->setBinLabel(12 + i, labelBuilder.str(), 1);
64  }
65 
66  // for the tec internal modules:
67  // x: disk1...disk9 (from inner to outer, so z changes direction!)
68  // y: 8 beams
69  nameAndTitle = "NumberOfSignals_TEC+R4";
70  nSignalsTECPlusR4 = iBooker.book2D(nameAndTitle, nameAndTitle, nDisks, 0, nDisks, nBeams, 0, nBeams);
71  // nSignalsTECPlusR4->setAxisTitle( "disk", 1 );
72  // nSignalsTECPlusR4->setAxisTitle( "beam", 2 );
73 
74  nameAndTitle = "NumberOfSignals_TEC+R6";
75  nSignalsTECPlusR6 = iBooker.book2D(nameAndTitle, nameAndTitle, nDisks, 0, nDisks, nBeams, 0, nBeams);
76  // nSignalsTECPlusR6->setAxisTitle( "disk", 1 );
77  // nSignalsTECPlusR6->setAxisTitle( "beam", 2 );
78 
79  nameAndTitle = "NumberOfSignals_TEC-R4";
80  nSignalsTECMinusR4 = iBooker.book2D(nameAndTitle, nameAndTitle, nDisks, 0, nDisks, nBeams, 0, nBeams);
81  // nSignalsTECMinusR4->setAxisTitle( "disk", 1 );
82  // nSignalsTECMinusR4->setAxisTitle( "beam", 2 );
83 
84  nameAndTitle = "NumberOfSignals_TEC-R6";
85  nSignalsTECMinusR6 = iBooker.book2D(nameAndTitle, nameAndTitle, nDisks, 0, nDisks, nBeams, 0, nBeams);
86  // nSignalsTECMinusR6->setAxisTitle( "disk", 1 );
87  // nSignalsTECMinusR6->setAxisTitle( "beam", 2 );
88 
89  // disk labels common for all TEC internal histograms
90  for (unsigned int disk = 0; disk < 9; ++disk) {
91  labelBuilder.clear();
92  labelBuilder.str("");
93  labelBuilder << "DISK" << disk;
94  nSignalsTECPlusR4->setBinLabel(disk + 1, labelBuilder.str(), 1);
95  nSignalsTECPlusR6->setBinLabel(disk + 1, labelBuilder.str(), 1);
96  nSignalsTECMinusR4->setBinLabel(disk + 1, labelBuilder.str(), 1);
97  nSignalsTECMinusR6->setBinLabel(disk + 1, labelBuilder.str(), 1);
98  }
99 
100  // beam labels common for all histograms
101  for (unsigned int beam = 0; beam < 8; ++beam) {
102  labelBuilder.clear();
103  labelBuilder.str("");
104  labelBuilder << "BEAM" << beam;
105  nSignalsAT->setBinLabel(beam + 1, labelBuilder.str(), 2);
106  nSignalsTECPlusR4->setBinLabel(beam + 1, labelBuilder.str(), 2);
107  nSignalsTECPlusR6->setBinLabel(beam + 1, labelBuilder.str(), 2);
108  nSignalsTECMinusR4->setBinLabel(beam + 1, labelBuilder.str(), 2);
109  nSignalsTECMinusR6->setBinLabel(beam + 1, labelBuilder.str(), 2);
110  }
111 }
112 
117  // loop all input products
118  for (std::vector<edm::ParameterSet>::iterator aDigiProducer = theDigiProducerList.begin();
119  aDigiProducer != theDigiProducerList.end();
120  ++aDigiProducer) {
121  const std::string digiProducer = aDigiProducer->getParameter<std::string>("DigiProducer");
122  const std::string digiLabel = aDigiProducer->getParameter<std::string>("DigiLabel");
123  const std::string digiType = aDigiProducer->getParameter<std::string>("DigiType");
124 
125  // now a distinction of cases: raw or processed digis?
126 
127  // first we go for raw digis => SiStripRawDigi
128  if (digiType == "Raw") {
129  // retrieve the SiStripRawDigis collection
131  aEvent.getByLabel(digiProducer, digiLabel, rawDigis);
132 
133  // eval & fill histos from raw digis
134  FillFromRawDigis(*rawDigis);
135 
136  }
137 
138  // next we assume "ZeroSuppressed" (non-raw) => SiStripDigi
139  else if (digiType == "Processed") {
141  aEvent.getByLabel(digiProducer, digiLabel, processedDigis);
142 
143  // eval & fill histos from processed digis
144  FillFromProcessedDigis(*processedDigis);
145 
146  }
147 
148  // otherwise we have a problem
149  else {
150  throw cms::Exception("LaserAlignmentT0ProducerDQM")
151  << " ERROR ** Unknown DigiType: " << digiType << " specified in config." << std::endl;
152  }
153 
154  } // loop all input products
155 }
156 
161  LASGlobalLoop moduleLoop;
162  int det, ring, beam, disk, pos;
163 
164  // tec internal modules
165  det = 0;
166  ring = 0;
167  beam = 0;
168  disk = 0;
169  do {
170  bool isAboveThreshold = false;
171  bool isExceedThreshold = false;
172 
173  // retrieve the raw id of that module
174  const int detRawId = detectorId.GetTECEntry(det, ring, beam, disk);
175 
176  // search the digis for this raw id
177  edm::DetSetVector<SiStripRawDigi>::const_iterator detSetIter = aDetSetVector.find(detRawId);
178 
179  // raw DetSets may not be missing
180  if (detSetIter == aDetSetVector.end()) {
181  throw cms::Exception("[LaserAlignmentT0ProducerDQM::FillFromRawDigis]")
182  << " ** ERROR: No raw DetSet found for det: " << detRawId << "." << std::endl;
183  }
184 
185  // access single modules' digis
186  edm::DetSet<SiStripRawDigi>::const_iterator digiRangeIterator = detSetIter->data.begin();
187 
188  for (; digiRangeIterator != detSetIter->data.end(); ++digiRangeIterator) {
189  const SiStripRawDigi &digi = *digiRangeIterator;
190 
191  // loop all digis and
192  // look for at least one strip above the threshold (-> assume a signal)
193  // look if no strip is above threshold (-> assume overdrive)
194  if (digi.adc() > theLowerAdcThreshold)
195  isAboveThreshold = true;
196  if (digi.adc() > theUpperAdcThreshold)
197  isExceedThreshold = true;
198  }
199 
200  // if we have signal, fill the histos
201  if (isAboveThreshold && !isExceedThreshold) {
202  // determine the appropriate histogram & bin from the position variables
203  if (det == 0) { // TEC+
204  if (ring == 0)
205  nSignalsTECPlusR4->Fill(disk, beam); // R4
206  else
207  nSignalsTECPlusR6->Fill(disk, beam); // R6
208  } else { // TEC-
209  if (ring == 0)
210  nSignalsTECMinusR4->Fill(disk, beam); // R4
211  else
212  nSignalsTECMinusR6->Fill(disk, beam); // R6
213  }
214  }
215 
216  } while (moduleLoop.TECLoop(det, ring, beam, disk));
217 
218  // endcap modules (AT beams)
219  det = 0;
220  beam = 0;
221  disk = 0;
222  do {
223  bool isAboveThreshold = false;
224  bool isExceedThreshold = false;
225 
226  // retrieve the raw id of that module
227  const int detRawId = detectorId.GetTEC2TECEntry(det, beam, disk);
228 
229  // search the digis for this raw id
230  edm::DetSetVector<SiStripRawDigi>::const_iterator detSetIter = aDetSetVector.find(detRawId);
231 
232  // raw DetSets may not be missing
233  if (detSetIter == aDetSetVector.end()) {
234  throw cms::Exception("[LaserAlignmentT0ProducerDQM::FillFromRawDigis]")
235  << " ** ERROR: No raw DetSet found for det: " << detRawId << "." << std::endl;
236  }
237 
238  // access single modules' digis
239  edm::DetSet<SiStripRawDigi>::const_iterator digiRangeIterator = detSetIter->data.begin();
240 
241  for (; digiRangeIterator != detSetIter->data.end(); ++digiRangeIterator) {
242  const SiStripRawDigi &digi = *digiRangeIterator;
243 
244  // loop all digis and
245  // look for at least one strip above the threshold (-> assume a signal)
246  // look if no strip is above threshold (-> assume overdrive)
247  if (digi.adc() > theLowerAdcThreshold)
248  isAboveThreshold = true;
249  if (digi.adc() > theUpperAdcThreshold)
250  isExceedThreshold = true;
251  }
252 
253  // if we have signal, fill the histos
254  if (isAboveThreshold && !isExceedThreshold) {
255  // there is only one histogram for all AT hits
256  // but the bin scheme is a little complicated:
257  // the TEC(AT) go in the first 5(-) and last 5(+) of 22 bins along x
258 
259  if (det == 1)
260  nSignalsAT->Fill(4 - disk, beam); // TEC-
261  else
262  nSignalsAT->Fill(17 + disk, beam); // TEC+
263  }
264 
265  } while (moduleLoop.TEC2TECLoop(det, beam, disk));
266 
267  // barrel modules (AT beams)
268  det = 2;
269  beam = 0;
270  pos = 0;
271  do {
272  bool isAboveThreshold = false;
273  bool isExceedThreshold = false;
274 
275  // retrieve the raw id of that module
276  const int detRawId = detectorId.GetTIBTOBEntry(det, beam, pos);
277 
278  // search the digis for this raw id
279  edm::DetSetVector<SiStripRawDigi>::const_iterator detSetIter = aDetSetVector.find(detRawId);
280 
281  // raw DetSets may not be missing
282  if (detSetIter == aDetSetVector.end()) {
283  throw cms::Exception("[LaserAlignmentT0ProducerDQM::FillFromRawDigis]")
284  << " ** ERROR: No raw DetSet found for det: " << detRawId << "." << std::endl;
285  }
286 
287  // access single modules' digis
288  edm::DetSet<SiStripRawDigi>::const_iterator digiRangeIterator = detSetIter->data.begin();
289 
290  for (; digiRangeIterator != detSetIter->data.end(); ++digiRangeIterator) {
291  const SiStripRawDigi &digi = *digiRangeIterator;
292 
293  // loop all digis and
294  // look for at least one strip above the threshold (-> assume a signal)
295  // look if no strip is above threshold (-> assume overdrive)
296  if (digi.adc() > theLowerAdcThreshold)
297  isAboveThreshold = true;
298  if (digi.adc() > theUpperAdcThreshold)
299  isExceedThreshold = true;
300  }
301 
302  // if we have signal, fill the histos
303  if (isAboveThreshold && !isExceedThreshold) {
304  // there is only one histogram for all AT hits
305  // but the bin scheme is a little complicated:
306  // the TIB go into bins 6-11, TOB in 12-17
307 
308  if (det == 2)
309  nSignalsAT->Fill(5 + (5 - pos), beam); // TIB
310  else
311  nSignalsAT->Fill(11 + (5 - pos), beam); // TOB
312  }
313 
314  } while (moduleLoop.TIBTOBLoop(det, beam, pos));
315 }
316 
321  LASGlobalLoop moduleLoop;
322  int det, ring, beam, disk, pos;
323 
324  // tec internal modules
325  det = 0;
326  ring = 0;
327  beam = 0;
328  disk = 0;
329  do {
330  bool isAboveThreshold = false;
331  bool isExceedThreshold = false;
332 
333  // retrieve the raw id of that module
334  const int detRawId = detectorId.GetTECEntry(det, ring, beam, disk);
335 
336  // search the digis for this raw id
337  edm::DetSetVector<SiStripDigi>::const_iterator detSetIter = aDetSetVector.find(detRawId);
338 
339  // processed DetSets may be missing (=empty), just skip
340  if (detSetIter == aDetSetVector.end())
341  continue;
342 
343  // access single modules' digis
344  edm::DetSet<SiStripDigi>::const_iterator digiRangeIterator = detSetIter->data.begin();
345 
346  for (; digiRangeIterator != detSetIter->data.end(); ++digiRangeIterator) {
347  const SiStripDigi &digi = *digiRangeIterator;
348 
349  // loop all digis and
350  // look for at least one strip above the threshold (-> assume a signal)
351  // look if no strip is above threshold (->assume overdrive)
352  if (digi.adc() > theLowerAdcThreshold)
353  isAboveThreshold = true;
354  if (digi.adc() > theUpperAdcThreshold)
355  isExceedThreshold = true;
356  }
357 
358  // if we have signal, fill the histos
359  if (isAboveThreshold && !isExceedThreshold) {
360  // determine the appropriate histogram & bin from the position variables
361  if (det == 0) { // TEC+
362  if (ring == 0)
363  nSignalsTECPlusR4->Fill(disk, beam); // R4
364  else
365  nSignalsTECPlusR6->Fill(disk, beam); // R6
366  } else { // TEC-
367  if (ring == 0)
368  nSignalsTECMinusR4->Fill(disk, beam); // R4
369  else
370  nSignalsTECMinusR6->Fill(disk, beam); // R6
371  }
372  }
373 
374  } while (moduleLoop.TECLoop(det, ring, beam, disk));
375 
376  // endcap modules (AT beams)
377  det = 0;
378  beam = 0;
379  disk = 0;
380  do {
381  bool isAboveThreshold = false;
382  bool isExceedThreshold = false;
383 
384  // retrieve the raw id of that module
385  const int detRawId = detectorId.GetTEC2TECEntry(det, beam, disk);
386 
387  // search the digis for this raw id
388  edm::DetSetVector<SiStripDigi>::const_iterator detSetIter = aDetSetVector.find(detRawId);
389 
390  // processed DetSets may be missing (=empty), just skip
391  if (detSetIter == aDetSetVector.end())
392  continue;
393 
394  // access single modules' digis
395  edm::DetSet<SiStripDigi>::const_iterator digiRangeIterator = detSetIter->data.begin();
396 
397  for (; digiRangeIterator != detSetIter->data.end(); ++digiRangeIterator) {
398  const SiStripDigi &digi = *digiRangeIterator;
399 
400  // loop all digis and
401  // look for at least one strip above the threshold (-> assume a signal)
402  // look if no strip is above threshold (-> assume overdrive)
403  if (digi.adc() > theLowerAdcThreshold)
404  isAboveThreshold = true;
405  if (digi.adc() > theUpperAdcThreshold)
406  isExceedThreshold = true;
407  }
408 
409  // if we have signal, fill the histos
410  if (isAboveThreshold && !isExceedThreshold) {
411  // there is only one histogram for all AT hits
412  // but the bin scheme is a little complicated:
413  // the TEC(AT) go in the first 5(-) and last 5(+) of 22 bins along x
414 
415  if (det == 1)
416  nSignalsAT->Fill(4 - disk, beam); // TEC-
417  else
418  nSignalsAT->Fill(17 + disk, beam); // TEC+
419  }
420 
421  } while (moduleLoop.TEC2TECLoop(det, beam, disk));
422 
423  // barrel modules (AT beams)
424  det = 2;
425  beam = 0;
426  pos = 0;
427  do {
428  bool isAboveThreshold = false;
429  bool isExceedThreshold = false;
430 
431  // retrieve the raw id of that module
432  const int detRawId = detectorId.GetTIBTOBEntry(det, beam, pos);
433 
434  // search the digis for this raw id
435  edm::DetSetVector<SiStripDigi>::const_iterator detSetIter = aDetSetVector.find(detRawId);
436 
437  // processed DetSets may be missing (=empty), just skip
438  if (detSetIter == aDetSetVector.end())
439  continue;
440 
441  // access single modules' digis
442  edm::DetSet<SiStripDigi>::const_iterator digiRangeIterator = detSetIter->data.begin();
443 
444  for (; digiRangeIterator != detSetIter->data.end(); ++digiRangeIterator) {
445  const SiStripDigi &digi = *digiRangeIterator;
446 
447  // loop all digis and
448  // look for at least one strip above the threshold (-> assume a signal)
449  // look if no strip is above threshold (-> assume overdrive)
450  if (digi.adc() > theLowerAdcThreshold)
451  isAboveThreshold = true;
452  if (digi.adc() > theUpperAdcThreshold)
453  isExceedThreshold = true;
454  }
455 
456  // if we have signal, fill the histos
457  if (isAboveThreshold && !isExceedThreshold) {
458  // there is only one histogram for all AT hits
459  // but the bin scheme is a little complicated:
460  // the TIB go into bins 6-11, TOB in 12-17
461 
462  if (det == 2)
463  nSignalsAT->Fill(5 + (5 - pos), beam); // TIB
464  else
465  nSignalsAT->Fill(11 + (5 - pos), beam); // TOB
466  }
467 
468  } while (moduleLoop.TIBTOBLoop(det, beam, pos));
469 }
470 
479  // these are the detids of the TEC modules hit
480  // by the AT as well as the TEC beams
481  tecDoubleHitDetId.push_back(470307208);
482  tecDoubleHitDetId.push_back(470323592);
483  tecDoubleHitDetId.push_back(470339976);
484  tecDoubleHitDetId.push_back(470356360);
485  tecDoubleHitDetId.push_back(470372744);
486  tecDoubleHitDetId.push_back(470307976);
487  tecDoubleHitDetId.push_back(470324360);
488  tecDoubleHitDetId.push_back(470340744);
489  tecDoubleHitDetId.push_back(470357128);
490  tecDoubleHitDetId.push_back(470373512);
491  tecDoubleHitDetId.push_back(470308488);
492  tecDoubleHitDetId.push_back(470324872);
493  tecDoubleHitDetId.push_back(470341256);
494  tecDoubleHitDetId.push_back(470357640);
495  tecDoubleHitDetId.push_back(470374024);
496  tecDoubleHitDetId.push_back(470045064);
497  tecDoubleHitDetId.push_back(470061448);
498  tecDoubleHitDetId.push_back(470077832);
499  tecDoubleHitDetId.push_back(470094216);
500  tecDoubleHitDetId.push_back(470110600);
501  tecDoubleHitDetId.push_back(470045832);
502  tecDoubleHitDetId.push_back(470062216);
503  tecDoubleHitDetId.push_back(470078600);
504  tecDoubleHitDetId.push_back(470094984);
505  tecDoubleHitDetId.push_back(470111368);
506  tecDoubleHitDetId.push_back(470046344);
507  tecDoubleHitDetId.push_back(470062728);
508  tecDoubleHitDetId.push_back(470079112);
509  tecDoubleHitDetId.push_back(470095496);
510  tecDoubleHitDetId.push_back(470111880);
511 
512  // now all the modules (above included)
513 
514  // TEC+
515  detectorId.SetTECEntry(0, 0, 0, 0, 470307208);
516  detectorId.SetTECEntry(0, 0, 0, 1, 470323592);
517  detectorId.SetTECEntry(0, 0, 0, 2, 470339976);
518  detectorId.SetTECEntry(0, 0, 0, 3, 470356360);
519  detectorId.SetTECEntry(0, 0, 0, 4, 470372744);
520  detectorId.SetTECEntry(0, 0, 0, 5, 470389128);
521  detectorId.SetTECEntry(0, 0, 0, 6, 470405512);
522  detectorId.SetTECEntry(0, 0, 0, 7, 470421896);
523  detectorId.SetTECEntry(0, 0, 0, 8, 470438280);
524  detectorId.SetTECEntry(0, 0, 1, 0, 470307464);
525  detectorId.SetTECEntry(0, 0, 1, 1, 470323848);
526  detectorId.SetTECEntry(0, 0, 1, 2, 470340232);
527  detectorId.SetTECEntry(0, 0, 1, 3, 470356616);
528  detectorId.SetTECEntry(0, 0, 1, 4, 470373000);
529  detectorId.SetTECEntry(0, 0, 1, 5, 470389384);
530  detectorId.SetTECEntry(0, 0, 1, 6, 470405768);
531  detectorId.SetTECEntry(0, 0, 1, 7, 470422152);
532  detectorId.SetTECEntry(0, 0, 1, 8, 470438536);
533  detectorId.SetTECEntry(0, 0, 2, 0, 470307720);
534  detectorId.SetTECEntry(0, 0, 2, 1, 470324104);
535  detectorId.SetTECEntry(0, 0, 2, 2, 470340488);
536  detectorId.SetTECEntry(0, 0, 2, 3, 470356872);
537  detectorId.SetTECEntry(0, 0, 2, 4, 470373256);
538  detectorId.SetTECEntry(0, 0, 2, 5, 470389640);
539  detectorId.SetTECEntry(0, 0, 2, 6, 470406024);
540  detectorId.SetTECEntry(0, 0, 2, 7, 470422408);
541  detectorId.SetTECEntry(0, 0, 2, 8, 470438792);
542  detectorId.SetTECEntry(0, 0, 3, 0, 470307976);
543  detectorId.SetTECEntry(0, 0, 3, 1, 470324360);
544  detectorId.SetTECEntry(0, 0, 3, 2, 470340744);
545  detectorId.SetTECEntry(0, 0, 3, 3, 470357128);
546  detectorId.SetTECEntry(0, 0, 3, 4, 470373512);
547  detectorId.SetTECEntry(0, 0, 3, 5, 470389896);
548  detectorId.SetTECEntry(0, 0, 3, 6, 470406280);
549  detectorId.SetTECEntry(0, 0, 3, 7, 470422664);
550  detectorId.SetTECEntry(0, 0, 3, 8, 470439048);
551  detectorId.SetTECEntry(0, 0, 4, 0, 470308232);
552  detectorId.SetTECEntry(0, 0, 4, 1, 470324616);
553  detectorId.SetTECEntry(0, 0, 4, 2, 470341000);
554  detectorId.SetTECEntry(0, 0, 4, 3, 470357384);
555  detectorId.SetTECEntry(0, 0, 4, 4, 470373768);
556  detectorId.SetTECEntry(0, 0, 4, 5, 470390152);
557  detectorId.SetTECEntry(0, 0, 4, 6, 470406536);
558  detectorId.SetTECEntry(0, 0, 4, 7, 470422920);
559  detectorId.SetTECEntry(0, 0, 4, 8, 470439304);
560  detectorId.SetTECEntry(0, 0, 5, 0, 470308488);
561  detectorId.SetTECEntry(0, 0, 5, 1, 470324872);
562  detectorId.SetTECEntry(0, 0, 5, 2, 470341256);
563  detectorId.SetTECEntry(0, 0, 5, 3, 470357640);
564  detectorId.SetTECEntry(0, 0, 5, 4, 470374024);
565  detectorId.SetTECEntry(0, 0, 5, 5, 470390408);
566  detectorId.SetTECEntry(0, 0, 5, 6, 470406792);
567  detectorId.SetTECEntry(0, 0, 5, 7, 470423176);
568  detectorId.SetTECEntry(0, 0, 5, 8, 470439560);
569  detectorId.SetTECEntry(0, 0, 6, 0, 470308744);
570  detectorId.SetTECEntry(0, 0, 6, 1, 470325128);
571  detectorId.SetTECEntry(0, 0, 6, 2, 470341512);
572  detectorId.SetTECEntry(0, 0, 6, 3, 470357896);
573  detectorId.SetTECEntry(0, 0, 6, 4, 470374280);
574  detectorId.SetTECEntry(0, 0, 6, 5, 470390664);
575  detectorId.SetTECEntry(0, 0, 6, 6, 470407048);
576  detectorId.SetTECEntry(0, 0, 6, 7, 470423432);
577  detectorId.SetTECEntry(0, 0, 6, 8, 470439816);
578  detectorId.SetTECEntry(0, 0, 7, 0, 470309000);
579  detectorId.SetTECEntry(0, 0, 7, 1, 470325384);
580  detectorId.SetTECEntry(0, 0, 7, 2, 470341768);
581  detectorId.SetTECEntry(0, 0, 7, 3, 470358152);
582  detectorId.SetTECEntry(0, 0, 7, 4, 470374536);
583  detectorId.SetTECEntry(0, 0, 7, 5, 470390920);
584  detectorId.SetTECEntry(0, 0, 7, 6, 470407304);
585  detectorId.SetTECEntry(0, 0, 7, 7, 470423688);
586  detectorId.SetTECEntry(0, 0, 7, 8, 470440072);
587  detectorId.SetTECEntry(0, 1, 0, 0, 470307272);
588  detectorId.SetTECEntry(0, 1, 0, 1, 470323656);
589  detectorId.SetTECEntry(0, 1, 0, 2, 470340040);
590  detectorId.SetTECEntry(0, 1, 0, 3, 470356424);
591  detectorId.SetTECEntry(0, 1, 0, 4, 470372808);
592  detectorId.SetTECEntry(0, 1, 0, 5, 470389192);
593  detectorId.SetTECEntry(0, 1, 0, 6, 470405576);
594  detectorId.SetTECEntry(0, 1, 0, 7, 470421960);
595  detectorId.SetTECEntry(0, 1, 0, 8, 470438344);
596  detectorId.SetTECEntry(0, 1, 1, 0, 470307528);
597  detectorId.SetTECEntry(0, 1, 1, 1, 470323912);
598  detectorId.SetTECEntry(0, 1, 1, 2, 470340296);
599  detectorId.SetTECEntry(0, 1, 1, 3, 470356680);
600  detectorId.SetTECEntry(0, 1, 1, 4, 470373064);
601  detectorId.SetTECEntry(0, 1, 1, 5, 470389448);
602  detectorId.SetTECEntry(0, 1, 1, 6, 470405832);
603  detectorId.SetTECEntry(0, 1, 1, 7, 470422216);
604  detectorId.SetTECEntry(0, 1, 1, 8, 470438600);
605  detectorId.SetTECEntry(0, 1, 2, 0, 470307784);
606  detectorId.SetTECEntry(0, 1, 2, 1, 470324168);
607  detectorId.SetTECEntry(0, 1, 2, 2, 470340552);
608  detectorId.SetTECEntry(0, 1, 2, 3, 470356936);
609  detectorId.SetTECEntry(0, 1, 2, 4, 470373320);
610  detectorId.SetTECEntry(0, 1, 2, 5, 470389704);
611  detectorId.SetTECEntry(0, 1, 2, 6, 470406088);
612  detectorId.SetTECEntry(0, 1, 2, 7, 470422472);
613  detectorId.SetTECEntry(0, 1, 2, 8, 470438856);
614  detectorId.SetTECEntry(0, 1, 3, 0, 470308040);
615  detectorId.SetTECEntry(0, 1, 3, 1, 470324424);
616  detectorId.SetTECEntry(0, 1, 3, 2, 470340808);
617  detectorId.SetTECEntry(0, 1, 3, 3, 470357192);
618  detectorId.SetTECEntry(0, 1, 3, 4, 470373576);
619  detectorId.SetTECEntry(0, 1, 3, 5, 470389960);
620  detectorId.SetTECEntry(0, 1, 3, 6, 470406344);
621  detectorId.SetTECEntry(0, 1, 3, 7, 470422728);
622  detectorId.SetTECEntry(0, 1, 3, 8, 470439112);
623  detectorId.SetTECEntry(0, 1, 4, 0, 470308296);
624  detectorId.SetTECEntry(0, 1, 4, 1, 470324680);
625  detectorId.SetTECEntry(0, 1, 4, 2, 470341064);
626  detectorId.SetTECEntry(0, 1, 4, 3, 470357448);
627  detectorId.SetTECEntry(0, 1, 4, 4, 470373832);
628  detectorId.SetTECEntry(0, 1, 4, 5, 470390216);
629  detectorId.SetTECEntry(0, 1, 4, 6, 470406600);
630  detectorId.SetTECEntry(0, 1, 4, 7, 470422984);
631  detectorId.SetTECEntry(0, 1, 4, 8, 470439368);
632  detectorId.SetTECEntry(0, 1, 5, 0, 470308552);
633  detectorId.SetTECEntry(0, 1, 5, 1, 470324936);
634  detectorId.SetTECEntry(0, 1, 5, 2, 470341320);
635  detectorId.SetTECEntry(0, 1, 5, 3, 470357704);
636  detectorId.SetTECEntry(0, 1, 5, 4, 470374088);
637  detectorId.SetTECEntry(0, 1, 5, 5, 470390472);
638  detectorId.SetTECEntry(0, 1, 5, 6, 470406856);
639  detectorId.SetTECEntry(0, 1, 5, 7, 470423240);
640  detectorId.SetTECEntry(0, 1, 5, 8, 470439624);
641  detectorId.SetTECEntry(0, 1, 6, 0, 470308808);
642  detectorId.SetTECEntry(0, 1, 6, 1, 470325192);
643  detectorId.SetTECEntry(0, 1, 6, 2, 470341576);
644  detectorId.SetTECEntry(0, 1, 6, 3, 470357960);
645  detectorId.SetTECEntry(0, 1, 6, 4, 470374344);
646  detectorId.SetTECEntry(0, 1, 6, 5, 470390728);
647  detectorId.SetTECEntry(0, 1, 6, 6, 470407112);
648  detectorId.SetTECEntry(0, 1, 6, 7, 470423496);
649  detectorId.SetTECEntry(0, 1, 6, 8, 470439880);
650  detectorId.SetTECEntry(0, 1, 7, 0, 470309064);
651  detectorId.SetTECEntry(0, 1, 7, 1, 470325448);
652  detectorId.SetTECEntry(0, 1, 7, 2, 470341832);
653  detectorId.SetTECEntry(0, 1, 7, 3, 470358216);
654  detectorId.SetTECEntry(0, 1, 7, 4, 470374600);
655  detectorId.SetTECEntry(0, 1, 7, 5, 470390984);
656  detectorId.SetTECEntry(0, 1, 7, 6, 470407368);
657  detectorId.SetTECEntry(0, 1, 7, 7, 470423752);
658  detectorId.SetTECEntry(0, 1, 7, 8, 470440136);
659 
660  // TEC-
661  detectorId.SetTECEntry(1, 0, 0, 0, 470045064);
662  detectorId.SetTECEntry(1, 0, 0, 1, 470061448);
663  detectorId.SetTECEntry(1, 0, 0, 2, 470077832);
664  detectorId.SetTECEntry(1, 0, 0, 3, 470094216);
665  detectorId.SetTECEntry(1, 0, 0, 4, 470110600);
666  detectorId.SetTECEntry(1, 0, 0, 5, 470126984);
667  detectorId.SetTECEntry(1, 0, 0, 6, 470143368);
668  detectorId.SetTECEntry(1, 0, 0, 7, 470159752);
669  detectorId.SetTECEntry(1, 0, 0, 8, 470176136);
670  detectorId.SetTECEntry(1, 0, 1, 0, 470045320);
671  detectorId.SetTECEntry(1, 0, 1, 1, 470061704);
672  detectorId.SetTECEntry(1, 0, 1, 2, 470078088);
673  detectorId.SetTECEntry(1, 0, 1, 3, 470094472);
674  detectorId.SetTECEntry(1, 0, 1, 4, 470110856);
675  detectorId.SetTECEntry(1, 0, 1, 5, 470127240);
676  detectorId.SetTECEntry(1, 0, 1, 6, 470143624);
677  detectorId.SetTECEntry(1, 0, 1, 7, 470160008);
678  detectorId.SetTECEntry(1, 0, 1, 8, 470176392);
679  detectorId.SetTECEntry(1, 0, 2, 0, 470045576);
680  detectorId.SetTECEntry(1, 0, 2, 1, 470061960);
681  detectorId.SetTECEntry(1, 0, 2, 2, 470078344);
682  detectorId.SetTECEntry(1, 0, 2, 3, 470094728);
683  detectorId.SetTECEntry(1, 0, 2, 4, 470111112);
684  detectorId.SetTECEntry(1, 0, 2, 5, 470127496);
685  detectorId.SetTECEntry(1, 0, 2, 6, 470143880);
686  detectorId.SetTECEntry(1, 0, 2, 7, 470160264);
687  detectorId.SetTECEntry(1, 0, 2, 8, 470176648);
688  detectorId.SetTECEntry(1, 0, 3, 0, 470045832);
689  detectorId.SetTECEntry(1, 0, 3, 1, 470062216);
690  detectorId.SetTECEntry(1, 0, 3, 2, 470078600);
691  detectorId.SetTECEntry(1, 0, 3, 3, 470094984);
692  detectorId.SetTECEntry(1, 0, 3, 4, 470111368);
693  detectorId.SetTECEntry(1, 0, 3, 5, 470127752);
694  detectorId.SetTECEntry(1, 0, 3, 6, 470144136);
695  detectorId.SetTECEntry(1, 0, 3, 7, 470160520);
696  detectorId.SetTECEntry(1, 0, 3, 8, 470176904);
697  detectorId.SetTECEntry(1, 0, 4, 0, 470046088);
698  detectorId.SetTECEntry(1, 0, 4, 1, 470062472);
699  detectorId.SetTECEntry(1, 0, 4, 2, 470078856);
700  detectorId.SetTECEntry(1, 0, 4, 3, 470095240);
701  detectorId.SetTECEntry(1, 0, 4, 4, 470111624);
702  detectorId.SetTECEntry(1, 0, 4, 5, 470128008);
703  detectorId.SetTECEntry(1, 0, 4, 6, 470144392);
704  detectorId.SetTECEntry(1, 0, 4, 7, 470160776);
705  detectorId.SetTECEntry(1, 0, 4, 8, 470177160);
706  detectorId.SetTECEntry(1, 0, 5, 0, 470046344);
707  detectorId.SetTECEntry(1, 0, 5, 1, 470062728);
708  detectorId.SetTECEntry(1, 0, 5, 2, 470079112);
709  detectorId.SetTECEntry(1, 0, 5, 3, 470095496);
710  detectorId.SetTECEntry(1, 0, 5, 4, 470111880);
711  detectorId.SetTECEntry(1, 0, 5, 5, 470128264);
712  detectorId.SetTECEntry(1, 0, 5, 6, 470144648);
713  detectorId.SetTECEntry(1, 0, 5, 7, 470161032);
714  detectorId.SetTECEntry(1, 0, 5, 8, 470177416);
715  detectorId.SetTECEntry(1, 0, 6, 0, 470046600);
716  detectorId.SetTECEntry(1, 0, 6, 1, 470062984);
717  detectorId.SetTECEntry(1, 0, 6, 2, 470079368);
718  detectorId.SetTECEntry(1, 0, 6, 3, 470095752);
719  detectorId.SetTECEntry(1, 0, 6, 4, 470112136);
720  detectorId.SetTECEntry(1, 0, 6, 5, 470128520);
721  detectorId.SetTECEntry(1, 0, 6, 6, 470144904);
722  detectorId.SetTECEntry(1, 0, 6, 7, 470161288);
723  detectorId.SetTECEntry(1, 0, 6, 8, 470177672);
724  detectorId.SetTECEntry(1, 0, 7, 0, 470046856);
725  detectorId.SetTECEntry(1, 0, 7, 1, 470063240);
726  detectorId.SetTECEntry(1, 0, 7, 2, 470079624);
727  detectorId.SetTECEntry(1, 0, 7, 3, 470096008);
728  detectorId.SetTECEntry(1, 0, 7, 4, 470112392);
729  detectorId.SetTECEntry(1, 0, 7, 5, 470128776);
730  detectorId.SetTECEntry(1, 0, 7, 6, 470145160);
731  detectorId.SetTECEntry(1, 0, 7, 7, 470161544);
732  detectorId.SetTECEntry(1, 0, 7, 8, 470177928);
733  detectorId.SetTECEntry(1, 1, 0, 0, 470045128);
734  detectorId.SetTECEntry(1, 1, 0, 1, 470061512);
735  detectorId.SetTECEntry(1, 1, 0, 2, 470077896);
736  detectorId.SetTECEntry(1, 1, 0, 3, 470094280);
737  detectorId.SetTECEntry(1, 1, 0, 4, 470110664);
738  detectorId.SetTECEntry(1, 1, 0, 5, 470127048);
739  detectorId.SetTECEntry(1, 1, 0, 6, 470143432);
740  detectorId.SetTECEntry(1, 1, 0, 7, 470159816);
741  detectorId.SetTECEntry(1, 1, 0, 8, 470176200);
742  detectorId.SetTECEntry(1, 1, 1, 0, 470045384);
743  detectorId.SetTECEntry(1, 1, 1, 1, 470061768);
744  detectorId.SetTECEntry(1, 1, 1, 2, 470078152);
745  detectorId.SetTECEntry(1, 1, 1, 3, 470094536);
746  detectorId.SetTECEntry(1, 1, 1, 4, 470110920);
747  detectorId.SetTECEntry(1, 1, 1, 5, 470127304);
748  detectorId.SetTECEntry(1, 1, 1, 6, 470143688);
749  detectorId.SetTECEntry(1, 1, 1, 7, 470160072);
750  detectorId.SetTECEntry(1, 1, 1, 8, 470176456);
751  detectorId.SetTECEntry(1, 1, 2, 0, 470045640);
752  detectorId.SetTECEntry(1, 1, 2, 1, 470062024);
753  detectorId.SetTECEntry(1, 1, 2, 2, 470078408);
754  detectorId.SetTECEntry(1, 1, 2, 3, 470094792);
755  detectorId.SetTECEntry(1, 1, 2, 4, 470111176);
756  detectorId.SetTECEntry(1, 1, 2, 5, 470127560);
757  detectorId.SetTECEntry(1, 1, 2, 6, 470143944);
758  detectorId.SetTECEntry(1, 1, 2, 7, 470160328);
759  detectorId.SetTECEntry(1, 1, 2, 8, 470176712);
760  detectorId.SetTECEntry(1, 1, 3, 0, 470045896);
761  detectorId.SetTECEntry(1, 1, 3, 1, 470062280);
762  detectorId.SetTECEntry(1, 1, 3, 2, 470078664);
763  detectorId.SetTECEntry(1, 1, 3, 3, 470095048);
764  detectorId.SetTECEntry(1, 1, 3, 4, 470111432);
765  detectorId.SetTECEntry(1, 1, 3, 5, 470127816);
766  detectorId.SetTECEntry(1, 1, 3, 6, 470144200);
767  detectorId.SetTECEntry(1, 1, 3, 7, 470160584);
768  detectorId.SetTECEntry(1, 1, 3, 8, 470176968);
769  detectorId.SetTECEntry(1, 1, 4, 0, 470046152);
770  detectorId.SetTECEntry(1, 1, 4, 1, 470062536);
771  detectorId.SetTECEntry(1, 1, 4, 2, 470078920);
772  detectorId.SetTECEntry(1, 1, 4, 3, 470095304);
773  detectorId.SetTECEntry(1, 1, 4, 4, 470111688);
774  detectorId.SetTECEntry(1, 1, 4, 5, 470128072);
775  detectorId.SetTECEntry(1, 1, 4, 6, 470144456);
776  detectorId.SetTECEntry(1, 1, 4, 7, 470160840);
777  detectorId.SetTECEntry(1, 1, 4, 8, 470177224);
778  detectorId.SetTECEntry(1, 1, 5, 0, 470046408);
779  detectorId.SetTECEntry(1, 1, 5, 1, 470062792);
780  detectorId.SetTECEntry(1, 1, 5, 2, 470079176);
781  detectorId.SetTECEntry(1, 1, 5, 3, 470095560);
782  detectorId.SetTECEntry(1, 1, 5, 4, 470111944);
783  detectorId.SetTECEntry(1, 1, 5, 5, 470128328);
784  detectorId.SetTECEntry(1, 1, 5, 6, 470144712);
785  detectorId.SetTECEntry(1, 1, 5, 7, 470161096);
786  detectorId.SetTECEntry(1, 1, 5, 8, 470177480);
787  detectorId.SetTECEntry(1, 1, 6, 0, 470046664);
788  detectorId.SetTECEntry(1, 1, 6, 1, 470063048);
789  detectorId.SetTECEntry(1, 1, 6, 2, 470079432);
790  detectorId.SetTECEntry(1, 1, 6, 3, 470095816);
791  detectorId.SetTECEntry(1, 1, 6, 4, 470112200);
792  detectorId.SetTECEntry(1, 1, 6, 5, 470128584);
793  detectorId.SetTECEntry(1, 1, 6, 6, 470144968);
794  detectorId.SetTECEntry(1, 1, 6, 7, 470161352);
795  detectorId.SetTECEntry(1, 1, 6, 8, 470177736);
796  detectorId.SetTECEntry(1, 1, 7, 0, 470046920);
797  detectorId.SetTECEntry(1, 1, 7, 1, 470063304);
798  detectorId.SetTECEntry(1, 1, 7, 2, 470079688);
799  detectorId.SetTECEntry(1, 1, 7, 3, 470096072);
800  detectorId.SetTECEntry(1, 1, 7, 4, 470112456);
801  detectorId.SetTECEntry(1, 1, 7, 5, 470128840);
802  detectorId.SetTECEntry(1, 1, 7, 6, 470145224);
803  detectorId.SetTECEntry(1, 1, 7, 7, 470161608);
804  detectorId.SetTECEntry(1, 1, 7, 8, 470177992);
805 
806  // TIB
807  detectorId.SetTIBTOBEntry(2, 0, 0, 369174604);
808  detectorId.SetTIBTOBEntry(2, 0, 1, 369174600);
809  detectorId.SetTIBTOBEntry(2, 0, 2, 369174596);
810  detectorId.SetTIBTOBEntry(2, 0, 3, 369170500);
811  detectorId.SetTIBTOBEntry(2, 0, 4, 369170504);
812  detectorId.SetTIBTOBEntry(2, 0, 5, 369170508);
813  detectorId.SetTIBTOBEntry(2, 1, 0, 369174732);
814  detectorId.SetTIBTOBEntry(2, 1, 1, 369174728);
815  detectorId.SetTIBTOBEntry(2, 1, 2, 369174724);
816  detectorId.SetTIBTOBEntry(2, 1, 3, 369170628);
817  detectorId.SetTIBTOBEntry(2, 1, 4, 369170632);
818  detectorId.SetTIBTOBEntry(2, 1, 5, 369170636);
819  detectorId.SetTIBTOBEntry(2, 2, 0, 369174812);
820  detectorId.SetTIBTOBEntry(2, 2, 1, 369174808);
821  detectorId.SetTIBTOBEntry(2, 2, 2, 369174804);
822  detectorId.SetTIBTOBEntry(2, 2, 3, 369170708);
823  detectorId.SetTIBTOBEntry(2, 2, 4, 369170712);
824  detectorId.SetTIBTOBEntry(2, 2, 5, 369170716);
825  detectorId.SetTIBTOBEntry(2, 3, 0, 369174940);
826  detectorId.SetTIBTOBEntry(2, 3, 1, 369174936);
827  detectorId.SetTIBTOBEntry(2, 3, 2, 369174932);
828  detectorId.SetTIBTOBEntry(2, 3, 3, 369170836);
829  detectorId.SetTIBTOBEntry(2, 3, 4, 369170840);
830  detectorId.SetTIBTOBEntry(2, 3, 5, 369170844);
831  detectorId.SetTIBTOBEntry(2, 4, 0, 369175068);
832  detectorId.SetTIBTOBEntry(2, 4, 1, 369175064);
833  detectorId.SetTIBTOBEntry(2, 4, 2, 369175060);
834  detectorId.SetTIBTOBEntry(2, 4, 3, 369170964);
835  detectorId.SetTIBTOBEntry(2, 4, 4, 369170968);
836  detectorId.SetTIBTOBEntry(2, 4, 5, 369170972);
837  detectorId.SetTIBTOBEntry(2, 5, 0, 369175164);
838  detectorId.SetTIBTOBEntry(2, 5, 1, 369175160);
839  detectorId.SetTIBTOBEntry(2, 5, 2, 369175156);
840  detectorId.SetTIBTOBEntry(2, 5, 3, 369171060);
841  detectorId.SetTIBTOBEntry(2, 5, 4, 369171064);
842  detectorId.SetTIBTOBEntry(2, 5, 5, 369171068);
843  detectorId.SetTIBTOBEntry(2, 6, 0, 369175292);
844  detectorId.SetTIBTOBEntry(2, 6, 1, 369175288);
845  detectorId.SetTIBTOBEntry(2, 6, 2, 369175284);
846  detectorId.SetTIBTOBEntry(2, 6, 3, 369171188);
847  detectorId.SetTIBTOBEntry(2, 6, 4, 369171192);
848  detectorId.SetTIBTOBEntry(2, 6, 5, 369171196);
849  detectorId.SetTIBTOBEntry(2, 7, 0, 369175372);
850  detectorId.SetTIBTOBEntry(2, 7, 1, 369175368);
851  detectorId.SetTIBTOBEntry(2, 7, 2, 369175364);
852  detectorId.SetTIBTOBEntry(2, 7, 3, 369171268);
853  detectorId.SetTIBTOBEntry(2, 7, 4, 369171272);
854  detectorId.SetTIBTOBEntry(2, 7, 5, 369171276);
855 
856  // TOB
857  detectorId.SetTIBTOBEntry(3, 0, 0, 436232314);
858  detectorId.SetTIBTOBEntry(3, 0, 1, 436232306);
859  detectorId.SetTIBTOBEntry(3, 0, 2, 436232298);
860  detectorId.SetTIBTOBEntry(3, 0, 3, 436228198);
861  detectorId.SetTIBTOBEntry(3, 0, 4, 436228206);
862  detectorId.SetTIBTOBEntry(3, 0, 5, 436228214);
863  detectorId.SetTIBTOBEntry(3, 1, 0, 436232506);
864  detectorId.SetTIBTOBEntry(3, 1, 1, 436232498);
865  detectorId.SetTIBTOBEntry(3, 1, 2, 436232490);
866  detectorId.SetTIBTOBEntry(3, 1, 3, 436228390);
867  detectorId.SetTIBTOBEntry(3, 1, 4, 436228398);
868  detectorId.SetTIBTOBEntry(3, 1, 5, 436228406);
869  detectorId.SetTIBTOBEntry(3, 2, 0, 436232634);
870  detectorId.SetTIBTOBEntry(3, 2, 1, 436232626);
871  detectorId.SetTIBTOBEntry(3, 2, 2, 436232618);
872  detectorId.SetTIBTOBEntry(3, 2, 3, 436228518);
873  detectorId.SetTIBTOBEntry(3, 2, 4, 436228526);
874  detectorId.SetTIBTOBEntry(3, 2, 5, 436228534);
875  detectorId.SetTIBTOBEntry(3, 3, 0, 436232826);
876  detectorId.SetTIBTOBEntry(3, 3, 1, 436232818);
877  detectorId.SetTIBTOBEntry(3, 3, 2, 436232810);
878  detectorId.SetTIBTOBEntry(3, 3, 3, 436228710);
879  detectorId.SetTIBTOBEntry(3, 3, 4, 436228718);
880  detectorId.SetTIBTOBEntry(3, 3, 5, 436228726);
881  detectorId.SetTIBTOBEntry(3, 4, 0, 436233018);
882  detectorId.SetTIBTOBEntry(3, 4, 1, 436233010);
883  detectorId.SetTIBTOBEntry(3, 4, 2, 436233002);
884  detectorId.SetTIBTOBEntry(3, 4, 3, 436228902);
885  detectorId.SetTIBTOBEntry(3, 4, 4, 436228910);
886  detectorId.SetTIBTOBEntry(3, 4, 5, 436228918);
887  detectorId.SetTIBTOBEntry(3, 5, 0, 436233146);
888  detectorId.SetTIBTOBEntry(3, 5, 1, 436233138);
889  detectorId.SetTIBTOBEntry(3, 5, 2, 436233130);
890  detectorId.SetTIBTOBEntry(3, 5, 3, 436229030);
891  detectorId.SetTIBTOBEntry(3, 5, 4, 436229038);
892  detectorId.SetTIBTOBEntry(3, 5, 5, 436229046);
893  detectorId.SetTIBTOBEntry(3, 6, 0, 436233338);
894  detectorId.SetTIBTOBEntry(3, 6, 1, 436233330);
895  detectorId.SetTIBTOBEntry(3, 6, 2, 436233322);
896  detectorId.SetTIBTOBEntry(3, 6, 3, 436229222);
897  detectorId.SetTIBTOBEntry(3, 6, 4, 436229230);
898  detectorId.SetTIBTOBEntry(3, 6, 5, 436229238);
899  detectorId.SetTIBTOBEntry(3, 7, 0, 436233466);
900  detectorId.SetTIBTOBEntry(3, 7, 1, 436233458);
901  detectorId.SetTIBTOBEntry(3, 7, 2, 436233450);
902  detectorId.SetTIBTOBEntry(3, 7, 3, 436229350);
903  detectorId.SetTIBTOBEntry(3, 7, 4, 436229358);
904  detectorId.SetTIBTOBEntry(3, 7, 5, 436229366);
905 
906  // TEC+ AT
907  detectorId.SetTEC2TECEntry(0, 0, 0, 470307208);
908  detectorId.SetTEC2TECEntry(0, 0, 1, 470323592);
909  detectorId.SetTEC2TECEntry(0, 0, 2, 470339976);
910  detectorId.SetTEC2TECEntry(0, 0, 3, 470356360);
911  detectorId.SetTEC2TECEntry(0, 0, 4, 470372744);
912  detectorId.SetTEC2TECEntry(0, 1, 0, 470307468);
913  detectorId.SetTEC2TECEntry(0, 1, 1, 470323852);
914  detectorId.SetTEC2TECEntry(0, 1, 2, 470340236);
915  detectorId.SetTEC2TECEntry(0, 1, 3, 470356620);
916  detectorId.SetTEC2TECEntry(0, 1, 4, 470373004);
917  detectorId.SetTEC2TECEntry(0, 2, 0, 470307716);
918  detectorId.SetTEC2TECEntry(0, 2, 1, 470324100);
919  detectorId.SetTEC2TECEntry(0, 2, 2, 470340484);
920  detectorId.SetTEC2TECEntry(0, 2, 3, 470356868);
921  detectorId.SetTEC2TECEntry(0, 2, 4, 470373252);
922  detectorId.SetTEC2TECEntry(0, 3, 0, 470307976);
923  detectorId.SetTEC2TECEntry(0, 3, 1, 470324360);
924  detectorId.SetTEC2TECEntry(0, 3, 2, 470340744);
925  detectorId.SetTEC2TECEntry(0, 3, 3, 470357128);
926  detectorId.SetTEC2TECEntry(0, 3, 4, 470373512);
927  detectorId.SetTEC2TECEntry(0, 4, 0, 470308236);
928  detectorId.SetTEC2TECEntry(0, 4, 1, 470324620);
929  detectorId.SetTEC2TECEntry(0, 4, 2, 470341004);
930  detectorId.SetTEC2TECEntry(0, 4, 3, 470357388);
931  detectorId.SetTEC2TECEntry(0, 4, 4, 470373772);
932  detectorId.SetTEC2TECEntry(0, 5, 0, 470308488);
933  detectorId.SetTEC2TECEntry(0, 5, 1, 470324872);
934  detectorId.SetTEC2TECEntry(0, 5, 2, 470341256);
935  detectorId.SetTEC2TECEntry(0, 5, 3, 470357640);
936  detectorId.SetTEC2TECEntry(0, 5, 4, 470374024);
937  detectorId.SetTEC2TECEntry(0, 6, 0, 470308748);
938  detectorId.SetTEC2TECEntry(0, 6, 1, 470325132);
939  detectorId.SetTEC2TECEntry(0, 6, 2, 470341516);
940  detectorId.SetTEC2TECEntry(0, 6, 3, 470357900);
941  detectorId.SetTEC2TECEntry(0, 6, 4, 470374284);
942  detectorId.SetTEC2TECEntry(0, 7, 0, 470308996);
943  detectorId.SetTEC2TECEntry(0, 7, 1, 470325380);
944  detectorId.SetTEC2TECEntry(0, 7, 2, 470341764);
945  detectorId.SetTEC2TECEntry(0, 7, 3, 470358148);
946  detectorId.SetTEC2TECEntry(0, 7, 4, 470374532);
947 
948  // TEC- AT
949  detectorId.SetTEC2TECEntry(1, 0, 0, 470045064);
950  detectorId.SetTEC2TECEntry(1, 0, 1, 470061448);
951  detectorId.SetTEC2TECEntry(1, 0, 2, 470077832);
952  detectorId.SetTEC2TECEntry(1, 0, 3, 470094216);
953  detectorId.SetTEC2TECEntry(1, 0, 4, 470110600);
954  detectorId.SetTEC2TECEntry(1, 1, 0, 470045316);
955  detectorId.SetTEC2TECEntry(1, 1, 1, 470061700);
956  detectorId.SetTEC2TECEntry(1, 1, 2, 470078084);
957  detectorId.SetTEC2TECEntry(1, 1, 3, 470094468);
958  detectorId.SetTEC2TECEntry(1, 1, 4, 470110852);
959  detectorId.SetTEC2TECEntry(1, 2, 0, 470045580);
960  detectorId.SetTEC2TECEntry(1, 2, 1, 470061964);
961  detectorId.SetTEC2TECEntry(1, 2, 2, 470078348);
962  detectorId.SetTEC2TECEntry(1, 2, 3, 470094732);
963  detectorId.SetTEC2TECEntry(1, 2, 4, 470111116);
964  detectorId.SetTEC2TECEntry(1, 3, 0, 470045832);
965  detectorId.SetTEC2TECEntry(1, 3, 1, 470062216);
966  detectorId.SetTEC2TECEntry(1, 3, 2, 470078600);
967  detectorId.SetTEC2TECEntry(1, 3, 3, 470094984);
968  detectorId.SetTEC2TECEntry(1, 3, 4, 470111368);
969  detectorId.SetTEC2TECEntry(1, 4, 0, 470046084);
970  detectorId.SetTEC2TECEntry(1, 4, 1, 470062468);
971  detectorId.SetTEC2TECEntry(1, 4, 2, 470078852);
972  detectorId.SetTEC2TECEntry(1, 4, 3, 470095236);
973  detectorId.SetTEC2TECEntry(1, 4, 4, 470111620);
974  detectorId.SetTEC2TECEntry(1, 5, 0, 470046344);
975  detectorId.SetTEC2TECEntry(1, 5, 1, 470062728);
976  detectorId.SetTEC2TECEntry(1, 5, 2, 470079112);
977  detectorId.SetTEC2TECEntry(1, 5, 3, 470095496);
978  detectorId.SetTEC2TECEntry(1, 5, 4, 470111880);
979  detectorId.SetTEC2TECEntry(1, 6, 0, 470046596);
980  detectorId.SetTEC2TECEntry(1, 6, 1, 470062980);
981  detectorId.SetTEC2TECEntry(1, 6, 2, 470079364);
982  detectorId.SetTEC2TECEntry(1, 6, 3, 470095748);
983  detectorId.SetTEC2TECEntry(1, 6, 4, 470112132);
984  detectorId.SetTEC2TECEntry(1, 7, 0, 470046860);
985  detectorId.SetTEC2TECEntry(1, 7, 1, 470063244);
986  detectorId.SetTEC2TECEntry(1, 7, 2, 470079628);
987  detectorId.SetTEC2TECEntry(1, 7, 3, 470096012);
988  detectorId.SetTEC2TECEntry(1, 7, 4, 470112396);
989 }
990 
991 // define this as a plug-in
void SetTEC2TECEntry(int subdetector, int beam, int tecDisk, T)
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
iterator find(det_id_type id)
Definition: DetSetVector.h:264
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
bool TEC2TECLoop(int &, int &, int &) const
uint16_t adc() const
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void Fill(long long x)
const uint16_t & adc() const
Definition: SiStripDigi.h:34
bool TECLoop(int &, int &, int &, int &) const
void FillFromRawDigis(const edm::DetSetVector< SiStripRawDigi > &)
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
T & GetTIBTOBEntry(int subdetector, int beam, int tibTobPosition)
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void SetTIBTOBEntry(int subdetector, int beam, int tibTobPosition, T)
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
void analyze(const edm::Event &, const edm::EventSetup &) override
bool TIBTOBLoop(int &, int &, int &) const
T & GetTEC2TECEntry(int subdetector, int beam, int tecDisk)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
T & GetTECEntry(int subdetector, int tecRing, int beam, int tecDisk)
Definition: LASGlobalData.h:84
std::vector< edm::ParameterSet > theDigiProducerList
void FillFromProcessedDigis(const edm::DetSetVector< SiStripDigi > &)
LaserAlignmentT0ProducerDQM(const edm::ParameterSet &)
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:314
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...
void SetTECEntry(int subdetector, int tecRing, int beam, int tecDisk, T)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:501
Definition: Run.h:45