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 
10 #include "LArSamplesMon/History.h"
11 #include "LArCafJobs/CellInfo.h"
13 #include "LArCafJobs/EventData.h"
15 #include "LArSamplesMon/OFC.h"
17 #include "TMath.h"
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 {
237  if (!reference){
238  delete sed;
239  return false;
240  }
241  bool result = fitter.fit(*this, *reference, k, dT, chi2, sed);
242  delete sed;
243  delete reference;
244  return result;
245 }
246 
247 
248 double Data::_refitDeltaT(const DataFuncArgs&) const
249 {
250  double chi2, k, dT;
251  if (!calcRefit(chi2, k, dT)) return -9999;
252  return dT;
253 }
254 
255 
256 double Data::_refitScale(const DataFuncArgs&) const
257 {
258  double chi2, k, dT;
259  if (!calcRefit(chi2, k, dT)) return -1;
260  return k;
261 }
262 
263 
264 double Data::_refitChi2(const DataFuncArgs&) const
265 {
266  double chi2, k, dT;
267  if (!calcRefit(chi2, k, dT)) return -1;
268  return chi2;
269 }
270 
271 
272 bool Data::calcAdjust(double& k, double& dT) const
273 {
274  if (!m_history) return false;
275  OFC* ofc = m_history->ofc(m_index);
276  if (!ofc) return false;
277 
278  k = ofc->A(*this)/adcMax();
279  dT = ofc->time(*this);
280  delete ofc;
281  return true;
282 }
283 
284 
285 double Data::_adjDeltaT(const DataFuncArgs&) const
286 {
287  double k, dT;
288  if (!calcAdjust(k, dT)) return -9999;
289  return dT;
290 }
291 
292 
293 double Data::_adjScale(const DataFuncArgs&) const
294 {
295  double k, dT;
296  if (!calcAdjust(k, dT)) return -1;
297  return k;
298 }
299 
300 
301 int Data::_iEta(const DataFuncArgs&) const
302 {
303  if (!m_history) return 0;
304  return m_history->cellInfo()->iEta();
305 }
306 
307 
308 int Data::_iPhi(const DataFuncArgs&) const
309 {
310  if (!m_history) return 0;
311  return m_history->cellInfo()->iPhi();
312 }
313 
314 
315 int Data::_region(const DataFuncArgs&) const
316 {
317  if (!m_history) return 0;
318  return m_history->cellInfo()->region();
319 }
320 
321 
322 int Data::_calo(const DataFuncArgs&) const
323 {
324  if (!m_history) return 0;
325  return m_history->cellInfo()->calo();
326 }
327 
328 
329 int Data::_layer(const DataFuncArgs&) const
330 {
331  if (!m_history) return 0;
332  return m_history->cellInfo()->layer();
333 }
334 
335 
337 {
338  if (!m_history) return 0;
339  return m_history->cellInfo()->feedThrough();
340 }
341 
342 
343 int Data::_slot(const DataFuncArgs&) const
344 {
345  if (!m_history) return 0;
346  return m_history->cellInfo()->slot();
347 }
348 
349 
350 int Data::_channel(const DataFuncArgs&) const
351 {
352  if (!m_history) return 0;
353  return m_history->cellInfo()->channel();
354 }
355 
356 
357 int Data::_hash(const DataFuncArgs&) const
358 {
359  if (!m_history) return 0;
360  return m_history->hash();
361 }
362 
363 
364 int Data::_ring(const DataFuncArgs&) const
365 {
366  if (!m_history) return 0;
367  return m_history->cellInfo()->globalPhiRing();
368 }
369 
370 
371 int Data::_nData(const DataFuncArgs&) const
372 {
373  if (!m_history) return 0;
374  return m_history->nData();
375 }
376 
377 
378 double Data::_timeNoTOF(const DataFuncArgs&) const
379 {
380  if (!m_history) return -9999;
381  return ofcTime() + m_history->cellInfo()->position().Mag()/(TMath::C()*1E-6); // 10^-6 to convert to mm/ns
382 }
383 
384 
386 {
387  if (!m_history) return -9999;
388  return _timeNoTOF(args) + m_history->cellInfo()->position().z()/(TMath::C()*1E-6); // 10^-6 to convert to mm/ns
389 }
390 
391 
393 {
394  if (!m_history) return -9999;
395  return _timeNoTOF(args) - m_history->cellInfo()->position().z()/(TMath::C()*1E-6); // 10^-6 to convert to mm/ns
396 }
397 
398 
399 double Data::_peakSignif(const DataFuncArgs&) const
400 {
401  return maxValue()/pedestalRMS();
402 }
403 
404 
405 double Data::_energySignif(const DataFuncArgs&) const
406 {
407  return energy()/noise();
408 }
409 
410 
411 TVectorD Data::deltas() const
412 {
413  if (!m_history) return TVectorD();
414  return m_history->deltas(m_index);
415 }
416 
417 
418 TVectorD Data::residuals() const
419 {
420  if (!m_history || adcMax() < 0) return TVectorD();
421  TVectorD resv = m_history->deltas(m_index);
422  for (int i = 0; i < resv.GetNrows(); i++) resv(i) /= adcMax();
423  return resv;
424 }
425 
426 
427 double Data::delta(short sample) const
428 {
429  double val = 0;
430  if (!m_history || !m_history->delta(m_index, sample, val)) return -9999;
431  return val;
432 }
433 
434 
435 double Data::residual(short sample) const
436 {
437  double val = 0;
438  if (!m_history || adcMax() < 0 || !m_history->delta(m_index, sample, val)) return -9999;
439  return val/adcMax();
440 }
441 
442 
444 {
445  if (!m_history) return -999;
447  return (sed ? sed->n() : 0);
448 }
449 
450 
451 double Data::residualOffset(short sample, bool scale) const
452 {
453  double val = 0;
454  if (!m_history || !m_history->residualOffset(m_index, sample, val, (scale ? -1 : 1))) return -9999;
455  return val;
456 }
457 
458 
459 double Data::xi(short sample, ShapeErrorType type, CaloGain::CaloGain g, bool xip) const
460 {
461  if (!m_history) return -999;
462  //njpb don't see the point of next line, commenting out
463  //if (g != CaloGain::UNKNOWNGAIN && type != RingShapeError) type = CellShapeError;
465  if (!sed) return -999;
466  double val = (sed->isInRange(sample) ? (xip ? sed->xip()(sample) : sed->xi()(sample)) : -999);
467  delete sed;
468  return val;
469 }
470 
471 
473 {
474  if (!m_history) return -1;
476  if (!sed) return -1;
477  double val = TMath::Sqrt(sed->xi().Norm2Sqr());
478  delete sed;
479  return val;
480 }
481 
482 
484 {
485  return xi(sample, type, g, true);
486 }
487 
488 
489 double Data::residualError(short sample1, short sample2, bool scale) const
490 {
491  double val = 0;
492  if (!m_history || !m_history->residualError(m_index, sample1, sample2, val, scale)) return -9999;
493  return val;
494 }
495 
496 
497 double Data::_x(const DataFuncArgs&) const { return m_history->cellInfo()->position().X(); }
498 double Data::_y(const DataFuncArgs&) const { return m_history->cellInfo()->position().Y(); }
499 double Data::_z(const DataFuncArgs&) const { return m_history->cellInfo()->position().Z(); }
500 double Data::_rt(const DataFuncArgs&) const { return m_history->cellInfo()->rt(); }
501 double Data::_eta(const DataFuncArgs&) const { return m_history->cellInfo()->eta(); }
502 double Data::_phi(const DataFuncArgs&) const { return m_history->cellInfo()->phi(); }
503 
504 
506 {
507  if (gain == CaloGain::LARHIGHGAIN) return "HIGH";
508  if (gain == CaloGain::LARMEDIUMGAIN) return "MEDIUM";
509  if (gain == CaloGain::LARLOWGAIN) return "LOW";
510  return "";
511 }
512 
513 
514 TString Data::description(unsigned int verbosity) const
515 {
516  TString desc = "";
517  desc += Form("%d samples, ", nSamples());
518  desc += "gain = " + gainStr(gain()) + ", ";
519  desc += Form("energy = %6.1f MeV, ", energy());
520  if (verbosity >= 2) desc += Form("ADCMax = %6.1f, ", adcMax());
521  desc += Form("time = %6.1f ns, ", ofcTime());
522  if (verbosity >= 2) desc += Form("chi^2/n = %6.1f, ", chi2());
523  desc += Form("run = %d, event = %d, ", run(), event());
524  desc += Form("problems = %s", problems(true).Data());
525  return desc;
526 }
527 
528 
529 bool Data::isPassed(const TString& bitName) const
530 {
531  return (eventData() ? eventData()->isPassed(bitName) : false);
532 }
533 
534 
536 {
537  if (adcMax() < 0) return false;
538 
539  CaloId caloId = (m_history ? m_history->cellInfo()->calo() : UNKNOWN_CALO);
540  //short layer = (m_history ? m_history->cellInfo()->layer() : -1);
541 
542  //if (Id::matchCalo(caloId, FCAL) && energy()/noise() < 250) return false;
543  if (Id::matchCalo(caloId, FCAL)) return false;
544  if (Id::matchCalo(caloId, HEC) && energy()/noise() < 20) return false;
545  if (Id::matchCalo(caloId, EMEC_INNER) && energy()/noise() < 250) return false;
546  if (Id::matchCalo(caloId, EMEC_OUTER) && energy()/noise() < 50) return false;
547  if (Id::matchCalo(caloId, EMB) && energy()/noise() < 30) return false;
548 
549  if (Id::matchCalo(caloId, HEC)) {
550  if (TMath::Abs(ofcTime()) > 10) return false;
551  }
552  else {
553  if (TMath::Abs(ofcTime()) > 5) return false;
554  }
555 
556  return true;
557 }
558 
559 double Data::upstreamEnergy() const
560 {
561  if (!m_history) return -1;
563 }
564 
565 double Data::_ofcSigma(const DataFuncArgs& args) const
566 {
567  double result = -9999;
568  if (!m_history) return result;
569  OFC* ofc = m_history->ofc(m_index);
570  if (ofc->isInRange(args.i1))
571  result = TMath::Sqrt(ofc->Gamma()(args.i1, args.i1));
572  delete ofc;
573  return result;
574 }
575 
576 
577 double Data::_ofcGamma(const DataFuncArgs& args) const
578 {
579  double result = -9999;
580  if (!m_history) return result;
581  OFC* ofc = m_history->ofc(m_index);
582  if (ofc->isInRange(args.i1) && ofc->isInRange(args.i2))
583  result = ofc->Gamma()(args.i1, args.i2);
584  delete ofc;
585  return result;
586 }
587 
588 
589 double Data::_upstreamERatio(const DataFuncArgs&) const
590 {
591  double upe = upstreamEnergy();
592  if (upe < 0 || energy() == 0) return -1;
593  return upe/energy();
594 }
595 
596 
598 {
599  if (!m_history) return -1;
600  return m_history->chi2Anomaly(args.x1);
601 }
602 
603 double Data::timeClCorr() const
604 {
605  if (!m_history) return -9999.;
606  Double_t timeClCorr=-99.;
607 
608  if(run()==203636) timeClCorr = ofcTime() + 0.04;
609  else if(run()==203680) timeClCorr = ofcTime() + 0.109155;
610  else if(run()==203719) timeClCorr = ofcTime() + 0.141762;
611  else if(run()==203745) timeClCorr = ofcTime() - 0.107597;
612  else if(run()==203779) timeClCorr = ofcTime() - 0.0032581;
613  else if(run()==203876) timeClCorr = ofcTime() + 0.109328;
614  else if(run()==203934) timeClCorr = ofcTime() - 0.0404719;
615  else if(run()==204073) timeClCorr = ofcTime() - 0.0244807;
616  else if(run()==204153) timeClCorr = ofcTime() + 0.185949;
617  else if(run()==204158) timeClCorr = ofcTime() + 0.0383347;
618  else if(run()==204240) timeClCorr = ofcTime() + 0.0635586;
619  else if(run()==204265) timeClCorr = ofcTime() + 0.13898;
620  else if(run()==204416) timeClCorr = ofcTime() + 0.1074;
621  else if(run()==204564) timeClCorr = ofcTime() + 0.0369925;
622  else if(run()==210302) timeClCorr = ofcTime() - 0.2;
623  else if(run()==210308) timeClCorr = ofcTime() - 0.2;
624  else timeClCorr = ofcTime();
625 
626  return timeClCorr;
627 }
628 
629 double Data::timeECorr() const
630 {
631  if (!m_history) return -9999.;
632  Double_t timeCorr=-99.;
633 
634  // Int_t calo = m_history->cellInfo()->calo();
635  // Double_t p0, p1, p2, p3;
636 
637  timeCorr=ofcTime();
638 
639  return timeCorr;
640 }
641 
642 double Data::_timeECorr(const DataFuncArgs&) const
643 {
644  // Modify this to add Isabelle's correction
645  return ofcTime();
646 }
LArSamples::Data::description
TString description(unsigned int verbosity=1) const
Definition: Data.cxx:514
LArSamples::Data::_layer
int _layer(const DataFuncArgs &args) const
Definition: Data.cxx:329
LArSamples::Data::sample
const short & sample(unsigned int i) const
Definition: Data.h:91
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:559
LArSamples::FitterData::fitter
const ShapeFitter * fitter
Definition: ShapeFitter.cxx:23
LArSamples::Data::_eta
double _eta(const DataFuncArgs &args) const
Definition: Data.cxx:501
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:272
LArSamples::HEC
@ HEC
Definition: CaloId.h:26
LArSamples::Data::residuals
TVectorD residuals() const
Definition: Data.cxx:418
LArSamples::History::hash
unsigned int hash() const
Definition: History.h:86
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:156
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:629
LArSamples::Data::deltas
TVectorD deltas() const
Definition: Data.cxx:411
LArSamples::History::scaledErrorData
const ScaledErrorData * scaledErrorData(unsigned int i, double adcMax=-1, double time=Definitions::none, ShapeErrorType shapeErrorType=BestShapeError) const
Definition: History.cxx:349
LArSamples::CellInfo::rt
double rt() const
Definition: CellInfo.h:92
ScaledErrorData.h
LArSamples::History::chi2Anomaly
double chi2Anomaly(double chi2Cut, unsigned int nDof=3) const
Definition: History.cxx:658
LArSamples::Data::_adjDeltaT
double _adjDeltaT(const DataFuncArgs &args) const
Definition: Data.cxx:285
SimpleShape.h
LArSamples::Data::m_index
unsigned int m_index
Definition: Data.h:284
LArSamples::Data::pedestalSubtractedSample
float pedestalSubtractedSample(unsigned int i) const
Definition: Data.h:92
LArSamples::Data::lumiBlock
int lumiBlock() const
Definition: Data.cxx:29
LArSamples::Data::delta
double delta(short sample) const
Definition: Data.cxx:427
LArSamples::EventData::event
int event() const
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:44
LArSamples::History::cellInfo
const CellInfo * cellInfo() const
Definition: History.h:56
LArSamples::Data::adc2MeV
double adc2MeV() const
Definition: Data.h:126
LArSamples::History::referenceShape
SimpleShape * referenceShape(unsigned int k, double adcMax=-1, double time=Definitions::none, bool samplesOnly=false) const
Definition: History.cxx:545
LArSamples::Data::_region
int _region(const DataFuncArgs &args) const
Definition: Data.cxx:315
index
Definition: index.py:1
LArSamples::Data::adcMax
double adcMax() const
Definition: Data.h:124
CaloGain::UNKNOWNGAIN
@ UNKNOWNGAIN
Definition: CaloGain.h:20
LArSamples::History
Definition: History.h:35
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:364
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:283
LArSamples::Data::_nData
int _nData(const DataFuncArgs &args) const
Definition: Data.cxx:371
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:435
LArSamples::Data::_refitDeltaT
double _refitDeltaT(const DataFuncArgs &args) const
Definition: Data.cxx:248
LArSamples::Data::ofcTime
double ofcTime() const
Definition: Data.h:111
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:402
LArSamples::CellInfo::iEta
short iEta() const
Definition: CellInfo.h:56
LArSamples::Data::_energySignif
double _energySignif(const DataFuncArgs &args) const
Definition: Data.cxx:405
LArSamples::Data::_calo
int _calo(const DataFuncArgs &args) const
Definition: Data.cxx:322
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:207
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:489
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:308
LArSamples::Data::_hash
int _hash(const DataFuncArgs &args) const
Definition: Data.cxx:357
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:565
LArSamples::Data::_phi
double _phi(const DataFuncArgs &args) const
Definition: Data.cxx:502
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:301
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:336
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:113
lumiFormat.i
int i
Definition: lumiFormat.py:85
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:505
LArSamples::Data::_adjScale
double _adjScale(const DataFuncArgs &args) const
Definition: Data.cxx:293
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:523
LArSamples::History::chi2_k
double chi2_k(int i, double k, int lwb=-1, int upb=-1, int chi2Params=DefaultChi2) const
Definition: History.cxx:180
LArSamples::Data::_peakSignif
double _peakSignif(const DataFuncArgs &args) const
Definition: Data.cxx:399
LArSamples::Data::xiNorm
double xiNorm(ShapeErrorType shapeErrorType=BestShapeError) const
Definition: Data.cxx:472
LArSamples::EMEC_OUTER
@ EMEC_OUTER
Definition: CaloId.h:25
LArSamples::ShapeErrorType
ShapeErrorType
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/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:642
LArSamples::Data::_timeForSplash2
double _timeForSplash2(const DataFuncArgs &args) const
Definition: Data.cxx:392
LArSamples::Data::xip
double xip(short sample, ShapeErrorType shapeErrorType=BestShapeError, CaloGain::CaloGain g=CaloGain::UNKNOWNGAIN) const
Definition: Data.cxx:483
LArSamples::Data::isDisconnected
bool isDisconnected() const
Definition: Data.cxx:106
LArSamples::History::nData
unsigned int nData() const
Definition: History.h:51
LArSamples::Data::m_container
const DataContainer *const m_container
Definition: Data.h:281
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:164
EventData.h
LArSamples::Data::_timeForSplash1
double _timeForSplash1(const DataFuncArgs &args) const
Definition: Data.cxx:385
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:366
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:378
LArSamples::ShapeErrorData::n
int n() const
Definition: ShapeErrorData.h:54
LArSamples::Data
Definition: Data.h:72
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:443
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:589
LArFebErrorSummary::EmptyDataBlock
@ EmptyDataBlock
Definition: LArFebErrorSummary.h:28
LArSamples::Data::gain
CaloGain::CaloGain gain() const
Definition: Data.h:85
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:343
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition: CaloGain.h:18
LArSamples::Data::_chi2Anomaly
double _chi2Anomaly(const DataFuncArgs &args) const
Definition: Data.cxx:597
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:451
LArSamples::History::shapeErrorData
const ShapeErrorData * shapeErrorData(CaloGain::CaloGain gain, ShapeErrorType shapeErrorType=BestShapeError, const Residual *res=0) const
Definition: History.cxx:302
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:640
LArSamples::Data::status
int status() const
Definition: Data.h:121
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:34
LArSamples::History::deltas
TVectorD deltas(unsigned int i, int lwb=-1, int upb=-1, bool correct=true) const
Definition: History.cxx:376
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:391
LArSamples::Data::xi
double xi(short sample, ShapeErrorType shapeErrorType=BestShapeError, CaloGain::CaloGain g=CaloGain::UNKNOWNGAIN, bool xip=false) const
Definition: Data.cxx:459
LArSamples::CellShapeError
@ CellShapeError
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/Definitions.h:21
LArSamples::Data::nSamples
unsigned int nSamples() const
Definition: Data.h:88
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:497
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:577
LArSamples::NoShapeError
@ NoShapeError
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/Definitions.h:25
LArSamples::Data::isPassed
bool isPassed(const TString &bitName) const
Definition: Data.cxx:529
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:95
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:500
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:350
LArSamples::EventData
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:29
LArSamples::Data::_refitScale
double _refitScale(const DataFuncArgs &args) const
Definition: Data.cxx:256
CellInfo.h
LArFebErrorSummary::NumOfSamples
@ NumOfSamples
Definition: LArFebErrorSummary.h:28
LArSamples::Data::timeClCorr
double timeClCorr() const
Definition: Data.cxx:603
LArSamples::Data::pedestalRMS
double pedestalRMS() const
Definition: Data.h:118
LArSamples::CellInfo::layer
short layer() const
Definition: CellInfo.h:53
LArSamples::Data::_z
double _z(const DataFuncArgs &args) const
Definition: Data.cxx:499
LArSamples::Data::index
short index() const
Definition: Data.h:166
LArSamples::Data::_y
double _y(const DataFuncArgs &args) const
Definition: Data.cxx:498
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80
LArSamples::Data::_refitChi2
double _refitChi2(const DataFuncArgs &args) const
Definition: Data.cxx:264
LArSamples::RingShapeError
@ RingShapeError
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/Definitions.h:23
LArSamples::Data::goodForShapeCorr
bool goodForShapeCorr() const
Definition: Data.cxx:535
LArSamples::Data::energy
double energy() const
Definition: Data.h:108
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