ATLAS Offline Software
PixelModuleDataStream.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #include <vector>
10 #include <type_traits>
11 #include <sstream>
12 
13 using namespace PixelConditionsData;
14 
15 namespace{
16  template <typename T>
17  struct is_container : std::false_type { };
18 
19  template <typename T>
20  struct is_container<std::vector<T> > : std::true_type { };
21 
22  template <class T>
23  std::ostream &
24  operator << (std::ostream & out, const std::vector<T> & v){
25  const std::string delim = is_container<T>()?"":" ";
26  const std::string LF = is_container<T>()?"":"\n";
27  for (size_t i{};i!=v.size();++i){
28  out<<v[i]<<delim;
29  }
30  out<<LF;
31  return out;
32  }
33 
34 
35  std::istream &
36  operator >> (std::istream & in, std::vector<std::vector<float>> & v){
37  std::istream::sentry s(in);
38  if (s){
39  v.clear();
40  constexpr size_t bufferSize=500;
41  char buffer[bufferSize];
42  in.getline(buffer, bufferSize-1, '\n');
43  if (buffer[0] =='#') in.getline(buffer, bufferSize);
44  std::istringstream is(buffer);
45  //assumes (for now) only three entries...which is currently the case
46  v.emplace_back(std::istream_iterator<float>(is),std::istream_iterator<float>());
47  in.getline(buffer, bufferSize-1, '\n');
48  std::istringstream is2(buffer);
49  v.emplace_back(std::istream_iterator<float>(is2),std::istream_iterator<float>());
50  in.getline(buffer, bufferSize-1, '\n');
51  std::istringstream is3(buffer);
52  v.emplace_back(std::istream_iterator<float>(is3),std::istream_iterator<float>());
53  }
54  return in;
55  }
56  template <typename T>
57  std::istream &
58  operator >> (std::istream & in, std::vector<T> & v){
59  std::istream::sentry s(in);
60  if (s){
61  v.clear();
62  constexpr size_t bufferSize=500;
63  char buffer[bufferSize]={};
64  in.getline(buffer, bufferSize-1,'\n');
65  if (buffer[0] =='#') in.getline(buffer, bufferSize-1,'\n');
66  std::string s(buffer);
67  std::istringstream iss(s);
68  v.assign(std::istream_iterator<T>(iss), std::istream_iterator<T>());
69  if (in.fail()){
70  throw std::runtime_error("error on streaming input to PixelModuleData");
71  }
72  }
73  return in;
74  }
75 }
76 
77 //declared as a friend in the PixelModuleData class
78 std::ostream &
79 operator << (std::ostream &out, const PixelModuleData &c){
80  const std::string LF{"\n"};
81  //NB: in the following, vector variables are not followed by a linefeed;
82  // it's already in the vector stream insertion operator in anonymous namespace (above)
83  out<<"#defaultBarrelAnalogThreshold"<<LF;
84  out<<c.m_defaultBarrelAnalogThreshold;
85  out<<"#defaultEndcapAnalogThreshold"<<LF;
86  out<<c.m_defaultEndcapAnalogThreshold;
87  out<<"#defaultDBMAnalogThreshold"<<LF;
88  out<<c.m_defaultDBMAnalogThreshold;
89  //
90  out<<"#defaultBarrelAnalogThresholdSigma"<<LF;
91  out<<c.m_defaultBarrelAnalogThresholdSigma;
92  out<<"#defaultEndcapAnalogThresholdSigma"<<LF;
93  out<<c.m_defaultEndcapAnalogThresholdSigma;
94  out<<"#defaultDBMAnalogThresholdSigma"<<LF;
95  out<<c.m_defaultDBMAnalogThresholdSigma;
96  //
97  out<<"#defaultBarrelAnalogThresholdNoise"<<LF;
98  out<<c.m_defaultBarrelAnalogThresholdNoise;
99  out<<"#defaultEndcapAnalogThresholdNoise"<<LF;
100  out<<c.m_defaultEndcapAnalogThresholdNoise;
101  out<<"#defaultDBMAnalogThresholdNoise"<<LF;
102  out<<c.m_defaultDBMAnalogThresholdNoise;
103  //
104  out<<"#defaultBarrelInTimeThreshold"<<LF;
105  out<<c.m_defaultBarrelInTimeThreshold;
106  out<<"#defaultEndcapInTimeThreshold"<<LF;
107  out<<c.m_defaultEndcapInTimeThreshold;
108  out<<"#defaultDBMInTimeThreshold"<<LF;
109  out<<c.m_defaultDBMInTimeThreshold;
110  //
111  out<<"#barrelToTThreshold"<<LF;
112  out<<c.m_barrelToTThreshold;
113  out<<"#endcapToTThreshold"<<LF;
114  out<<c.m_endcapToTThreshold;
115  out<<"#DBMToTThreshold"<<LF;
116  out<<c.m_DBMToTThreshold;
117  //
118  out<<"#barrelCrossTalk"<<LF;
119  out<<c.m_barrelCrossTalk;
120  out<<"#endcapCrossTalk"<<LF;
121  out<<c.m_endcapCrossTalk;
122  out<<"#DBMCrossTalk"<<LF;
123  out<<c.m_DBMCrossTalk;
124  //
125  out<<"#barrelThermalNoise"<<LF;
126  out<<c.m_barrelThermalNoise;
127  out<<"#endcapThermalNoise"<<LF;
128  out<<c.m_endcapThermalNoise;
129  out<<"#DBMThermalNoise"<<LF;
130  out<<c.m_DBMThermalNoise;
131  //
132  out<<"#barrelNoiseOccupancy"<<LF;
133  out<<c.m_barrelNoiseOccupancy;
134  out<<"#endcapNoiseOccupancy"<<LF;
135  out<<c.m_endcapNoiseOccupancy;
136  out<<"#DBMNoiseOccupancy"<<LF;
137  out<<c.m_DBMNoiseOccupancy;
138  //
139  out<<"#barrelDisableProbability"<<LF;
140  out<<c.m_barrelDisableProbability;
141  out<<"#endcapDisableProbability"<<LF;
142  out<<c.m_endcapDisableProbability;
143  out<<"#DBMDisableProbability"<<LF;
144  out<<c.m_DBMDisableProbability;
145  //
146  out<<"#barrelNoiseShape"<<LF;
147  out<<c.m_barrelNoiseShape;
148  out<<"#endcapNoiseShape"<<LF;
149  out<<c.m_endcapNoiseShape;
150  out<<"#DBMNoiseShape"<<LF;
151  out<<c.m_DBMNoiseShape;
152  //
153  out<<"#FEI3BarrelLatency"<<LF;
154  out<<c.m_FEI3BarrelLatency;
155  out<<"#FEI3EndcapLatency"<<LF;
156  out<<c.m_FEI3EndcapLatency;
157  //
158  out<<"#FEI3BarrelTimingSimTune"<<LF;
159  out<<c.m_FEI3BarrelTimingSimTune;
160  out<<"#FEI3EndcapTimingSimTune"<<LF;
161  out<<c.m_FEI3EndcapTimingSimTune;
162 
163  //
164  out<<"#paramA"<<LF;
165  out<<c.m_paramA<<LF;
166  out<<"#paramE"<<LF;
167  out<<c.m_paramE<<LF;
168  out<<"#paramC"<<LF;
169  out<<c.m_paramC<<LF;
170  out<<"#doLinearExtrapolation"<<LF;
171  out<<c.m_doLinearExtrapolation<<LF;
172  //
173  out<<"#biasVoltage"<<LF;
174  out<<c.m_biasVoltage<<LF;
175  //
176  out<<"#fluenceLayer"<<LF;
177  out<<c.m_fluenceLayer;
178  out<<"#radSimFluenceMapList"<<LF;
179  out<<c.m_radSimFluenceMapList;
180  //
181  out<<"#fluenceLayer3D"<<LF;
182  out<<c.m_fluenceLayer3D;
183  out<<"#radSimFluenceMapList3D"<<LF;
184  out<<c.m_radSimFluenceMapList3D;
185  //
186  out<<"#cablingMapToFile"<<LF;
187  out<<c.m_cablingMapToFile<<LF;
188  out<<"#cablingMapFileName"<<LF;
189  out<<c.m_cablingMapFileName;
190 
191  return out;
192 }
193 
194 //declared as a friend in the PixelModuleData class (dangerously skirting the interface)
195 std::istream &
196 operator >> (std::istream &in, PixelModuleData &c){
197  [[maybe_unused]] std::vector<float> ignoreFloatVec;
198  [[maybe_unused]] std::vector<double> ignoreDoubleVec;
199  [[maybe_unused]] std::vector<double> ignoreIntVec;
200  [[maybe_unused]] std::vector<bool> ignoreBoolVec;
201  [[maybe_unused]] float ignoreFloat{};
202  [[maybe_unused]] bool ignoreBool{};
203  [[maybe_unused]] double ignoreDouble{};
204  [[maybe_unused]] int ignoreInt{};
205  [[maybe_unused]] std::string ignoreString{};
206  std::istream::sentry s(in);
207  if (s){
208  //this is rather unforgiving, and should only be used with the format given by the ostream
209  //insertion operator
210  std::string label;
211  in.ignore(100, '\n');
212  in>>ignoreDouble;
213  in.ignore(100,'\n');
214  in>>ignoreIntVec;
215  in.ignore(100,'\n');
216  in>>ignoreIntVec;
217  in.ignore(100,'\n');
218  in>>ignoreIntVec;
219  in.ignore(100,'\n');
220  in>>ignoreDoubleVec;
221  in.ignore(100,'\n');
222  in>>ignoreDoubleVec;
223  in.ignore(100,'\n');
224  in>>ignoreDoubleVec;
225  //
226  in.ignore(100,'\n');
227  in>>ignoreDoubleVec;
228  in.ignore(100,'\n');
229  in>>ignoreDoubleVec;
230  in.ignore(100,'\n');
231  in>>ignoreDoubleVec;
232  //
233  in.ignore(100,'\n');
234  in>>c.m_defaultBarrelAnalogThreshold;
235  in.ignore(100,'\n');
236  in>>c.m_defaultEndcapAnalogThreshold;
237  in.ignore(100,'\n');
238  in>>c.m_defaultDBMAnalogThreshold;
239  //
240  in.ignore(100,'\n');
241  in>>c.m_defaultBarrelAnalogThresholdSigma;
242  in.ignore(100,'\n');
243  in>>c.m_defaultEndcapAnalogThresholdSigma;
244  in.ignore(100,'\n');
245  in>>c.m_defaultDBMAnalogThresholdSigma;
246  //
247  in.ignore(100,'\n');
248  in>>c.m_defaultBarrelAnalogThresholdNoise;
249  in.ignore(100,'\n');
250  in>>c.m_defaultEndcapAnalogThresholdNoise;
251  in.ignore(100,'\n');
252  in>>c.m_defaultDBMAnalogThresholdNoise;
253  //
254  in.ignore(100,'\n');
255  in>>c.m_defaultBarrelInTimeThreshold;
256  in.ignore(100,'\n');
257  in>>c.m_defaultEndcapInTimeThreshold;
258  in.ignore(100,'\n');
259  in>>c.m_defaultDBMInTimeThreshold;
260  //
261  in.ignore(100,'\n');
262  in>>c.m_barrelToTThreshold;
263  in.ignore(100,'\n');
264  in>>c.m_endcapToTThreshold;
265  in.ignore(100,'\n');
266  in>>c.m_DBMToTThreshold;
267  //
268  in.ignore(100,'\n');
269  in>>c.m_barrelCrossTalk;
270  in.ignore(100,'\n');
271  in>>c.m_endcapCrossTalk;
272  in.ignore(100,'\n');
273  in>>c.m_DBMCrossTalk;
274  //
275  in.ignore(100,'\n');
276  in>>c.m_barrelThermalNoise;
277  in.ignore(100,'\n');
278  in>>c.m_endcapThermalNoise;
279  in.ignore(100,'\n');
280  in>>c.m_DBMThermalNoise;
281  //
282  in.ignore(100,'\n');
283  in>>c.m_barrelNoiseOccupancy;
284  in.ignore(100,'\n');
285  in>>c.m_endcapNoiseOccupancy;
286  in.ignore(100,'\n');
287  in>>c.m_DBMNoiseOccupancy;
288  //
289  in.ignore(100,'\n');
290  in>>c.m_barrelDisableProbability;
291  in.ignore(100,'\n');
292  in>>c.m_endcapDisableProbability;
293  in.ignore(100,'\n');
294  in>>c.m_DBMDisableProbability;
295  //
296  in.ignore(100,'\n');
297  in>>c.m_barrelNoiseShape;
298  in.ignore(100,'\n');
299  in>>c.m_endcapNoiseShape;
300  in.ignore(100,'\n');
301  in>>c.m_DBMNoiseShape;
302  //
303  in.ignore(100,'\n');
304  in>>c.m_FEI3BarrelLatency;
305  in.ignore(100,'\n');
306  in>>c.m_FEI3EndcapLatency;
307  //
308  in.ignore(100,'\n');
309  in>>ignoreBoolVec;
310  in.ignore(100,'\n');
311  in>>ignoreBoolVec;
312  //
313  in.ignore(100,'\n');
314  in>>ignoreIntVec;
315  in.ignore(100,'\n');
316  in>>ignoreIntVec;
317  //
318  in.ignore(100,'\n');
319  in>>c.m_FEI3BarrelTimingSimTune;
320  in.ignore(100,'\n');
321  in>>c.m_FEI3EndcapTimingSimTune;
322  //
323  in.ignore(100,'\n');
324  in>>ignoreIntVec;
325  in.ignore(100,'\n');
326  in>>ignoreIntVec;
327  //something magic about having to stream to a string at this point,
328  //instead of using 'ignore'
329  in>>label;
330  in>>ignoreFloat;
331  in>>label;
332  in>>ignoreBool;
333 
334  in>>label;
335  in>>ignoreDoubleVec;
336  //
337  in>>label;
338  in>>c.m_paramA;
339  in>>label;
340  in>>c.m_paramE;
341  in>>label;
342  in>>c.m_paramC;
343  in>>label;
344  in>>c.m_doLinearExtrapolation;
345  //
346  in>>label;
347 
348  in>>ignoreDoubleVec;
349  in>>label;
350  in>>ignoreDoubleVec;
351  //
352  in>>label;
353  in>>c.m_biasVoltage;
354  in>>label;
355  in>>ignoreFloat;
356  //
357  in>>label;
358  in>>ignoreFloatVec;
359  in>>label;
360  in>>ignoreFloatVec;
361 
362  in>>label;
363  in>>ignoreFloatVec;
364  //
365  in>>label;
366  in>>c.m_fluenceLayer;
367  in>>label;
368  in>>c.m_radSimFluenceMapList;
369  //
370  in>>label;
371  in>>c.m_fluenceLayer3D;
372  in>>label;
373  in>>c.m_radSimFluenceMapList3D;
374  //
375  in>>label;
376  in>>c.m_cablingMapToFile;
377  in>>label;
378  in>>c.m_cablingMapFileName;
379  //
380  in>>label;
381  in>>ignoreInt;
382  in>>label;
383  in>>ignoreInt;
384  in>>label;
385  in>>ignoreDouble;
386  in>>label;
387  in>>ignoreDouble;
388  in>>label;
389  in>>ignoreDouble;
390  in>>label;
391  in>>ignoreDouble;
392  in>>label;
393  in>>ignoreDouble;
394  in>>label;
395  in>>ignoreDouble;
396  in>>label;
397  in>>ignoreDouble;
398  in>>label;
399  in>>ignoreBool;
400  in>>label;
401  in>>ignoreString;
402  }
403  return in;
404 }
405 
406 std::istream & operator >>(SoshiFormat & f, PixelModuleData & md){
407  std::istream *i = f.m_is;
408  std::string sline;
409  std::vector<std::string> lBuffer;
410  std::string multiline = "";
411  std::vector<std::string> mapsPath_list;
412  std::vector<std::string> mapsPath_list3D;
413  while (getline(*i,sline)) {
414  if (!sline.empty()) {
415  if (sline.find("//")==std::string::npos) {
416  if (sline.find("{{")!=std::string::npos && sline.find("}")!=std::string::npos) {
417  multiline = sline;
418  }
419  else if (sline.find("{")!=std::string::npos && sline.find("}}")!=std::string::npos) {
420  multiline += sline;
421  lBuffer.push_back(multiline);
422  }
423  else if (sline.find("{")!=std::string::npos && sline.find("}")!=std::string::npos) {
424  multiline += sline;
425  lBuffer.push_back(sline);
426  }
427  else if (sline.find("{")!=std::string::npos) {
428  multiline = sline;
429  }
430  else if (sline.find("}")!=std::string::npos) {
431  multiline += sline;
432  lBuffer.push_back(multiline);
433  }
434  else {
435  multiline += sline;
436  }
437  }
438  }
439  }
440 
441  md.setBarrelToTThreshold(getParameter<int>("BarrelToTThreshold", lBuffer));
442  md.setFEI3BarrelLatency(getParameter<int>("FEI3BarrelLatency", lBuffer));
443  std::vector<bool> ignoreBoolVec;
444  ignoreBoolVec = getParameter<bool>("FEI3BarrelHitDuplication", lBuffer);
445  auto ignoreIntVec = getParameter<int>("FEI3BarrelSmallHitToT", lBuffer);
446  md.setFEI3BarrelTimingSimTune(getParameter<int>("FEI3BarrelTimingSimTune", lBuffer));
447  md.setBarrelCrossTalk(getParameter<double>("BarrelCrossTalk", lBuffer));
448  md.setBarrelNoiseOccupancy(getParameter<double>("BarrelNoiseOccupancy", lBuffer));
449 
450  md.setBarrelDisableProbability(getParameter<double>("BarrelDisableProbability", lBuffer));
451  std::vector<double> ignoreDoubleVec{};
452  ignoreDoubleVec = getParameter<double>("BarrelLorentzAngleCorr", lBuffer);
453 
454  md.setEndcapToTThreshold(getParameter<int>("EndcapToTThreshold", lBuffer));
455  md.setFEI3EndcapLatency(getParameter<int>("FEI3EndcapLatency", lBuffer));
456 
457  ignoreBoolVec = getParameter<bool>("FEI3EndcapHitDuplication", lBuffer);
458  ignoreIntVec = getParameter<int>("FEI3EndcapSmallHitToT", lBuffer);
459 
460  md.setFEI3EndcapTimingSimTune(getParameter<int>("FEI3EndcapTimingSimTune", lBuffer));
461  md.setEndcapCrossTalk(getParameter<double>("EndcapCrossTalk", lBuffer));
462  md.setEndcapNoiseOccupancy(getParameter<double>("EndcapNoiseOccupancy", lBuffer));
463  md.setEndcapDisableProbability(getParameter<double>("EndcapDisableProbability", lBuffer));
464  ignoreDoubleVec = getParameter<double>("EndcapLorentzAngleCorr", lBuffer);
465 
466  md.setEndcapNoiseShape({getParameter<float>("PixelNoiseShape", lBuffer),
467  getParameter<float>("PixelNoiseShape", lBuffer),
468  getParameter<float>("PixelNoiseShape", lBuffer)});
469 
470  md.setBLayerTimingIndex(getParameter<float>("BLayerTimingIndex", lBuffer));
471  md.setBLayerTimingProbability(getParameter<float>("BLayerTimingProbability", lBuffer));
472 
473  md.setLayer1TimingIndex(getParameter<float>("Layer1TimingIndex", lBuffer));
474  md.setLayer1TimingProbability(getParameter<float>("Layer1TimingProbability", lBuffer));
475 
476  md.setLayer2TimingIndex(getParameter<float>("Layer2TimingIndex", lBuffer));
477  md.setLayer2TimingProbability(getParameter<float>("Layer2TimingProbability", lBuffer));
478 
479  md.setEndcap1TimingIndex(getParameter<float>("Endcap1TimingIndex", lBuffer));
480  md.setEndcap1TimingProbability(getParameter<float>("Endcap1TimingProbability", lBuffer));
481 
482  md.setEndcap2TimingIndex(getParameter<float>("Endcap2TimingIndex", lBuffer));
483  md.setEndcap2TimingProbability(getParameter<float>("Endcap2TimingProbability", lBuffer));
484 
485  md.setEndcap3TimingIndex(getParameter<float>("Endcap3TimingIndex", lBuffer));
486  md.setEndcap3TimingProbability(getParameter<float>("Endcap3TimingProbability", lBuffer));
487 
488  // Radiation damage simulation
489  md.setFluenceLayer(getParameter<double>("BarrelFluence", lBuffer));
490  std::vector<std::string> barrelFluenceFile = getParameterString("BarrelRadiationFile", lBuffer);
491  for (const auto & fluence : barrelFluenceFile) {
492  mapsPath_list.push_back(PathResolverFindCalibFile(fluence));
493  }
494 
495  if (f.run1) { // RUN1
496  md.setBarrelNoiseShape({getParameter<float>("BLayerNoiseShape", lBuffer),
497  getParameter<float>("PixelNoiseShape", lBuffer),
498  getParameter<float>("PixelNoiseShape", lBuffer)});
499  } else { // RUN2
500  md.setDBMToTThreshold(getParameter<int>("DBMToTThreshold", lBuffer));
501  md.setDBMCrossTalk(getParameter<double>("DBMCrossTalk", lBuffer));
502  md.setDBMNoiseOccupancy(getParameter<double>("DBMNoiseOccupancy", lBuffer));
503  md.setDBMDisableProbability(getParameter<double>("DBMDisableProbability", lBuffer));
504 
505  md.setBarrelNoiseShape({getParameter<float>("IBLNoiseShape", lBuffer),
506  getParameter<float>("BLayerNoiseShape", lBuffer),
507  getParameter<float>("PixelNoiseShape", lBuffer),
508  getParameter<float>("PixelNoiseShape", lBuffer)});
509 
510  md.setDBMNoiseShape({getParameter<float>("IBLNoiseShape", lBuffer),
511  getParameter<float>("IBLNoiseShape", lBuffer),
512  getParameter<float>("IBLNoiseShape", lBuffer)});
513 
514  // Radiation damage simulation for 3D sensor
515  md.setFluenceLayer3D(getParameter<double>("3DFluence", lBuffer));
516  std::vector<std::string> barrel3DFluenceFile = getParameterString("3DRadiationFile", lBuffer);
517  for (const auto & fluence3D : barrel3DFluenceFile) {
518  mapsPath_list3D.push_back(PathResolverFindCalibFile(fluence3D));
519  }
520  }
521  md.setRadSimFluenceMapList(mapsPath_list);
522  md.setRadSimFluenceMapList3D(mapsPath_list3D);
523  return *i;
524 
525 }
526 
PixelModuleData::setEndcap1TimingIndex
void setEndcap1TimingIndex(const std::vector< float > &Endcap1TimingIndex)
Definition: PixelModuleData.cxx:272
PixelModuleData::setDBMDisableProbability
void setDBMDisableProbability(const std::vector< double > &DBMDisableProbability)
Definition: PixelModuleData.cxx:193
PixelModuleData::setDBMNoiseShape
void setDBMNoiseShape(const std::vector< std::vector< float >> &DBMNoiseShape)
Definition: PixelModuleData.cxx:215
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
PixelModuleData::setEndcapCrossTalk
void setEndcapCrossTalk(const std::vector< double > &endcapCrossTalk)
Definition: PixelModuleData.cxx:126
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
PixelModuleData
Definition: PixelModuleData.h:22
PixelModuleData::setBarrelCrossTalk
void setBarrelCrossTalk(const std::vector< double > &barrelCrossTalk)
Definition: PixelModuleData.cxx:125
PixelModuleData::setEndcap2TimingIndex
void setEndcap2TimingIndex(const std::vector< float > &Endcap2TimingIndex)
Definition: PixelModuleData.cxx:273
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
PixelModuleData::setEndcap3TimingIndex
void setEndcap3TimingIndex(const std::vector< float > &Endcap3TimingIndex)
Definition: PixelModuleData.cxx:274
PixelModuleData::setEndcap3TimingProbability
void setEndcap3TimingProbability(const std::vector< float > &Endcap3TimingProbability)
Definition: PixelModuleData.cxx:281
PixelModuleData::setEndcap1TimingProbability
void setEndcap1TimingProbability(const std::vector< float > &Endcap1TimingProbability)
Definition: PixelModuleData.cxx:279
PixelModuleData::setBarrelNoiseOccupancy
void setBarrelNoiseOccupancy(const std::vector< double > &barrelNoiseOccupancy)
Definition: PixelModuleData.cxx:169
PixelModuleData::setBLayerTimingProbability
void setBLayerTimingProbability(const std::vector< float > &BLayerTimingProbability)
Definition: PixelModuleData.cxx:276
PixelModuleData::setFEI3EndcapLatency
void setFEI3EndcapLatency(const std::vector< int > &FEI3EndcapLatency)
Definition: PixelModuleData.cxx:236
PixelModuleData::setRadSimFluenceMapList3D
void setRadSimFluenceMapList3D(const std::vector< std::string > &radSimFluenceMapList3D)
Definition: PixelModuleData.cxx:348
PixelConditionsDataStringUtils.h
PixelModuleData::setBarrelDisableProbability
void setBarrelDisableProbability(const std::vector< double > &barrelDisableProbability)
Definition: PixelModuleData.cxx:191
PixelModuleData::setEndcapNoiseOccupancy
void setEndcapNoiseOccupancy(const std::vector< double > &endcapNoiseOccupancy)
Definition: PixelModuleData.cxx:170
PixelModuleData::setFluenceLayer3D
void setFluenceLayer3D(const std::vector< double > &fluenceLayer)
Definition: PixelModuleData.cxx:345
PixelModuleData::setDBMToTThreshold
void setDBMToTThreshold(const std::vector< int > &DBMToTThreshold)
Definition: PixelModuleData.cxx:105
createCoolChannelIdFile.buffer
buffer
Definition: createCoolChannelIdFile.py:12
PixelModuleData::setLayer2TimingIndex
void setLayer2TimingIndex(const std::vector< float > &Layer2TimingIndex)
Definition: PixelModuleData.cxx:271
PixelModuleData::setBarrelNoiseShape
void setBarrelNoiseShape(const std::vector< std::vector< float >> &barrelNoiseShape)
Definition: PixelModuleData.cxx:213
PixelModuleData::setRadSimFluenceMapList
void setRadSimFluenceMapList(const std::vector< std::string > &radSimFluenceMapList)
Definition: PixelModuleData.cxx:342
lumiFormat.i
int i
Definition: lumiFormat.py:85
PixelModuleData::setFEI3BarrelLatency
void setFEI3BarrelLatency(const std::vector< int > &FEI3BarrelLatency)
Definition: PixelModuleData.cxx:235
PixelModuleData::setEndcapToTThreshold
void setEndcapToTThreshold(const std::vector< int > &endcapToTThreshold)
Definition: PixelModuleData.cxx:104
PixelModuleData::setEndcapNoiseShape
void setEndcapNoiseShape(const std::vector< std::vector< float >> &endcapNoiseShape)
Definition: PixelModuleData.cxx:214
PixelModuleData::setEndcap2TimingProbability
void setEndcap2TimingProbability(const std::vector< float > &Endcap2TimingProbability)
Definition: PixelModuleData.cxx:280
hist_file_dump.f
f
Definition: hist_file_dump.py:135
PixelConditionsData::getParameterString
std::vector< std::string > getParameterString(const std::string &varName, const std::vector< std::string > &buffer)
Definition: PixelConditionsDataStringUtils.cxx:13
PixelConditionsData
Definition: PixelConditionsDataStringUtils.h:9
PixelModuleData::setDBMNoiseOccupancy
void setDBMNoiseOccupancy(const std::vector< double > &DBMNoiseOccupancy)
Definition: PixelModuleData.cxx:171
PixelModuleDataStream.h
Stream insertion operator for PixelModuleData.
PixelModuleData::setFEI3EndcapTimingSimTune
void setFEI3EndcapTimingSimTune(const std::vector< int > &FEI3EndcapTimingSimTune)
Definition: PixelModuleData.cxx:252
PathResolver.h
PixelModuleData::setFEI3BarrelTimingSimTune
void setFEI3BarrelTimingSimTune(const std::vector< int > &FEI3BarrelTimingSimTune)
Definition: PixelModuleData.cxx:251
PixelModuleData::setBarrelToTThreshold
void setBarrelToTThreshold(const std::vector< int > &barrelToTThreshold)
Definition: PixelModuleData.cxx:103
PixelModuleData::setDBMCrossTalk
void setDBMCrossTalk(const std::vector< double > &DBMCrossTalk)
Definition: PixelModuleData.cxx:127
PixelModuleData::setLayer1TimingIndex
void setLayer1TimingIndex(const std::vector< float > &Layer1TimingIndex)
Definition: PixelModuleData.cxx:270
checkFileSG.LF
LF
Definition: checkFileSG.py:104
PixelModuleData::setLayer2TimingProbability
void setLayer2TimingProbability(const std::vector< float > &Layer2TimingProbability)
Definition: PixelModuleData.cxx:278
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.cxx:431
python.PyAthena.v
v
Definition: PyAthena.py:154
PixelModuleData::setEndcapDisableProbability
void setEndcapDisableProbability(const std::vector< double > &endcapDisableProbability)
Definition: PixelModuleData.cxx:192
PixelModuleData::setFluenceLayer
void setFluenceLayer(const std::vector< double > &fluenceLayer)
Definition: PixelModuleData.cxx:339
PixelModuleData.h
Store pixel constant parameters in PixelModuleData.
SoshiFormat
Definition: PixelModuleDataStream.h:20
PixelModuleData::setBLayerTimingIndex
void setBLayerTimingIndex(const std::vector< float > &BLayerTimingIndex)
Definition: PixelModuleData.cxx:269
operator>>
std::istream & operator>>(std::istream &in, PixelModuleData &c)
Definition: PixelModuleDataStream.cxx:196
PixelModuleData::setLayer1TimingProbability
void setLayer1TimingProbability(const std::vector< float > &Layer1TimingProbability)
Definition: PixelModuleData.cxx:277
python.compressB64.c
def c
Definition: compressB64.py:93
operator<<
std::ostream & operator<<(std::ostream &out, const PixelModuleData &c)
Definition: PixelModuleDataStream.cxx:79