ATLAS Offline Software
Data.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "LArSamplesMon/Data.h"
6 #include "TMath.h"
7 
10 #include "LArSamplesMon/History.h"
11 #include "LArCafJobs/CellInfo.h"
13 #include "LArCafJobs/EventData.h"
15 #include "LArSamplesMon/OFC.h"
17 
18 #include <iostream>
19 #include <fstream>
20 
21 using std::cout;
22 using std::endl;
23 
24 using namespace LArSamples;
25 
26 
27 int Data::run() const { return eventData()->run(); }
28 int Data::event() const { return eventData()->event(); }
29 int Data::lumiBlock() const { return eventData()->lumiBlock(); }
30 int Data::bunchId() const { return eventData()->bunchId(); }
31 
32 Data::Data(const DataContainer& container, const EventData& eventData, const History* history, int index, bool takeOwnership)
33  : AbsShape(), m_container(takeOwnership ? &container : new DataContainer(container)), m_eventData(&eventData),
34  m_history(history), m_index(index)
35 {
37 }
38 
39 
40 Data::Data(const Data& other, const EventData* eventData, const History* history, int index)
41  : AbsShape(), m_container(new DataContainer(other.container())),
42  m_eventData(eventData ? eventData : other.eventData()),
43  m_history(history ? history : other.m_history), m_index(index >= 0 ? index : other.m_index)
44 {
46 }
47 
48 
50 {
52  delete m_container;
53 }
54 
55 
57 {
59  delete this;
60  return container;
61 }
62 
63 
64 double Data::noise() const
65 {
66  return (m_container->corrs().empty() ? 0 : TMath::Sqrt(m_container->corrs()[0]));
67 }
68 
69 double Data::adcMax_new() const
70 {
71  return ((energy()/noise())*pedestalRMS());
72 
73 }
74 
75 double Data::covariance(unsigned int i, unsigned int j) const
76 {
77  if (i >= nSamples() || j >= nSamples()) return 0;
78  const std::vector<float>& corrs = m_container->corrs();
79  unsigned int index = TMath::Abs(int(i) - int(j)); // we use time-translation-invariant correlations...
80  if (index >= corrs.size()) return 0;
81  double corr = corrs[index];
82  return corr*pedestalRMS()*pedestalRMS()/(noise()*noise()); // hack to correct the noise per sample/ADC_max noise error
83 }
84 
85 
86 double Data::covarianceMeV(unsigned int i, unsigned int j) const
87 {
88  double adc2mev = adc2MeV();
89  if (adc2mev < 0) return 0;
90  return covariance(i,j)*adc2mev*adc2mev; // we use time-translation-invariant correlations...
91  //return (i == j ? m_corrs[0] : 0); // temporary
92 }
93 
94 
95 std::vector<float> Data::pedestalSubtractedSamples() const
96 {
97  std::vector<float> samples;
98 
99  for (unsigned int i = 0; i < nSamples(); i++)
100  samples.push_back(pedestalSubtractedSample(i));
101 
102  return samples;
103 }
104 
105 
107 {
108  return ((status() >> 16) & 0x1) != 0;
109 }
110 
112 {
113  return ((status() >> (error + 17)) & 0x1) != 0;
114 }
115 
117 {
118  if (error == LArFebErrorSummary::Parity) return "Parity";
119  if (error == LArFebErrorSummary::BCID) return "BCID";
120  if (error == LArFebErrorSummary::SampleHeader) return "SampleHeader";
121  if (error == LArFebErrorSummary::EVTID) return "EVTID";
122  if (error == LArFebErrorSummary::ScacStatus) return "ScacStatus";
123  if (error == LArFebErrorSummary::ScaOutOfRange) return "ScaOutOfRange";
124  if (error == LArFebErrorSummary::GainMismatch) return "GainMismatch";
125  if (error == LArFebErrorSummary::TypeMismatch) return "TypeMismatch";
126  if (error == LArFebErrorSummary::NumOfSamples) return "NumOfSamples";
127  if (error == LArFebErrorSummary::EmptyDataBlock) return "EmptyDataBlock";
128  if (error == LArFebErrorSummary::DspBlockSize) return "DspBlockSize";
129  if (error == LArFebErrorSummary::CheckSum) return "CheckSum";
130  if (error == LArFebErrorSummary::MissingHeader) return "MissingHeader";
131  return "";
132 }
133 
134 
135 TString Data::problems(bool sayNone) const
136 {
137  if (isDisconnected()) return "DISCONNECTED";
138 
139 /*
140  TString problems = "";
141  for (CaloBadChannel::CALOPROBLEM pb = CaloBadChannel::DEAD; pb < CaloBadChannel::NPB; pb = CaloBadChannel::CALOPROBLEM(pb + 1))
142  if (problem(pb)) {
143  if (problems != "") problems += " ";
144  problems += str(pb);
145  }
146 */
147 
148  TString problems = "";
149  if (problems =="" && sayNone) problems = "None";
150  return problems;
151 }
152 
153 
154 bool Data::isValid() const
155 {
156  if (!m_container) return false;
157  if (!container().isValid()) return false;
158  return true;
159 }
160 
161 
162 short Data::maxSample() const
163 {
164  int maxPos = maxPosition();
165  if (maxPos >= 0) return sample(maxPos);
166  return -1;
167 }
168 
169 short Data::minSample() const
170 {
171  int minPos = minPosition();
172  if (minPos >= 0) return sample(minPos);
173  return -1;
174 }
175 
176 
178 {
179  return new SimpleShape(*this, 1, -ofcTime());
180 }
181 
182 
184 {
185  if (!m_history) return nullptr;
187 }
188 
189 
191 {
192  if (!m_history) return nullptr;
194 }
195 
196 
197 double Data::chi2() const
198 {
199  if (!m_history) return 0;
200  return m_history->chi2(m_index);
201 }
202 
203 
204 double Data::_chi2_noCorr(const DataFuncArgs&) const
205 {
206  if (!m_history) return 0;
207  return m_history->chi2(m_index, -1, -1, DefaultChi2, NoShapeError);
208 }
209 
210 
211 double Data::_chi2_ringCorr(const DataFuncArgs&) const
212 {
213  if (!m_history) return 0;
214  return m_history->chi2(m_index, -1, -1, DefaultChi2, RingShapeError);
215 }
216 
217 
218 double Data::_chi2_cellCorr(const DataFuncArgs&) const
219 {
220  if (!m_history) return 0;
221  return m_history->chi2(m_index, -1, -1, DefaultChi2, CellShapeError);
222 }
223 
224 
225 double Data::_chi2_k(const DataFuncArgs& args) const
226 {
227  if (!m_history) return 0;
228  return m_history->chi2_k(m_index, args.x1);
229 }
230 
231 
232 bool Data::calcRefit(double& chi2, double& k, double& dT) const
233 {
235  //cout << "We're refitting " << _i << " of " << _history->cellInfo()->location(1) << endl;
238  if (!reference) return false;
239  bool result = fitter.fit(*this, *reference, k, dT, chi2, sed);
240  delete reference;
241  return result;
242 }
243 
244 
245 double Data::_refitDeltaT(const DataFuncArgs&) const
246 {
247  double chi2, k, dT;
248  if (!calcRefit(chi2, k, dT)) return -9999;
249  return dT;
250 }
251 
252 
253 double Data::_refitScale(const DataFuncArgs&) const
254 {
255  double chi2, k, dT;
256  if (!calcRefit(chi2, k, dT)) return -1;
257  return k;
258 }
259 
260 
261 double Data::_refitChi2(const DataFuncArgs&) const
262 {
263  double chi2, k, dT;
264  if (!calcRefit(chi2, k, dT)) return -1;
265  return chi2;
266 }
267 
268 
269 bool Data::calcAdjust(double& k, double& dT) const
270 {
271  if (!m_history) return false;
272  OFC* ofc = m_history->ofc(m_index);
273  if (!ofc) return false;
274 
275  k = ofc->A(*this)/adcMax();
276  dT = ofc->time(*this);
277  delete ofc;
278  return true;
279 }
280 
281 
282 double Data::_adjDeltaT(const DataFuncArgs&) const
283 {
284  double k, dT;
285  if (!calcAdjust(k, dT)) return -9999;
286  return dT;
287 }
288 
289 
290 double Data::_adjScale(const DataFuncArgs&) const
291 {
292  double k, dT;
293  if (!calcAdjust(k, dT)) return -1;
294  return k;
295 }
296 
297 
298 int Data::_iEta(const DataFuncArgs&) const
299 {
300  if (!m_history) return 0;
301  return m_history->cellInfo()->iEta();
302 }
303 
304 
305 int Data::_iPhi(const DataFuncArgs&) const
306 {
307  if (!m_history) return 0;
308  return m_history->cellInfo()->iPhi();
309 }
310 
311 
312 int Data::_region(const DataFuncArgs&) const
313 {
314  if (!m_history) return 0;
315  return m_history->cellInfo()->region();
316 }
317 
318 
319 int Data::_calo(const DataFuncArgs&) const
320 {
321  if (!m_history) return 0;
322  return m_history->cellInfo()->calo();
323 }
324 
325 
326 int Data::_layer(const DataFuncArgs&) const
327 {
328  if (!m_history) return 0;
329  return m_history->cellInfo()->layer();
330 }
331 
332 
334 {
335  if (!m_history) return 0;
336  return m_history->cellInfo()->feedThrough();
337 }
338 
339 
340 int Data::_slot(const DataFuncArgs&) const
341 {
342  if (!m_history) return 0;
343  return m_history->cellInfo()->slot();
344 }
345 
346 
347 int Data::_channel(const DataFuncArgs&) const
348 {
349  if (!m_history) return 0;
350  return m_history->cellInfo()->channel();
351 }
352 
353 
354 int Data::_hash(const DataFuncArgs&) const
355 {
356  if (!m_history) return 0;
357  return m_history->hash();
358 }
359 
360 
361 int Data::_ring(const DataFuncArgs&) const
362 {
363  if (!m_history) return 0;
364  return m_history->cellInfo()->globalPhiRing();
365 }
366 
367 
368 int Data::_nData(const DataFuncArgs&) const
369 {
370  if (!m_history) return 0;
371  return m_history->nData();
372 }
373 
374 
375 double Data::_timeNoTOF(const DataFuncArgs&) const
376 {
377  if (!m_history) return -9999;
378  return ofcTime() + m_history->cellInfo()->position().Mag()/(TMath::C()*1E-6); // 10^-6 to convert to mm/ns
379 }
380 
381 
383 {
384  if (!m_history) return -9999;
385  return _timeNoTOF(args) + m_history->cellInfo()->position().z()/(TMath::C()*1E-6); // 10^-6 to convert to mm/ns
386 }
387 
388 
390 {
391  if (!m_history) return -9999;
392  return _timeNoTOF(args) - m_history->cellInfo()->position().z()/(TMath::C()*1E-6); // 10^-6 to convert to mm/ns
393 }
394 
395 
396 double Data::_peakSignif(const DataFuncArgs&) const
397 {
398  return maxValue()/pedestalRMS();
399 }
400 
401 
402 double Data::_energySignif(const DataFuncArgs&) const
403 {
404  return energy()/noise();
405 }
406 
407 
408 TVectorD Data::deltas() const
409 {
410  if (!m_history) return TVectorD();
411  return m_history->deltas(m_index);
412 }
413 
414 
415 TVectorD Data::residuals() const
416 {
417  if (!m_history || adcMax() < 0) return TVectorD();
418  TVectorD resv = m_history->deltas(m_index);
419  for (int i = 0; i < resv.GetNrows(); i++) resv(i) /= adcMax();
420  return resv;
421 }
422 
423 
424 double Data::delta(short sample) const
425 {
426  double val = 0;
427  if (!m_history || !m_history->delta(m_index, sample, val)) return -9999;
428  return val;
429 }
430 
431 
432 double Data::residual(short sample) const
433 {
434  double val = 0;
435  if (!m_history || adcMax() < 0 || !m_history->delta(m_index, sample, val)) return -9999;
436  return val/adcMax();
437 }
438 
439 
441 {
442  if (!m_history) return -999;
444  return (sed ? sed->n() : 0);
445 }
446 
447 
448 double Data::residualOffset(short sample, bool scale) const
449 {
450  double val = 0;
451  if (!m_history || !m_history->residualOffset(m_index, sample, val, (scale ? -1 : 1))) return -9999;
452  return val;
453 }
454 
455 
456 double Data::xi(short sample, ShapeErrorType type, CaloGain::CaloGain g, bool xip) const
457 {
458  if (!m_history) return -999;
459  //njpb don't see the point of next line, commenting out
460  //if (g != CaloGain::UNKNOWNGAIN && type != RingShapeError) type = CellShapeError;
462  if (!sed) return -999;
463  double val = (sed->isInRange(sample) ? (xip ? sed->xip()(sample) : sed->xi()(sample)) : -999);
464  delete sed;
465  return val;
466 }
467 
468 
470 {
471  if (!m_history) return -1;
473  if (!sed) return -1;
474  double val = TMath::Sqrt(sed->xi().Norm2Sqr());
475  delete sed;
476  return val;
477 }
478 
479 
481 {
482  return xi(sample, type, g, true);
483 }
484 
485 
486 double Data::residualError(short sample1, short sample2, bool scale) const
487 {
488  double val = 0;
489  if (!m_history || !m_history->residualError(m_index, sample1, sample2, val, scale)) return -9999;
490  return val;
491 }
492 
493 
494 double Data::_x(const DataFuncArgs&) const { return m_history->cellInfo()->position().X(); }
495 double Data::_y(const DataFuncArgs&) const { return m_history->cellInfo()->position().Y(); }
496 double Data::_z(const DataFuncArgs&) const { return m_history->cellInfo()->position().Z(); }
497 double Data::_rt(const DataFuncArgs&) const { return m_history->cellInfo()->rt(); }
498 double Data::_eta(const DataFuncArgs&) const { return m_history->cellInfo()->eta(); }
499 double Data::_phi(const DataFuncArgs&) const { return m_history->cellInfo()->phi(); }
500 
501 
503 {
504  if (gain == CaloGain::LARHIGHGAIN) return "HIGH";
505  if (gain == CaloGain::LARMEDIUMGAIN) return "MEDIUM";
506  if (gain == CaloGain::LARLOWGAIN) return "LOW";
507  return "";
508 }
509 
510 
511 TString Data::description(unsigned int verbosity) const
512 {
513  TString desc = "";
514  desc += Form("%d samples, ", nSamples());
515  desc += "gain = " + gainStr(gain()) + ", ";
516  desc += Form("energy = %6.1f MeV, ", energy());
517  if (verbosity >= 2) desc += Form("ADCMax = %6.1f, ", adcMax());
518  desc += Form("time = %6.1f ns, ", ofcTime());
519  if (verbosity >= 2) desc += Form("chi^2/n = %6.1f, ", chi2());
520  desc += Form("run = %d, event = %d, ", run(), event());
521  desc += Form("problems = %s", problems(true).Data());
522  return desc;
523 }
524 
525 
526 bool Data::isPassed(const TString& bitName) const
527 {
528  return (eventData() ? eventData()->isPassed(bitName) : false);
529 }
530 
531 
533 {
534  if (adcMax() < 0) return false;
535 
536  CaloId caloId = (m_history ? m_history->cellInfo()->calo() : UNKNOWN_CALO);
537  //short layer = (m_history ? m_history->cellInfo()->layer() : -1);
538 
539  //if (Id::matchCalo(caloId, FCAL) && energy()/noise() < 250) return false;
540  if (Id::matchCalo(caloId, FCAL)) return false;
541  if (Id::matchCalo(caloId, HEC) && energy()/noise() < 20) return false;
542  if (Id::matchCalo(caloId, EMEC_INNER) && energy()/noise() < 250) return false;
543  if (Id::matchCalo(caloId, EMEC_OUTER) && energy()/noise() < 50) return false;
544  if (Id::matchCalo(caloId, EMB) && energy()/noise() < 30) return false;
545 
546  if (Id::matchCalo(caloId, HEC)) {
547  if (TMath::Abs(ofcTime()) > 10) return false;
548  }
549  else {
550  if (TMath::Abs(ofcTime()) > 5) return false;
551  }
552 
553  return true;
554 }
555 
556 double Data::upstreamEnergy() const
557 {
558  if (!m_history) return -1;
560 }
561 
562 double Data::_ofcSigma(const DataFuncArgs& args) const
563 {
564  double result = -9999;
565  if (!m_history) return result;
566  OFC* ofc = m_history->ofc(m_index);
567  if (ofc->isInRange(args.i1))
568  result = TMath::Sqrt(ofc->Gamma()(args.i1, args.i1));
569  delete ofc;
570  return result;
571 }
572 
573 
574 double Data::_ofcGamma(const DataFuncArgs& args) const
575 {
576  double result = -9999;
577  if (!m_history) return result;
578  OFC* ofc = m_history->ofc(m_index);
579  if (ofc->isInRange(args.i1) && ofc->isInRange(args.i2))
580  result = ofc->Gamma()(args.i1, args.i2);
581  delete ofc;
582  return result;
583 }
584 
585 
586 double Data::_upstreamERatio(const DataFuncArgs&) const
587 {
588  double upe = upstreamEnergy();
589  if (upe < 0 || energy() == 0) return -1;
590  return upe/energy();
591 }
592 
593 
595 {
596  if (!m_history) return -1;
597  return m_history->chi2Anomaly(args.x1);
598 }
599 
600 double Data::timeClCorr() const
601 {
602  if (!m_history) return -9999.;
603  Double_t timeClCorr=-99.;
604 
605  if(run()==203636) timeClCorr = ofcTime() + 0.04;
606  else if(run()==203680) timeClCorr = ofcTime() + 0.109155;
607  else if(run()==203719) timeClCorr = ofcTime() + 0.141762;
608  else if(run()==203745) timeClCorr = ofcTime() - 0.107597;
609  else if(run()==203779) timeClCorr = ofcTime() - 0.0032581;
610  else if(run()==203876) timeClCorr = ofcTime() + 0.109328;
611  else if(run()==203934) timeClCorr = ofcTime() - 0.0404719;
612  else if(run()==204073) timeClCorr = ofcTime() - 0.0244807;
613  else if(run()==204153) timeClCorr = ofcTime() + 0.185949;
614  else if(run()==204158) timeClCorr = ofcTime() + 0.0383347;
615  else if(run()==204240) timeClCorr = ofcTime() + 0.0635586;
616  else if(run()==204265) timeClCorr = ofcTime() + 0.13898;
617  else if(run()==204416) timeClCorr = ofcTime() + 0.1074;
618  else if(run()==204564) timeClCorr = ofcTime() + 0.0369925;
619  else if(run()==210302) timeClCorr = ofcTime() - 0.2;
620  else if(run()==210308) timeClCorr = ofcTime() - 0.2;
621  else timeClCorr = ofcTime();
622 
623  return timeClCorr;
624 }
625 
626 double Data::timeECorr() const
627 {
628  if (!m_history) return -9999.;
629  Double_t timeCorr=-99.;
630 
631  // Int_t calo = m_history->cellInfo()->calo();
632  // Double_t p0, p1, p2, p3;
633 
634  timeCorr=ofcTime();
635 
636  return timeCorr;
637 }
638 
639 double Data::_timeECorr(const DataFuncArgs&) const
640 {
641  // Modify this to add Isabelle's correction
642  return ofcTime();
643 }
LArSamples::Data::description
TString description(unsigned int verbosity=1) const
Definition: Data.cxx:511
LArSamples::Data::_layer
int _layer(const DataFuncArgs &args) const
Definition: Data.cxx:326
LArSamples::Data::sample
const short & sample(unsigned int i) const
Definition: Data.h:96
LArSamples::Data::Data
Data(const DataContainer &container, const EventData &eventData, const History *history, int index, bool takeOwnership=false)
Constructor
Definition: Data.cxx:32
LArFebErrorSummary::CheckSum
@ CheckSum
Definition: LArFebErrorSummary.h:28
LArSamples::Data::upstreamEnergy
double upstreamEnergy() const
Definition: Data.cxx:556
LArSamples::FitterData::fitter
const ShapeFitter * fitter
Definition: ShapeFitter.cxx:23
LArSamples::Data::_eta
double _eta(const DataFuncArgs &args) const
Definition: Data.cxx:498
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
LArSamples::Data::febError
bool febError(LArFebErrorSummary::LArFebErrorType error) const
Definition: Data.cxx:111
LArSamples::Data::_chi2_noCorr
double _chi2_noCorr(const DataFuncArgs &args) const
Definition: Data.cxx:204
LArSamples::Data::noise
double noise() const
Definition: Data.cxx:64
LArSamples::Data::calcAdjust
bool calcAdjust(double &k, double &dT) const
Definition: Data.cxx:269
LArSamples::HEC
@ HEC
Definition: CaloId.h:26
LArSamples::Data::residuals
TVectorD residuals() const
Definition: Data.cxx:415
LArSamples::History::hash
unsigned int hash() const
Definition: History.h:91
LArSamples::CellInfo::globalPhiRing
short globalPhiRing() const
Definition: CellInfo.cxx:125
LArSamples::Data::~Data
virtual ~Data()
Destructor.
Definition: Data.cxx:49
LArSamples::CellInfo::slot
short slot() const
Definition: CellInfo.h:68
LArSamples::Data::container
const DataContainer & container() const
Definition: Data.h:161
get_generator_info.result
result
Definition: get_generator_info.py:21
LArSamples::CellInfo::calo
CaloId calo() const
Definition: CellInfo.h:50
LArSamples::Id::matchCalo
static bool matchCalo(CaloId id, CaloId idSpec)
Definition: CaloId.cxx:188
LArSamples::Data::timeECorr
double timeECorr() const
Definition: Data.cxx:626
LArSamples::Data::deltas
TVectorD deltas() const
Definition: Data.cxx:408
LArSamples::History::scaledErrorData
const ScaledErrorData * scaledErrorData(unsigned int i, double adcMax=-1, double time=Definitions::none, ShapeErrorType shapeErrorType=BestShapeError) const
Definition: History.cxx:346
LArSamples::CellInfo::rt
double rt() const
Definition: CellInfo.h:92
LArSamples::History::chi2Anomaly
double chi2Anomaly(double chi2Cut, unsigned int nDof=3) const
Definition: History.cxx:661
LArSamples::Data::_adjDeltaT
double _adjDeltaT(const DataFuncArgs &args) const
Definition: Data.cxx:282
SimpleShape.h
LArSamples::Data::m_index
unsigned int m_index
Definition: Data.h:289
LArSamples::Data::pedestalSubtractedSample
float pedestalSubtractedSample(unsigned int i) const
Definition: Data.h:97
LArSamples::Data::lumiBlock
int lumiBlock() const
Definition: Data.cxx:29
LArSamples::Data::delta
double delta(short sample) const
Definition: Data.cxx:424
LArSamples::EventData::event
int event() const
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:44
LArSamples::History::cellInfo
const CellInfo * cellInfo() const
Definition: History.h:61
LArSamples::Data::adc2MeV
double adc2MeV() const
Definition: Data.h:131
LArSamples::History::referenceShape
SimpleShape * referenceShape(unsigned int k, double adcMax=-1, double time=Definitions::none, bool samplesOnly=false) const
Definition: History.cxx:544
LArSamples::Data::_region
int _region(const DataFuncArgs &args) const
Definition: Data.cxx:312
index
Definition: index.py:1
LArSamples::Data::adcMax
double adcMax() const
Definition: Data.h:129
CaloGain::UNKNOWNGAIN
@ UNKNOWNGAIN
Definition: CaloGain.h:20
LArSamples::History
Definition: History.h:40
DMTest::C
C_v1 C
Definition: C.h:26
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
LArSamples::Data::covarianceMeV
double covarianceMeV(unsigned int i, unsigned int j) const
Definition: Data.cxx:86
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
LArSamples::CellInfo::feedThrough
short feedThrough() const
Definition: CellInfo.h:65
ClassCounts.h
LArSamples::Data::calcRefit
bool calcRefit(double &chi2, double &k, double &dT) const
Definition: Data.cxx:232
LArSamples::Data::_ring
int _ring(const DataFuncArgs &args) const
Definition: Data.cxx:361
LArSamples::SimpleShape
Definition: SimpleShape.h:25
LArSamples::Data::run
int run() const
Definition: Data.cxx:27
LArSamples::Data::m_history
const History * m_history
Definition: Data.h:288
LArSamples::Data::_nData
int _nData(const DataFuncArgs &args) const
Definition: Data.cxx:368
LArSamples::EMEC_INNER
@ EMEC_INNER
Definition: CaloId.h:25
OFC.h
LArSamples::Data::chi2
double chi2() const
Definition: Data.cxx:197
LArSamples
Definition: AbsShape.h:24
LArSamples::Data::residual
double residual(short sample) const
Definition: Data.cxx:432
LArSamples::Data::_refitDeltaT
double _refitDeltaT(const DataFuncArgs &args) const
Definition: Data.cxx:245
LArSamples::Data::ofcTime
double ofcTime() const
Definition: Data.h:116
LArSamples::CellInfo::phi
double phi() const
Definition: CellInfo.h:94
reference
Definition: hcg.cxx:437
LArSamples::History::residualError
bool residualError(unsigned int i, short sample1, short sample2, double &offset, double adcMax=-1, double time=Definitions::none) const
Definition: History.cxx:399
LArSamples::CellInfo::iEta
short iEta() const
Definition: CellInfo.h:56
LArSamples::Data::_energySignif
double _energySignif(const DataFuncArgs &args) const
Definition: Data.cxx:402
LArSamples::Data::_calo
int _calo(const DataFuncArgs &args) const
Definition: Data.cxx:319
LArSamples::History::ofc
OFC * ofc(unsigned int i, int lwb=-1, int upb=-1, double time=Definitions::none, bool useCorrs=true) const
Definition: History.cxx:204
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
LArSamples::ShapeFitter::fit
bool fit(const LArSamples::AbsShape &data, const AbsShape &reference, double &k, double &deltaT, double &chi2, const ScaledErrorData *sed=0) const
Definition: ShapeFitter.cxx:32
MonitorBase.h
LArSamples::Data::residualError
double residualError(short sample1, short sample2=-1, bool scale=true) const
Definition: Data.cxx:486
LArSamples::Data::event
int event() const
Definition: Data.cxx:28
LArSamples::Data::referenceShape
SimpleShape * referenceShape() const
Definition: Data.cxx:183
LArSamples::ScaledErrorData
Definition: ScaledErrorData.h:17
LArSamples::Data::_iPhi
int _iPhi(const DataFuncArgs &args) const
Definition: Data.cxx:305
LArSamples::Data::_hash
int _hash(const DataFuncArgs &args) const
Definition: Data.cxx:354
LArSamples::ShapeErrorData::xip
const TVectorD & xip() const
Definition: ShapeErrorData.h:41
LArSamples::EventData::bunchId
unsigned int bunchId() const
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:50
LArSamples::Data::_chi2_ringCorr
double _chi2_ringCorr(const DataFuncArgs &args) const
Definition: Data.cxx:211
LArSamples::Data::_ofcSigma
double _ofcSigma(const DataFuncArgs &args) const
Definition: Data.cxx:562
LArSamples::Data::_phi
double _phi(const DataFuncArgs &args) const
Definition: Data.cxx:499
LArSamples::Data::bunchId
int bunchId() const
Definition: Data.cxx:30
LArSamples::Data::adcMax_new
double adcMax_new() const
Definition: Data.cxx:69
LArFebErrorSummary::TypeMismatch
@ TypeMismatch
Definition: LArFebErrorSummary.h:28
LArSamples::IndexRange::isInRange
bool isInRange(int i) const
Definition: IndexRange.h:27
CaloCondBlobAlgs_fillNoiseFromASCII.desc
desc
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:54
LArSamples::Data::_iEta
int _iEta(const DataFuncArgs &args) const
Definition: Data.cxx:298
LArSamples::CellInfo::position
TVector3 position() const
Definition: CellInfo.cxx:204
LArSamples::EMB
@ EMB
Definition: CaloId.h:25
LArSamples::Data::_feedThrough
int _feedThrough(const DataFuncArgs &args) const
Definition: Data.cxx:333
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:100
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArSamples::Data::_chi2_k
double _chi2_k(const DataFuncArgs &args) const
Definition: Data.cxx:225
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
LArSamples::Data::gainStr
static TString gainStr(CaloGain::CaloGain gain)
Definition: Data.cxx:502
LArSamples::Data::_adjScale
double _adjScale(const DataFuncArgs &args) const
Definition: Data.cxx:290
01SubmitToGrid.samples
samples
Definition: 01SubmitToGrid.py:58
LArSamples::ClassCounts::decrementInstanceCount
void decrementInstanceCount() const
Definition: LArCafJobs/LArCafJobs/ClassCounts.h:33
LArFebErrorSummary::ScacStatus
@ ScacStatus
Definition: LArFebErrorSummary.h:27
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:522
LArSamples::History::chi2_k
double chi2_k(int i, double k, int lwb=-1, int upb=-1, int chi2Params=DefaultChi2) const
Definition: History.cxx:177
LArSamples::Data::_peakSignif
double _peakSignif(const DataFuncArgs &args) const
Definition: Data.cxx:396
LArSamples::Data::xiNorm
double xiNorm(ShapeErrorType shapeErrorType=BestShapeError) const
Definition: Data.cxx:469
LArSamples::EMEC_OUTER
@ EMEC_OUTER
Definition: CaloId.h:25
LArSamples::ShapeErrorType
ShapeErrorType
Definition: Definitions.h:21
LArSamples::EventData::run
int run() const
Definition: EventData.cxx:59
LArSamples::Data::_timeECorr
double _timeECorr(const DataFuncArgs &args) const
Definition: Data.cxx:639
LArSamples::Data::_timeForSplash2
double _timeForSplash2(const DataFuncArgs &args) const
Definition: Data.cxx:389
LArSamples::Data::xip
double xip(short sample, ShapeErrorType shapeErrorType=BestShapeError, CaloGain::CaloGain g=CaloGain::UNKNOWNGAIN) const
Definition: Data.cxx:480
LArSamples::Data::isDisconnected
bool isDisconnected() const
Definition: Data.cxx:106
LArSamples::History::nData
unsigned int nData() const
Definition: History.h:56
LArSamples::Data::m_container
const DataContainer *const m_container
Definition: Data.h:286
LArSamples::Data::scaledErrorData
const ScaledErrorData * scaledErrorData() const
Definition: Data.cxx:190
LArSamples::History::chi2
double chi2(int i, int lwb=-1, int upb=-1, int chi2Params=DefaultChi2, ShapeErrorType shapeErrorType=BestShapeError, unsigned int *nDof=0) const
Definition: History.cxx:161
EventData.h
LArSamples::Data::_timeForSplash1
double _timeForSplash1(const DataFuncArgs &args) const
Definition: Data.cxx:382
LArSamples::UNKNOWN_CALO
@ UNKNOWN_CALO
Definition: CaloId.h:23
LArSamples::OFC
Definition: OFC.h:27
LArSamples::Data::maxSample
short maxSample() const
Definition: Data.cxx:162
LArSamples::Data::covariance
double covariance(unsigned int i, unsigned int j) const
Definition: Data.cxx:75
LArSamples::History::delta
bool delta(unsigned int i, unsigned int sample, double &del) const
Definition: History.cxx:363
LArSamples::Data::_chi2_cellCorr
double _chi2_cellCorr(const DataFuncArgs &args) const
Definition: Data.cxx:218
LArSamples::Data::_timeNoTOF
double _timeNoTOF(const DataFuncArgs &args) const
Definition: Data.cxx:375
LArSamples::ShapeErrorData::n
int n() const
Definition: ShapeErrorData.h:54
LArSamples::Data
Definition: Data.h:77
LArSamples::ClassCounts::incrementInstanceCount
void incrementInstanceCount() const
Definition: LArCafJobs/LArCafJobs/ClassCounts.h:32
LArSamples::AbsShape::maxValue
double maxValue(bool withErrors=false) const
Definition: AbsShape.cxx:30
LArSamples::Data::resCorrN
double resCorrN(ShapeErrorType shapeErrorType=BestShapeError) const
Definition: Data.cxx:440
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
LArSamples::Data::dissolve
const DataContainer * dissolve()
Definition: Data.cxx:56
LArSamples::Data::_upstreamERatio
double _upstreamERatio(const DataFuncArgs &args) const
Definition: Data.cxx:586
LArFebErrorSummary::EmptyDataBlock
@ EmptyDataBlock
Definition: LArFebErrorSummary.h:28
LArSamples::Data::gain
CaloGain::CaloGain gain() const
Definition: Data.h:90
LArFebErrorSummary::EVTID
@ EVTID
Definition: LArFebErrorSummary.h:27
covarianceTool.verbosity
verbosity
Definition: covarianceTool.py:513
LArSamples::Data::_slot
int _slot(const DataFuncArgs &args) const
Definition: Data.cxx:340
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition: CaloGain.h:18
LArSamples::Data::_chi2Anomaly
double _chi2Anomaly(const DataFuncArgs &args) const
Definition: Data.cxx:594
LArSamples::CaloId
CaloId
Definition: CaloId.h:21
LArSamples::CellInfo::iPhi
short iPhi() const
Definition: CellInfo.h:62
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
LArSamples::DefaultChi2
@ DefaultChi2
Definition: Chi2Calc.h:24
LArFebErrorSummary::DspBlockSize
@ DspBlockSize
Definition: LArFebErrorSummary.h:28
LArSamples::CellInfo::channel
short channel() const
Definition: CellInfo.h:76
LArSamples::FCAL
@ FCAL
Definition: CaloId.h:26
CaloGain::LARMEDIUMGAIN
@ LARMEDIUMGAIN
Definition: CaloGain.h:18
LArSamples::DataContainer
Definition: DataContainer.h:25
LArSamples::Data::problems
TString problems(bool sayNone=false) const
Definition: Data.cxx:135
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
LArSamples::Data::residualOffset
double residualOffset(short sample, bool scale=true) const
Definition: Data.cxx:448
LArSamples::History::shapeErrorData
const ShapeErrorData * shapeErrorData(CaloGain::CaloGain gain, ShapeErrorType shapeErrorType=BestShapeError, const Residual *res=0) const
Definition: History.cxx:299
LArFebErrorSummary::Parity
@ Parity
Definition: LArFebErrorSummary.h:27
LArSamples::AbsShape
Definition: AbsShape.h:28
LArSamples::ShapeFitter
Definition: ShapeFitter.h:24
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
LArSamples::Data::str
static TString str(LArFebErrorSummary::LArFebErrorType error)
Definition: Data.cxx:116
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArSamples::History::upstreamEnergy
double upstreamEnergy(unsigned int k) const
Definition: History.cxx:643
LArSamples::Data::status
int status() const
Definition: Data.h:126
dq_make_web_display.reference
reference
Definition: dq_make_web_display.py:44
LArFebErrorSummary::LArFebErrorType
LArFebErrorType
Definition: LArFebErrorSummary.h:26
LArSamples::DataFuncArgs
Definition: Data.h:39
LArSamples::History::deltas
TVectorD deltas(unsigned int i, int lwb=-1, int upb=-1, bool correct=true) const
Definition: History.cxx:373
LArSamples::CellInfo::region
short region() const
Definition: CellInfo.h:59
LArSamples::Data::timeAlignedShape
SimpleShape * timeAlignedShape() const
Definition: Data.cxx:177
LArSamples::History::residualOffset
bool residualOffset(unsigned int i, short sample, double &offset, double adcMax=-1, double time=Definitions::none) const
Definition: History.cxx:388
LArSamples::Data::xi
double xi(short sample, ShapeErrorType shapeErrorType=BestShapeError, CaloGain::CaloGain g=CaloGain::UNKNOWNGAIN, bool xip=false) const
Definition: Data.cxx:456
LArSamples::CellShapeError
@ CellShapeError
Definition: Definitions.h:21
LArSamples::Data::nSamples
unsigned int nSamples() const
Definition: Data.h:93
Data.h
LArFebErrorSummary::SampleHeader
@ SampleHeader
Definition: LArFebErrorSummary.h:27
LArSamples::EventData::lumiBlock
unsigned int lumiBlock() const
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:47
LArSamples::Data::_x
double _x(const DataFuncArgs &args) const
Definition: Data.cxx:494
LArSamples::Data::minSample
short minSample() const
Definition: Data.cxx:169
LArFebErrorSummary::ScaOutOfRange
@ ScaOutOfRange
Definition: LArFebErrorSummary.h:27
ShapeErrorData.h
LArFebErrorSummary::BCID
@ BCID
Definition: LArFebErrorSummary.h:27
LArSamples::CellInfo::eta
double eta() const
Definition: CellInfo.h:93
LArSamples::Data::_ofcGamma
double _ofcGamma(const DataFuncArgs &args) const
Definition: Data.cxx:574
LArSamples::NoShapeError
@ NoShapeError
Definition: Definitions.h:25
LArSamples::Data::isPassed
bool isPassed(const TString &bitName) const
Definition: Data.cxx:526
LArSamples::ShapeErrorData
Definition: ShapeErrorData.h:19
History.h
LArSamples::AbsShape::maxPosition
int maxPosition() const
Definition: AbsShape.cxx:52
LArSamples::Data::eventData
const EventData * eventData() const
Definition: Data.h:100
CaloGain::LARLOWGAIN
@ LARLOWGAIN
Definition: CaloGain.h:18
LArSamples::ShapeErrorData::xi
const TVectorD & xi() const
Definition: ShapeErrorData.h:40
LArSamples::FitterData::sed
const ScaledErrorData * sed
Definition: ShapeFitter.cxx:26
LArSamples::DataContainer::corrs
const std::vector< float > & corrs() const
Definition: DataContainer.h:83
ShapeFitter.h
LArSamples::Data::pedestalSubtractedSamples
std::vector< float > pedestalSubtractedSamples() const
Definition: Data.cxx:95
LArSamples::Data::_rt
double _rt(const DataFuncArgs &args) const
Definition: Data.cxx:497
error
Definition: IImpactPoint3dEstimator.h:70
ReadOfcFromCool.ofc
ofc
Definition: ReadOfcFromCool.py:110
LArSamples::AbsShape::minPosition
int minPosition() const
Definition: AbsShape.cxx:61
LArSamples::Data::_channel
int _channel(const DataFuncArgs &args) const
Definition: Data.cxx:347
LArSamples::EventData
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:29
LArSamples::Data::_refitScale
double _refitScale(const DataFuncArgs &args) const
Definition: Data.cxx:253
CellInfo.h
LArFebErrorSummary::NumOfSamples
@ NumOfSamples
Definition: LArFebErrorSummary.h:28
LArSamples::Data::timeClCorr
double timeClCorr() const
Definition: Data.cxx:600
LArSamples::Data::pedestalRMS
double pedestalRMS() const
Definition: Data.h:123
LArSamples::CellInfo::layer
short layer() const
Definition: CellInfo.h:53
LArSamples::Data::_z
double _z(const DataFuncArgs &args) const
Definition: Data.cxx:496
LArSamples::Data::index
short index() const
Definition: Data.h:171
LArSamples::Data::_y
double _y(const DataFuncArgs &args) const
Definition: Data.cxx:495
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80
LArSamples::Data::_refitChi2
double _refitChi2(const DataFuncArgs &args) const
Definition: Data.cxx:261
LArSamples::RingShapeError
@ RingShapeError
Definition: Definitions.h:23
LArSamples::Data::goodForShapeCorr
bool goodForShapeCorr() const
Definition: Data.cxx:532
LArSamples::Data::energy
double energy() const
Definition: Data.h:113
fitman.k
k
Definition: fitman.py:528
LArFebErrorSummary::MissingHeader
@ MissingHeader
Definition: LArFebErrorSummary.h:28
LArFebErrorSummary::GainMismatch
@ GainMismatch
Definition: LArFebErrorSummary.h:28
LArSamples::Data::isValid
bool isValid() const
Definition: Data.cxx:154