ATLAS Offline Software
TRTStrawStatusWrite.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
5 //
13 #include "TRTStrawStatusWrite.h"
14 #include <fstream>
15 #include <iostream>
16 #include <iomanip>
17 #include <sstream>
18 #include <stdio.h>
20 
21 TRTStrawStatusWrite::TRTStrawStatusWrite(const std::string &name, ISvcLocator *pSvcLocator) : AthAlgorithm(name, pSvcLocator){}
22 
24 {
25  ATH_MSG_INFO(" Initializing TRTStrawStatusWrite ");
26  ATH_CHECK(detStore()->retrieve(m_trtid, "TRT_ID"));
27 
28  if (!m_par_stattextfile.empty())
29  {
30  ATH_MSG_INFO("Recording StrawStatusContainer for key " << m_par_strawstatuscontainerkey);
31  if (!readStatFromTextFile(m_par_stattextfile).isSuccess())
32  {
33  ATH_MSG_ERROR(" Could not read TRT StrawStatus objects ");
34  return StatusCode::FAILURE;
35  }
36  ATH_MSG_INFO(" Filled " << m_par_strawstatuscontainerkey << " using input file " << m_par_stattextfile);
37  }
38 
39  if (!m_par_stattextfilepermanent.empty())
40  {
41  ATH_MSG_INFO("Recording StrawStatusPermanent Container for key " << m_par_strawstatuspermanentcontainerkey);
43  {
44  ATH_MSG_ERROR(" Could not read TRT StrawStatus permanent objects ");
45  return StatusCode::FAILURE;
46  }
48  }
49 
50  if (!m_par_stattextfileHT.empty())
51  {
52  ATH_MSG_INFO("Recording StrawStatusHTContainer for key " << m_par_strawstatusHTcontainerkey);
54  {
55  ATH_MSG_ERROR(" Could not read TRT StrawStatus HT objects ");
56  return StatusCode::FAILURE;
57  }
58  ATH_MSG_INFO(" Filled " << m_par_strawstatusHTcontainerkey << " using input file " << m_par_stattextfileHT);
59  }
60 
61  return StatusCode::SUCCESS;
62 }
63 
65 {
66  return StatusCode::SUCCESS;
67 }
68 
70 {
71  return StatusCode::SUCCESS;
72 }
73 
74 // set special bits//////////////////////////////////////////////////
75 void TRTStrawStatusWrite::set_status_temp(StrawStatusContainer *strawstatuscontainer, Identifier offlineID, bool set)
76 {
79  m_trtid->phi_module(offlineID), m_trtid->straw_layer(offlineID),
80  m_trtid->straw(offlineID), level);
81 
82  unsigned int org_stat = int((*strawstatuscontainer).get(id).getstatus());
83  const unsigned int statusbitmask = 1 << 8; // 0000001 00000000
84 
85  if (set)
86  {
87  (*strawstatuscontainer).set(id, (org_stat | statusbitmask));
88  }
89  else
90  {
91  (*strawstatuscontainer).set(id, (org_stat & (~statusbitmask)));
92  }
93 }
94 
95 // set special bits////////////////////////////////////////////////
96 void TRTStrawStatusWrite::set_status_permanent(StrawStatusContainer *strawstatuspermanentcontainer, Identifier offlineID, bool set)
97 {
98 
101  m_trtid->phi_module(offlineID), m_trtid->straw_layer(offlineID),
102  m_trtid->straw(offlineID), level);
103  unsigned int org_stat = int((*strawstatuspermanentcontainer).get(id).getstatus());
104  const unsigned int statusbitmask = 1 << 8; // 0000001 00000000
105 
106  if (set)
107  {
108  (*strawstatuspermanentcontainer).set(id, (org_stat | statusbitmask));
109  }
110  else
111  {
112  (*strawstatuspermanentcontainer).set(id, (org_stat & (~statusbitmask)));
113  }
114 }
115 
118 {
119 
121 
122  strawstatus->clear();
123  ATH_MSG_INFO(" ***************** TRTStrawStatusWrite ************************ ");
124  ATH_MSG_INFO(" readStatFromTextFile called with file name " << filename);
125 
126  int deadba0[32];
127  int deadba1[32];
128  int deadba2[32];
129  int deadbc0[32];
130  int deadbc1[32];
131  int deadbc2[32];
132  int deadea[14];
133  int deadec[14];
134  for (int i = 0; i < 32; i++)
135  {
136  deadba0[i] = 0;
137  deadba1[i] = 0;
138  deadba2[i] = 0;
139  deadbc0[i] = 0;
140  deadbc1[i] = 0;
141  deadbc2[i] = 0;
142  }
143  for (int i = 0; i < 14; i++)
144  {
145  deadea[i] = 0;
146  deadec[i] = 0;
147  }
148  // initialize detector layers with status 'good'
149  for (int l = 0; l < 3; l++)
150  {
152  strawstatus->setStatus(idbc, TRTCond::StrawStatus::Good);
154  strawstatus->setStatus(idba, TRTCond::StrawStatus::Good);
155  }
156  for (int l = 0; l < 14; l++)
157  {
159  strawstatus->setStatus(idec, TRTCond::StrawStatus::Good);
161  strawstatus->setStatus(idea, TRTCond::StrawStatus::Good);
162  }
163 
164  if (filename.empty())
165  {
166  ATH_MSG_FATAL(" Empty input file! ");
167  return StatusCode::FAILURE;
168  }
169  std::ifstream ifs(filename.c_str());
170  int bec, layer, sector, strawlayer, straw, status;
171  // txt file format : bec sector straw strawlayer layer dead/alive
172  int line = 0;
173  ATH_MSG_INFO("StrawStatus levels: strawlayer: " << TRTCond::ExpandedIdentifier::STRAWLAYER << " module: " << TRTCond::ExpandedIdentifier::MODULE << " layer: " << TRTCond::ExpandedIdentifier::LAYERWHEEL);
174  while (ifs >> bec >> sector >> straw >> strawlayer >> layer >> status)
175  {
176  if ((status == 3) || (status == 4) || (status == 5))
177  status = 1;
178  if (status != 1)
179  {
180  ATH_MSG_FATAL(" The Status Temp : " << status << " IS NOT ACCEPTED, Use 1 for dead ");
181  return StatusCode::FAILURE;
182  }
184  line += 1;
185 
186  if (straw < 0)
187  {
189  straw = 0;
190  }
191  if (strawlayer < 0)
192  {
194  strawlayer = 0;
195  }
196  if (sector < 0)
197  {
199  sector = 0;
200  }
201  if (layer < 0)
202  {
204  layer = 0;
205  }
206  if (bec < -2)
207  {
209  bec = -2;
210  }
211 
213  {
214  if (bec == -1 && sector >= 0 && sector < 32)
215  {
216  if (layer == 0)
217  deadbc0[sector]++;
218  if (layer == 1)
219  deadbc1[sector]++;
220  if (layer == 2)
221  deadbc2[sector]++;
222  }
223  if (bec == 1 && sector >= 0 && sector < 32)
224  {
225  if (layer == 0)
226  deadba0[sector]++;
227  if (layer == 1)
228  deadba1[sector]++;
229  if (layer == 2)
230  deadba2[sector]++;
231  }
232  if (bec == -2 && layer >= 0 && layer < 14)
233  deadec[layer]++;
234  if (bec == 2 && layer >= 0 && layer < 14)
235  deadea[layer]++;
236  }
237  else
238  {
239  ATH_MSG_INFO("Entire Module dead: bec: " << bec << " layer: " << layer << " phi: " << sector << " stl: " << strawlayer << " stw: " << straw << " level " << level);
240  }
241 
242  TRTCond::ExpandedIdentifier id(bec, layer, sector, strawlayer, straw, level);
243  // 1 means BAD
244  strawstatus->setStatus(id, 1);
245 
246  // I don't know why to set this extra bit 8 here for dead straws. Been always like that. (PH)
247  strawstatus->set(id, 1);
248  Identifier ID = m_trtid->straw_id(bec, sector, layer, strawlayer, straw);
249  set_status_temp(strawstatus, ID, status == 1 ? true : false);
250  }
251 
252  ATH_MSG_INFO(" Dead straws BA layer 0");
253  ATH_MSG_INFO("deadba0[] = { " << deadba0[0] << ", " << deadba0[1] << ", " << deadba0[2] << ", " << deadba0[3] << ", " << deadba0[4] << ", " << deadba0[5] << ", " << deadba0[6] << ", " << deadba0[7] << ", " << deadba0[8] << ", " << deadba0[9] << ", " << deadba0[10] << ", " << deadba0[11] << ", " << deadba0[12] << ", " << deadba0[13] << ", " << deadba0[14] << ", " << deadba0[15] << ", " << deadba0[16] << ", " << deadba0[17] << ", " << deadba0[18] << ", " << deadba0[19] << ", " << deadba0[20] << ", " << deadba0[21] << ", " << deadba0[22] << ", " << deadba0[23] << ", " << deadba0[24] << ", " << deadba0[25] << ", " << deadba0[26] << ", " << deadba0[27] << ", " << deadba0[28] << ", " << deadba0[29] << ", " << deadba0[30] << ", " << deadba0[31] << "}; ");
254  ATH_MSG_INFO(" Dead straws BA layer 1 ");
255  ATH_MSG_INFO("deadba1[] = { " << deadba1[0] << ", " << deadba1[1] << ", " << deadba1[2] << ", " << deadba1[3] << ", " << deadba1[4] << ", " << deadba1[5] << ", " << deadba1[6] << ", " << deadba1[7] << ", " << deadba1[8] << ", " << deadba1[9] << ", " << deadba1[10] << ", " << deadba1[11] << ", " << deadba1[12] << ", " << deadba1[13] << ", " << deadba1[14] << ", " << deadba1[15] << ", " << deadba1[16] << ", " << deadba1[17] << ", " << deadba1[18] << ", " << deadba1[19] << ", " << deadba1[20] << ", " << deadba1[21] << ", " << deadba1[22] << ", " << deadba1[23] << ", " << deadba1[24] << ", " << deadba1[25] << ", " << deadba1[26] << ", " << deadba1[27] << ", " << deadba1[28] << ", " << deadba1[29] << ", " << deadba1[30] << ", " << deadba1[31] << "};");
256  ATH_MSG_INFO(" Dead straws BA layer 2");
257  ATH_MSG_INFO("deadba2[]= { " << deadba2[0] << ", " << deadba2[1] << ", " << deadba2[2] << ", " << deadba2[3] << ", " << deadba2[4] << ", " << deadba2[5] << ", " << deadba2[6] << ", " << deadba2[7] << ", " << deadba2[8] << ", " << deadba2[9] << ", " << deadba2[10] << ", " << deadba2[11] << ", " << deadba2[12] << ", " << deadba2[13] << ", " << deadba2[14] << ", " << deadba2[15] << ", " << deadba2[16] << ", " << deadba2[17] << ", " << deadba2[18] << ", " << deadba2[19] << ", " << deadba2[20] << ", " << deadba2[21] << ", " << deadba2[22] << ", " << deadba2[23] << ", " << deadba2[24] << ", " << deadba2[25] << ", " << deadba2[26] << ", " << deadba2[27] << ", " << deadba2[28] << ", " << deadba2[29] << ", " << deadba2[30] << ", " << deadba2[31] << "}; ");
258 
259  ATH_MSG_INFO(" Dead straws BC layer 0");
260  ATH_MSG_INFO("deadbc0[] = { " << deadbc0[0] << ", " << deadbc0[1] << ", " << deadbc0[2] << ", " << deadbc0[3] << ", " << deadbc0[4] << ", " << deadbc0[5] << ", " << deadbc0[6] << ", " << deadbc0[7] << ", " << deadbc0[8] << ", " << deadbc0[9] << ", " << deadbc0[10] << ", " << deadbc0[11] << ", " << deadbc0[12] << ", " << deadbc0[13] << ", " << deadbc0[14] << ", " << deadbc0[15] << ", " << deadbc0[16] << ", " << deadbc0[17] << ", " << deadbc0[18] << ", " << deadbc0[19] << ", " << deadbc0[20] << ", " << deadbc0[21] << ", " << deadbc0[22] << ", " << deadbc0[23] << ", " << deadbc0[24] << ", " << deadbc0[25] << ", " << deadbc0[26] << ", " << deadbc0[27] << ", " << deadbc0[28] << ", " << deadbc0[29] << ", " << deadbc0[30] << ", " << deadbc0[31] << "}; ");
261  ATH_MSG_INFO(" Dead straws BC layer 1 ");
262  ATH_MSG_INFO("deadbc1[] = { " << deadbc1[0] << ", " << deadbc1[1] << ", " << deadbc1[2] << ", " << deadbc1[3] << ", " << deadbc1[4] << ", " << deadbc1[5] << ", " << deadbc1[6] << ", " << deadbc1[7] << ", " << deadbc1[8] << ", " << deadbc1[9] << ", " << deadbc1[10] << ", " << deadbc1[11] << ", " << deadbc1[12] << ", " << deadbc1[13] << ", " << deadbc1[14] << ", " << deadbc1[15] << ", " << deadbc1[16] << ", " << deadbc1[17] << ", " << deadbc1[18] << ", " << deadbc1[19] << ", " << deadbc1[20] << ", " << deadbc1[21] << ", " << deadbc1[22] << ", " << deadbc1[23] << ", " << deadbc1[24] << ", " << deadbc1[25] << ", " << deadbc1[26] << ", " << deadbc1[27] << ", " << deadbc1[28] << ", " << deadbc1[29] << ", " << deadbc1[30] << ", " << deadbc1[31] << "};");
263  ATH_MSG_INFO(" Dead straws BC leayer 2");
264  ATH_MSG_INFO("deadbc2[]= { " << deadbc2[0] << ", " << deadbc2[1] << ", " << deadbc2[2] << ", " << deadbc2[3] << ", " << deadbc2[4] << ", " << deadbc2[5] << ", " << deadbc2[6] << ", " << deadbc2[7] << ", " << deadbc2[8] << ", " << deadbc2[9] << ", " << deadbc2[10] << ", " << deadbc2[11] << ", " << deadbc2[12] << ", " << deadbc2[13] << ", " << deadbc2[14] << ", " << deadbc2[15] << ", " << deadbc2[16] << ", " << deadbc2[17] << ", " << deadbc2[18] << ", " << deadbc2[19] << ", " << deadbc2[20] << ", " << deadbc2[21] << ", " << deadbc2[22] << ", " << deadbc2[23] << ", " << deadbc2[24] << ", " << deadbc2[25] << ", " << deadbc2[26] << ", " << deadbc2[27] << ", " << deadbc2[28] << ", " << deadbc2[29] << ", " << deadbc2[30] << ", " << deadbc2[31] << "}; ");
265 
266  ATH_MSG_INFO(" Dead straws EA");
267  ATH_MSG_INFO("deadea[] = { " << deadea[0] << ", " << deadea[1] << ", " << deadea[2] << ", " << deadea[3] << ", " << deadea[4] << ", " << deadea[5] << ", " << deadea[6] << ", " << deadea[7] << ", " << deadea[8] << ", " << deadea[9] << ", " << deadea[10] << ", " << deadea[11] << ", " << deadea[12] << ", " << deadea[13] << "}; ");
268  ATH_MSG_INFO(" Dead straws EC");
269  ATH_MSG_INFO("deadec[] = { " << deadec[0] << ", " << deadec[1] << ", " << deadec[2] << ", " << deadec[3] << ", " << deadec[4] << ", " << deadec[5] << ", " << deadec[6] << ", " << deadec[7] << ", " << deadec[8] << ", " << deadec[9] << ", " << deadec[10] << ", " << deadec[11] << ", " << deadec[12] << ", " << deadec[13] << "}; ");
270 
271  ATH_MSG_INFO("Recording StrawStatus Container. Number of dead straws " << line << " straws");
272  if ((detStore()->record(strawstatus, m_par_strawstatuscontainerkey)) != StatusCode::SUCCESS)
273  {
274  ATH_MSG_ERROR("Could not record StrawStatus Container for key " << m_par_strawstatuscontainerkey);
275  return StatusCode::FAILURE;
276  }
277  else
278  {
279  ATH_MSG_INFO("Recorded StrawStatus container " << m_par_strawstatuscontainerkey << " with DetStore ");
280  }
281 
282  return StatusCode::SUCCESS;
283 }
284 
286 {
287 
289 
290  strawstatusHT->clear();
291 
292  ATH_MSG_INFO(" ***************** TRTStrawStatusWrite ************************ ");
293  ATH_MSG_INFO(" readStatHTFromTextFile called with file name " << filename);
294 
295  std::ifstream ifsHT(filename.c_str());
296  if (ifsHT)
297  {
298 
299  // initialize detector layers with Good like in rel21 (PH: Good and Xenon is treated as the same)
300  int lineXe = 0;
302  strawstatusHT->setStatus(iddet, TRTCond::StrawStatus::Good);
303 
304  for (int l = 0; l < 3; l++)
305  {
306 
308  strawstatusHT->setStatus(idbc, TRTCond::StrawStatus::Good);
310  strawstatusHT->setStatus(idba, TRTCond::StrawStatus::Good);
311  lineXe += 2;
312  }
313  for (int l = 0; l < 14; l++)
314  {
316  strawstatusHT->setStatus(idec, TRTCond::StrawStatus::Good);
318  strawstatusHT->setStatus(idea, TRTCond::StrawStatus::Good);
319  lineXe += 2;
320  }
321 
322  int bec, layer, sector, strawlayer, straw, status;
323  // txt file format : bec sector straw strawlayer layer dead/alive
324  int line = 0;
325  int lineAr = 0;
326  int lineKr = 0;
327  int lineEAr = 0;
328  int lineEKr = 0;
329 
330  while (ifsHT >> bec >> sector >> strawlayer >> straw >> layer >> status)
331  {
333 
334  line += 1;
335  if (straw < 0)
336  {
338  straw = 0;
339  }
340  if (strawlayer < 0)
341  {
343  strawlayer = 0;
344  }
345  if (sector < 0)
346  {
348  sector = 0;
349  }
350  if (layer < 0)
351  {
353  layer = 0;
354  }
355  if (bec < -2)
356  {
358  bec = -2;
359  }
360 
361  ATH_MSG_INFO("Layer/Wheel with Argon: bec: " << bec << " layer: " << layer << " phi: " << sector << " stl: " << strawlayer << " stw: " << straw << " status (" << TRTCond::StrawStatus::Argon << " is Argon): " << status << " level (" << TRTCond::ExpandedIdentifier::LAYERWHEEL << " is LAYERWHEEL) " << level);
362  TRTCond::ExpandedIdentifier id(bec, layer, sector, strawlayer, straw, level);
363  if (status == 4)
364  { // Argon
365  strawstatusHT->setStatus(id, TRTCond::StrawStatus::Argon);
366  lineAr += 1;
367  lineXe -= 1;
368  }
369  else if (status == 5)
370  { // Krypton
371  strawstatusHT->setStatus(id, TRTCond::StrawStatus::Krypton);
372  lineKr += 1;
373  lineXe -= 1;
374  }
375  else if (status == 6)
376  { // EmulateArgon
377  strawstatusHT->setStatus(id, TRTCond::StrawStatus::EmulateArgon);
378  lineEAr += 1;
379  }
380  else if (status == 7)
381  { // EmulateKrypton
383  lineEKr += 1;
384  lineXe -= 1;
385  }
386  else
387  {
388  ATH_MSG_FATAL(" The HT Status: " << status << " IS NOT ACCEPTED, 4 for Argon, 5 for Krypton!! "
389  << " Or 6 or 7 for emulated types!");
390  return StatusCode::FAILURE;
391  }
392  }
393  ATH_MSG_INFO("All the rest is running Xenon");
394  ATH_MSG_INFO("HT Status. Read " << line << " layers. " << " Xenon: " << lineXe << " Argon: " << lineAr << " Krypton: " << lineKr << " EmulateArgon: " << lineEAr << " EmulateKrypton: " << lineEKr);
395 
396  if ((detStore()->record(strawstatusHT, m_par_strawstatusHTcontainerkey)) != StatusCode::SUCCESS)
397  {
398  ATH_MSG_ERROR("Could not record StrawStatusHT Container for key " << m_par_strawstatusHTcontainerkey);
399  return StatusCode::FAILURE;
400  }
401  else
402  {
403  ATH_MSG_INFO("Recorded StrawStatusHT container " << m_par_strawstatusHTcontainerkey << " with DetStore ");
404  }
405  }
406  else
407  {
408  ATH_MSG_WARNING(" The HT Status input file not found ");
409  }
410  return StatusCode::SUCCESS;
411 }
412 
414 {
415 
416  StrawStatusContainer *strawstatuspermanent = new TRTCond::StrawStatusMultChanContainer();
417  strawstatuspermanent->clear();
418 
419  ATH_MSG_INFO(" readStatPermFromTextFile called with file name " << filename);
420 
421  std::ifstream ifspermanent(filename.c_str());
422 
423  if (ifspermanent)
424  {
425 
426  // initialize all straws with status 'Good'
427  for (std::vector<Identifier>::const_iterator it = m_trtid->straw_layer_begin(); it != m_trtid->straw_layer_end(); ++it)
428  {
429  Identifier id = m_trtid->straw_id(*it, 0);
430  int m = m_trtid->phi_module(id);
431  int n = m_trtid->barrel_ec(id);
432  int l = m_trtid->layer_or_wheel(id);
433  int nStrawsInLayer = m_trtid->straw_max(*it);
434  int sl = m_trtid->straw_layer(id);
435  for (int i = 0; i <= nStrawsInLayer; i++)
436  {
437  id = m_trtid->straw_id(*it, i);
439  strawstatuspermanent->setStatus(expid, TRTCond::StrawStatus::Good);
440  }
441  }
442  int bec, layer, sector, strawlayer, straw, status;
443  // txt file format : bec sector straw strawlayer layer dead/alive
444  int line = 0;
445  int nmodu = 0;
446  while (ifspermanent >> bec >> sector >> straw >> strawlayer >> layer >> status)
447  {
448  if ((status == 3) || (status == 4) || (status == 5))
449  status = 1;
450  if (status != 1)
451  {
452  ATH_MSG_FATAL(" The Status Permanent: " << status << " IS NOT ACCEPTED, Use 1 for dead ");
453  return StatusCode::FAILURE;
454  }
456  line += 1;
457 
458  // Expect the line to ask for either an entire modules or an individual straw to be turned off
459  if (strawlayer < 0)
460  {
461  std::cout << " Read permanent dead module from txt: " << bec << " ,sector " << sector << " ,straw " << straw << " ,strawlayer " << strawlayer << " ,layer " << layer << " ,status " << status << std::endl;
462  for (std::vector<Identifier>::const_iterator it = m_trtid->straw_layer_begin(); it != m_trtid->straw_layer_end(); ++it)
463  {
464  Identifier id = m_trtid->straw_id(*it, 0);
465  int m = m_trtid->phi_module(id);
466  int n = m_trtid->barrel_ec(id);
467  int l = m_trtid->layer_or_wheel(id);
468  if (n != bec || m != sector || l != layer)
469  continue;
470 
471  int nStrawsInLayer = m_trtid->straw_max(*it);
472  int sl = m_trtid->straw_layer(id);
473  for (int i = 0; i <= nStrawsInLayer; i++)
474  {
475  id = m_trtid->straw_id(*it, i);
476  TRTCond::ExpandedIdentifier expid(bec, layer, sector, sl, i, level);
477  strawstatuspermanent->setStatus(expid, TRTCond::StrawStatus::Dead);
478  }
479  }
480  nmodu++;
481  }
482  else
483  {
484  TRTCond::ExpandedIdentifier expid(bec, layer, sector, strawlayer, straw, level);
485  strawstatuspermanent->setStatus(expid, TRTCond::StrawStatus::Dead);
486  }
487 
488  ATH_MSG_DEBUG("Permanent dead ids: bec: " << bec << " layer: " << layer << " phi: " << sector << " stl: " << strawlayer << " stw: " << straw);
489  } // end reading input text file
490 
491  ATH_MSG_INFO(" Record Permanent Straw Status. Dead modules : " << nmodu << " Number of lines: " << line << " of dead identifiers ");
492  if ((detStore()->record(strawstatuspermanent, m_par_strawstatuspermanentcontainerkey)) != StatusCode::SUCCESS)
493  {
494  ATH_MSG_ERROR("Could not record StrawStatusPermanent Container for key " << m_par_strawstatuspermanentcontainerkey);
495  return StatusCode::FAILURE;
496  }
497  else
498  {
499  ATH_MSG_INFO("Recorded StrawStatusPermanent container " << m_par_strawstatuspermanentcontainerkey << " with DetStore ");
500  }
501  }
502  return StatusCode::SUCCESS;
503 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
TRT::Hit::straw
@ straw
Definition: HitInfo.h:82
TRT_ID::straw_max
int straw_max(const Identifier &id) const
Definition: TRT_ID.cxx:803
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
TRTCond::StrawStatusMultChanContainer::setStatus
void setStatus(const ExpandedIdentifier &id, unsigned int status)
set t0
Definition: StrawStatusMultChanContainer.h:33
TRTCond::StrawStatusMultChanContainer
Definition: StrawStatusMultChanContainer.h:19
ParticleGun_SamplingFraction.bec
int bec
Definition: ParticleGun_SamplingFraction.py:89
TRTCond::MultChanContainer::set
void set(const ExpandedIdentifier &id, const typename DaughterContainer::value_type &t)
set a value
Definition: MultChanContainer.h:223
TRTStrawStatusWrite::m_par_stattextfilepermanent
Gaudi::Property< std::string > m_par_stattextfilepermanent
Definition: TRTStrawStatusWrite.h:52
TRTStrawStatusWrite::readStatFromTextFile
virtual StatusCode readStatFromTextFile(const std::string &filename)
Definition: TRTStrawStatusWrite.cxx:117
TRTCond::ExpandedIdentifier::BARRELEC
@ BARRELEC
Definition: InnerDetector/InDetConditions/TRT_ConditionsData/TRT_ConditionsData/ExpandedIdentifier.h:37
TRTStrawStatusWrite::m_par_strawstatuscontainerkey
Gaudi::Property< std::string > m_par_strawstatuscontainerkey
Definition: TRTStrawStatusWrite.h:47
TRT_ID::straw_layer_end
const_id_iterator straw_layer_end() const
Definition: TRT_ID.h:955
TRT_ID::straw_layer_begin
const_id_iterator straw_layer_begin() const
Iterators over full set of straw_layer ids. Straw_layer ids are sorted.
Definition: TRT_ID.h:947
skel.it
it
Definition: skel.GENtoEVGEN.py:407
TRTCond::MultChanContainer::clear
void clear()
clear all layercontainers
Definition: MultChanContainer.h:307
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:157
TRTStrawStatusWrite::TRTStrawStatusWrite
TRTStrawStatusWrite(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TRTStrawStatusWrite.cxx:21
dq_defect_bulk_create_defects.line
line
Definition: dq_defect_bulk_create_defects.py:27
TRTCond::StrawStatus::Dead
@ Dead
Definition: StrawStatus.h:18
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
TRTCond::StrawStatus::EmulateKrypton
@ EmulateKrypton
Definition: StrawStatus.h:18
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
TRTStrawStatusWrite::m_par_strawstatusHTcontainerkey
Gaudi::Property< std::string > m_par_strawstatusHTcontainerkey
Definition: TRTStrawStatusWrite.h:49
TRTStrawStatusWrite::m_par_stattextfile
Gaudi::Property< std::string > m_par_stattextfile
Definition: TRTStrawStatusWrite.h:51
TRT_ID::straw
int straw(const Identifier &id) const
Definition: TRT_ID.h:896
TRTStrawStatusWrite::m_trtid
const TRT_ID * m_trtid
Definition: TRTStrawStatusWrite.h:55
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:85
beamspotman.n
n
Definition: beamspotman.py:727
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
TRTCond::ExpandedIdentifier::STRAWLAYER
@ STRAWLAYER
Definition: InnerDetector/InDetConditions/TRT_ConditionsData/TRT_ConditionsData/ExpandedIdentifier.h:37
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
TRTStrawStatusWrite::set_status_temp
virtual void set_status_temp(StrawStatusContainer *ssc, Identifier offlineID, bool set)
Definition: TRTStrawStatusWrite.cxx:75
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TRTStrawStatusWrite::m_par_strawstatuspermanentcontainerkey
Gaudi::Property< std::string > m_par_strawstatuspermanentcontainerkey
Definition: TRTStrawStatusWrite.h:48
TRTCond::ExpandedIdentifier::DETECTOR
@ DETECTOR
Definition: InnerDetector/InDetConditions/TRT_ConditionsData/TRT_ConditionsData/ExpandedIdentifier.h:37
TRT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: TRT_ID.h:860
TRT_ID::straw_layer
int straw_layer(const Identifier &id) const
Definition: TRT_ID.h:887
TRTStrawStatusWrite::readStatPermFromTextFile
virtual StatusCode readStatPermFromTextFile(const std::string &filename)
Definition: TRTStrawStatusWrite.cxx:413
TRT_ID::layer_or_wheel
int layer_or_wheel(const Identifier &id) const
Definition: TRT_ID.h:878
AthAlgorithm
Definition: AthAlgorithm.h:47
TRTCond::StrawStatus::EmulateArgon
@ EmulateArgon
Definition: StrawStatus.h:18
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
TRTCond::StrawStatus::Good
@ Good
Definition: StrawStatus.h:18
TRT_BaseElement.h
TRTStrawStatusWrite.h
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:239
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TRTStrawStatusWrite::set_status_permanent
virtual void set_status_permanent(StrawStatusContainer *ssc, Identifier offlineID, bool set)
Definition: TRTStrawStatusWrite.cxx:96
TRTCond::ExpandedIdentifier::STRAW
@ STRAW
Definition: InnerDetector/InDetConditions/TRT_ConditionsData/TRT_ConditionsData/ExpandedIdentifier.h:37
TRT_ID::phi_module
int phi_module(const Identifier &id) const
Definition: TRT_ID.h:869
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
TRTStrawStatusWrite::readStatHTFromTextFile
virtual StatusCode readStatHTFromTextFile(const std::string &filename)
Definition: TRTStrawStatusWrite.cxx:285
TRTCond::ExpandedIdentifier::LAYERWHEEL
@ LAYERWHEEL
Definition: InnerDetector/InDetConditions/TRT_ConditionsData/TRT_ConditionsData/ExpandedIdentifier.h:37
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:23
TRTStrawStatusWrite::finalize
virtual StatusCode finalize() override
Definition: TRTStrawStatusWrite.cxx:69
TRTStrawStatusWrite::m_par_stattextfileHT
Gaudi::Property< std::string > m_par_stattextfileHT
Definition: TRTStrawStatusWrite.h:53
merge.status
status
Definition: merge.py:16
TRTCond::ExpandedIdentifier
Identifier for TRT detector elements in the conditions code.
Definition: InnerDetector/InDetConditions/TRT_ConditionsData/TRT_ConditionsData/ExpandedIdentifier.h:30
TRTStrawStatusWrite::initialize
virtual StatusCode initialize() override
Definition: TRTStrawStatusWrite.cxx:23
TRTCond::ExpandedIdentifier::MODULE
@ MODULE
Definition: InnerDetector/InDetConditions/TRT_ConditionsData/TRT_ConditionsData/ExpandedIdentifier.h:37
TRTCond::StrawStatus::Argon
@ Argon
Definition: StrawStatus.h:18
TRTCond::StrawStatus::Krypton
@ Krypton
Definition: StrawStatus.h:18
TRTStrawStatusWrite::execute
virtual StatusCode execute() override
Definition: TRTStrawStatusWrite.cxx:64
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106
TRT_ID::straw_id
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw:
Definition: TRT_ID.h:575
Identifier
Definition: IdentifierFieldParser.cxx:14