ATLAS Offline Software
LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
9 #include "LArSamplesMon/Data.h"
10 #include "LArSamplesMon/OFC.h"
12 #include "LArCafJobs/Geometry.h"
13 #include "LArSamplesMon/Averager.h"
14 
15 #include "TF1.h"
16 #include "TH1I.h"
17 #include "TH2D.h"
18 #include "TMath.h"
19 #include "TObjArray.h"
20 #include "TObjString.h"
21 #include "TPaveText.h"
22 #include <map>
23 #include <utility>
24 
25 #include <vector>
26 
27 #include <iostream>
28 using std::cout;
29 using std::endl;
30 
31 using namespace LArSamples;
32 
33 
34 const History* MonitorBase::getCellHistory(unsigned int i) const
35 {
36  return interface().getCellHistory(i);
37 }
38 
39 const CellInfo* MonitorBase::getCellInfo(unsigned int i) const
40 {
41  return interface().getCellInfo(i);
42 }
43 
44 
45 unsigned int MonitorBase::nChannels() const
46 {
47  return interface().nChannels();
48 }
49 
50 
52 {
53  switch (comb) {
54  case AverageValue : return "average";
55  case MaxValue : return "max value";
56  case MinValue : return "min value";
57  case TotalValue : return "total value";
58  case RMSValue : return "RMS";
59  }
60  return "";
61 }
62 
63 
64 TH1D* MonitorBase::dist(const DataFuncSet& func, const DataFuncArgs& args,
65  const TString& name, int nBins, double xMin, double xMax,
66  const TString& title, const TString& xTitle, const TString& yTitle, const FilterParams& f) const
67 {
68  TH1D* h = new TH1D(name, title, nBins, xMin, xMax);
69  if (xTitle != "") h->GetXaxis()->SetTitle(xTitle);
70  if (yTitle != "") h->GetYaxis()->SetTitle(yTitle);
71  for (unsigned int i = 0; i < m_interface->nChannels(); i++) {
72  if ((i+1) % printPeriodicity == 0) cout << "Cell # " << i+1 << "/" << m_interface->nChannels() << endl;
73  const History* history = pass(i, f);
74  if (!history) continue;
75  for (unsigned int j = 0; j < history->nData(); j++) {
76  if (!f.passEvent(*history->data(j))) continue;
77  h->Fill(func.val(*history->data(j), args));
78  }
79  }
80  return h;
81 }
82 
83 
84 TH2D* MonitorBase::dist(const DataFuncSet& funcX, const DataFuncArgs& argsX,
85  const DataFuncSet& funcY, const DataFuncArgs& argsY,
86  const TString& name,
87  int nBinsX, double xMin, double xMax,
88  int nBinsY, double yMin, double yMax,
89  const TString& title, const TString& xTitle, const TString& yTitle,
90  const FilterParams& f) const
91 {
92  TH2D* h = new TH2D(name, title, nBinsX, xMin, xMax, nBinsY, yMin, yMax);
93  if (xTitle != "") h->GetXaxis()->SetTitle(xTitle);
94  if (yTitle != "") h->GetYaxis()->SetTitle(yTitle);
95  for (unsigned int i = 0; i < m_interface->nChannels(); i++) {
96  if ((i+1) % printPeriodicity == 0) cout << "Cell # " << i+1 << "/" << m_interface->nChannels() << endl;
97  const History* history = pass(i, f);
98  if (!history) continue;
99  for (unsigned int j = 0; j < history->nData(); j++) {
100  if (!f.passEvent(*history->data(j))) continue;
101  h->Fill(funcX.val(*history->data(j), argsX),
102  funcY.val(*history->data(j), argsY));
103  }
104  }
105  return h;
106 }
107 
109  const TString& title, CombinationType comb, const FilterParams& f) const
110 {
111  TH2D* h = Geo::partitionHist(partition, std::move(name), title + " " + Id::str(partition));
112  unsigned int nValues = 0;
113  FilterParams ff(f);
114  ff.addPartition(partition);
115  for (unsigned int i = 0; i < m_interface->nChannels(); i++) {
116  if ((i+1) % printPeriodicity == 0) cout << "Cell # " << i+1 << "/" << m_interface->nChannels() << endl;
117  const History* history = pass(i, ff);
118  if (!history) continue;
119  h->SetBinContent(history->cellInfo()->feb() + 1, history->cellInfo()->channel() + 1,
120  history_value(*history, func, args, comb, f, nValues));
121  }
122  return h;
123 }
124 
125 
127  const TString& name, CaloId calo, short layer,
128  TString title, CombinationType comb, const FilterParams& f) const
129 {
130  if (title == "") title = Form("%s %s (%s, layer %d)", name.Data(), str(comb).Data(), Id::str(calo).Data(), layer);
131  TH2D* h = Geo::etaPhiHist(calo, layer, name, title);
132  FilterParams ff(f);
133  ff.addCalo(calo);
134  ff.addLayer(layer);
135  unsigned int nValues = 0;
136  for (unsigned int i = 0; i < m_interface->nChannels(); i++) {
137  if ((i+1) % printPeriodicity == 0) cout << "Cell # " << i+1 << "/" << m_interface->nChannels() << endl;
138  const History* history = pass(i, ff);
139  if (!history) continue;
140  h->Fill(history->cellInfo()->eta(), history->cellInfo()->phi(),
141  history_value(*history, func, args, comb, f, nValues));
142  }
143  return h;
144 }
145 
146 
147 bool MonitorBase::parseVariables(TString varStr, std::vector<TString>& vars,
148  std::vector<DataFuncSet>& funcs, std::vector<DataFuncArgs>& args)
149 {
150  varStr.ReplaceAll(" ", "");
151  TObjArray* varList = varStr.Tokenize(":");
152  for (int i = 0; i < varList->GetEntries(); i++) {
153  TString varAndSample = ((TObjString*)varList->At(i))->String();
154  TString var = varAndSample;
155  short sample1 = -1, sample2 = -1;
156  double par = Definitions::none;
157  TString str = "";
158  if (varAndSample.CountChar('[') + varAndSample.CountChar(']') > 0) {
159  if (varAndSample.CountChar('[') != 1 || varAndSample.CountChar(']') != 1 || varAndSample[varAndSample.Length() - 1] != ']') {
160  cout << "Invalid use of [ ] delimiters" << endl;
161  delete varList;
162  return false;
163  }
164  TObjArray* varSampList = varAndSample.Tokenize("[,]");
165  if (varSampList->GetEntries() == 2) {
166  var = ((TObjString*)varSampList->At(0))->String();
167  TString sampStr = ((TObjString*)varSampList->At(1))->String();
168  delete varSampList;
169  if (!sampStr.IsDigit()) {
170  cout << "Sample argument [sample] should be an integer" << endl;
171  delete varList;
172  return false;
173  }
174  sample1 = sampStr.Atoi();
175  }
176  else if (varSampList->GetEntries() == 3) {
177  var = ((TObjString*)varSampList->At(0))->String();
178  TString sampStr1 = ((TObjString*)varSampList->At(1))->String();
179  TString sampStr2 = ((TObjString*)varSampList->At(2))->String();
180  delete varSampList;
181  if (!sampStr1.IsDigit() || !sampStr2.IsDigit()) {
182  cout << "Sample arguments [sample1, sample2] should be an integer" << endl;
183  delete varList;
184  return false;
185  }
186  sample1 = sampStr1.Atoi();
187  sample2 = sampStr2.Atoi();
188  }
189  else {
190  cout << "Invalid specification of sample argument (expected var[sample])" << endl;
191  delete varSampList;
192  delete varList;
193  return false;
194  }
195  }
196  if (varAndSample.CountChar('(') + varAndSample.CountChar(')') > 0) {
197  if (varAndSample.CountChar('(') != 1 || varAndSample.CountChar(')') != 1 || varAndSample[varAndSample.Length() - 1] != ')') {
198  cout << "Invalid use of ( ) delimiters" << endl;
199  delete varList;
200  return false;
201  }
202  TObjArray* varSampList = varAndSample.Tokenize("(,)");
203  if (varSampList->GetEntries() == 2) {
204  var = ((TObjString*)varSampList->At(0))->String();
205  TString sampStr = ((TObjString*)varSampList->At(1))->String();
206  delete varSampList;
207  if (!sampStr.IsFloat()) {
208  cout << "floating-point argument expected between ()" << endl;
209  delete varList;
210  return false;
211  }
212  par = sampStr.Atof();
213  }
214  else {
215  cout << "Invalid specification of floating-point argument (expected func(arg))" << endl;
216  delete varSampList;
217  delete varList;
218  return false;
219  }
220  }
221  if (varAndSample(0, 5) == "pass_") {
222  str = varAndSample(5, varAndSample.Length() - 5);
223  var = "pass";
224  }
225  DataFuncSet fcn = func(var);
226  if (fcn.isNull()) {
227  cout << "Unknown variable " << var << endl;
228  return false;
229  }
230  vars.push_back(varAndSample);
231  funcs.push_back(fcn);
232  args.emplace_back(sample1, sample2, par, Definitions::none, str);
233  }
234  delete varList;
235  return true;
236 }
237 
238 
239 bool MonitorBase::prepareDumpParams(const TString& vars, int verbosity,
240  std::vector<TString>& variables, std::vector<DataFuncSet>& funcs,
241  std::vector<DataFuncArgs>& args,
242  std::vector<TString>& formats, TString& locFormat,
243  TString& locHeader, TString& varHeader) const
244 {
245  if (!parseVariables(vars, variables, funcs, args)) {
246  cout << "Invalid variable specification " << vars << endl;
247  return false;
248  }
249 
250  locFormat = "| %6d | %-";
251  if (verbosity <= 1)
252  locFormat += "26";
253  else if (verbosity == 2)
254  locFormat += "80";
255  else if (verbosity == 3)
256  locFormat += "108";
257  else
258  locFormat += "120";
259  locFormat += "s |";
260 
261  TString locFormatHeader = locFormat; locFormatHeader.ReplaceAll("d", "s");
262  locHeader = Form(locFormatHeader, "hash", "location");
263 
264  for (unsigned int i = 0; i < variables.size(); i++) {
265  formats.emplace_back(" %-9.8g |");
266  TString fH = formats[i]; fH.ReplaceAll("g", "s");
267  TString varName = variables[i];
268  if (args[i].i2 != -1) varName += Form("[%d, %d]", args[i].i1, args[i].i2);
269  else if (args[i].i1 != -1) varName += Form("[%d]", args[i].i1);
270  if (!Definitions::isNone(args[i].x1)) varName += Form("[%.5f]", args[i].x1);
271  if (args[i].str != "") varName += Form("_%s", args[i].str.Data());
272  varHeader += Form(fH, varName.Data());
273  }
274  return true;
275 }
276 
277 
278 
279 bool MonitorBase::dump(const TString& vars, const FilterParams& f, unsigned int verbosity) const
280 {
281  std::vector<TString> variables, formats;
282  std::vector<DataFuncSet> funcs;
283  std::vector<DataFuncArgs> args;
284  TString locFormat, locHeader, varHeader;
285  if (!prepareDumpParams(vars, verbosity, variables, funcs, args,
286  formats, locFormat, locHeader, varHeader)) return false;
287  TString header = locHeader + " idx |" + varHeader;
288  TString separator = "";
289  for (int i = 0; i < header.Length(); i++) separator += "-";
290  cout << separator << endl << header << endl << separator << endl;
291 
292  unsigned int nEntries = 0;
293 
294  for (unsigned int i = 0; i < m_interface->nChannels(); i++) {
295  const History* history = pass(i, f);
296  if (!history) continue;
297  TString part1 = Form(locFormat, i, history->cellInfo()->location(verbosity).Data());
298  for (unsigned int j = 0; j < history->nData(); j++) {
299  if (!f.passEvent(*history->data(j))) continue;
300  TString line = part1 + Form(" %3d |", j);
301  for (unsigned int k = 0; k < variables.size(); k++)
302  line += Form(formats[k].Data(), funcs[k].val(*history->data(j), args[k]));
303  cout << line << endl;
304  nEntries++;
305  }
306  }
307  cout << nEntries << " entries selected" << endl;
308  return true;
309 }
310 
311 
312 bool MonitorBase::dump(const TString& vars, CombinationType comb, const FilterParams& f,
313  const TString& ranges, unsigned int verbosity) const
314 {
315  std::vector<TString> variables, formats;
316  std::vector<DataFuncSet> funcs;
317  std::vector<DataFuncArgs> args;
318  TString locFormat, locHeader, varHeader;
319  if (!prepareDumpParams(vars, verbosity, variables, funcs, args,
320  formats, locFormat, locHeader, varHeader)) return false;
321 
322  std::vector<double> minVals, maxVals;
323  TObjArray* rangeList = ranges.Tokenize(":");
324  for (unsigned int k = 0; k < variables.size(); k++) {
325  TString range = (k < (unsigned int)rangeList->GetEntries() ? ((TObjString*)rangeList->At(k))->String() : "");
326  if (range == "") {
327  minVals.push_back(-DBL_MAX);
328  maxVals.push_back(+DBL_MAX);
329  continue;
330  }
331  TObjArray* minMaxList = range.Tokenize(",");
332  if (minMaxList->GetEntries() == 2) {
333  minVals.push_back(((TObjString*)minMaxList->At(0))->String().Atof());
334  maxVals.push_back(((TObjString*)minMaxList->At(1))->String().Atof());
335  }
336  else {
337  cout << "Invalid range specification " << range << endl;
338  return false;
339  }
340  delete minMaxList;
341  }
342  delete rangeList;
343 
344  TString header = locHeader + varHeader;
345  TString separator = "";
346  for (int i = 0; i < header.Length(); i++) separator += "-";
347  cout << separator << endl << header << endl << separator << endl;
348 
349  unsigned int nEntries = 0, nValues = 0;
350 
351  for (unsigned int i = 0; i < m_interface->nChannels(); i++) {
352  const History* history = pass(i, f);
353  if (!history) continue;
354  TString line = Form(locFormat, i, history->cellInfo()->location(verbosity).Data());
355  bool ok = true;
356  for (unsigned int k = 0; k < variables.size(); k++) {
357  double val = history_value(*history, funcs[k], args[k], comb, f, nValues);
358  if (nValues == 0 || val < minVals[k] || val >= maxVals[k]) { ok = false; break; }
359  line += Form(formats[k].Data(), val);
360  }
361  if (!ok) continue;
362  cout << line << endl;
363  nEntries++;
364  }
365  cout << nEntries << " entries selected" << endl;
366  return true;
367 }
368 
369 
370 bool MonitorBase::statParams(const std::vector<DataFuncSet>& funcs,
371  const std::vector<DataFuncArgs>& args,
372  TVectorD& mean, TVectorD& meanErr, TMatrixD& covMatrix, TMatrixD& covMatrixErr,
373  const FilterParams& f) const
374 {
375  Averager avg(funcs.size());
376 
377  for (unsigned int i = 0; i < m_interface->nChannels(); i++) {
378  if ((i+1) % printPeriodicity == 0) cout << "Cell # " << i+1 << "/" << m_interface->nChannels() << endl;
379  const History* history = pass(i, f);
380  if (!history) continue;
381  for (unsigned int j = 0; j < history->nData(); j++) {
382  if (!f.passEvent(*history->data(j))) continue;
383  TVectorD vals(funcs.size());
384  for (unsigned int k = 0; k < funcs.size(); k++)
385  vals(k) = funcs[k].val(*history->data(j), args[k]);
386  avg.fill(vals);
387  }
388  }
389 
390  mean = avg.means();
391  meanErr = avg.meanErrors();
392  covMatrix = avg.covarianceMatrix();
393  covMatrixErr = avg.covarianceMatrixErrors();
394 
395  return true;
396 }
397 
398 
399 double MonitorBase::history_value(const History& history, const DataFuncSet& func, const DataFuncArgs& args,
400  CombinationType comb, const FilterParams& f, unsigned int& nValues)
401 {
402  double val = 0, sum1 = 0, sum2 = 0;
403  nValues = 0;
404  if (comb == MaxValue) val = DBL_MIN;
405  if (comb == MinValue) val = DBL_MAX;
406  for (unsigned int j = 0; j < history.nData(); j++) {
407  if (!f.passEvent(*history.data(j))) continue;
408  double thisVal = func.val(*history.data(j), args);
409  nValues++;
410  switch (comb) {
411  case AverageValue : val += thisVal; break;
412  case MaxValue : if (thisVal > val) val = thisVal; break;
413  case MinValue : if (thisVal < val) val = thisVal; break;
414  case TotalValue : val += thisVal; break;
415  case RMSValue : sum1 += thisVal; sum2 += thisVal*thisVal; break;
416  }
417  }
418  if (comb == AverageValue && nValues > 0) val /= nValues;
419  if (comb == RMSValue)
420  val = (nValues > 0 ? TMath::Sqrt((sum2 - sum1*sum1/nValues)/nValues) : -1);
421  if (TMath::Abs(val) > 0.9*DBL_MAX) val = 0;
422  return val;
423 }
424 
425 
427 {
428  if (var == "sample") return DataFuncSet(&Data::_sample);
429  if (var == "pedSubSample") return DataFuncSet(&Data::_pedestalSubstractedSample);
430  if (var == "energy") return DataFuncSet(&Data::_energy);
431  if (var == "adcMax") return DataFuncSet(&Data::_adcMax);
432  if (var == "adcMax_new") return DataFuncSet(&Data::_adcMax_new);
433  if (var == "gain") return DataFuncSet(&Data::_gain);
434  if (var == "peakSignif") return DataFuncSet(&Data::_peakSignif);
435  if (var == "energySignif") return DataFuncSet(&Data::_energySignif);
436  if (var == "ofcTime") return DataFuncSet(&Data::_ofcTime);
437  if (var == "sampleMax") return DataFuncSet(&Data::_maxValue);
438  if (var == "maxPosition") return DataFuncSet(&Data::_maxPosition);
439  if (var == "quality") return DataFuncSet(&Data::_quality);
440  if (var == "noise") return DataFuncSet(&Data::_noise);
441  if (var == "pedestal") return DataFuncSet(&Data::_pedestal);
442  if (var == "pedestalRMS") return DataFuncSet(&Data::_pedestalRMS);
443  if (var == "maxValue") return DataFuncSet(&Data::_maxValue);
444  if (var == "minValue") return DataFuncSet(&Data::_minValue);
445  if (var == "count") return DataFuncSet(&Data::_count);
446  if (var == "chi2") return DataFuncSet(&Data::_chi2);
447  if (var == "chi2_noCorr") return DataFuncSet(&Data::_chi2_noCorr);
448  if (var == "chi2_ringCorr") return DataFuncSet(&Data::_chi2_ringCorr);
449  if (var == "chi2_cellCorr") return DataFuncSet(&Data::_chi2_cellCorr);
450  if (var == "chi2_k") return DataFuncSet(&Data::_chi2_k);
451  if (var == "refitScale") return DataFuncSet(&Data::_refitScale);
452  if (var == "refitDeltaT") return DataFuncSet(&Data::_refitDeltaT);
453  if (var == "refitChi2") return DataFuncSet(&Data::_refitChi2);
454  if (var == "adjScale") return DataFuncSet(&Data::_adjScale);
455  if (var == "adjDeltaT") return DataFuncSet(&Data::_adjDeltaT);
456  if (var == "run") return DataFuncSet(&Data::_run);
457  if (var == "event") return DataFuncSet(&Data::_event);
458  if (var == "lumiBlock") return DataFuncSet(&Data::_lumiBlock);
459  if (var == "bunchId") return DataFuncSet(&Data::_bunchId);
460  if (var == "x") return DataFuncSet(&Data::_x);
461  if (var == "y") return DataFuncSet(&Data::_y);
462  if (var == "z") return DataFuncSet(&Data::_z);
463  if (var == "rt") return DataFuncSet(&Data::_rt);
464  if (var == "eta") return DataFuncSet(&Data::_eta);
465  if (var == "phi") return DataFuncSet(&Data::_phi);
466  if (var == "iEta") return DataFuncSet(&Data::_iEta);
467  if (var == "iPhi") return DataFuncSet(&Data::_iPhi);
468  if (var == "region") return DataFuncSet(&Data::_region);
469  if (var == "calo") return DataFuncSet(&Data::_calo);
470  if (var == "layer") return DataFuncSet(&Data::_layer);
471  if (var == "feedthrough") return DataFuncSet(&Data::_feedThrough);
472  if (var == "FT") return DataFuncSet(&Data::_feedThrough);
473  if (var == "slot") return DataFuncSet(&Data::_slot);
474  if (var == "channel") return DataFuncSet(&Data::_channel);
475  if (var == "ring") return DataFuncSet(&Data::_ring);
476  if (var == "index") return DataFuncSet(&Data::_index);
477  if (var == "hash") return DataFuncSet(&Data::_hash);
478  if (var == "nData") return DataFuncSet(&Data::_nData);
479  if (var == "timeNoTOF") return DataFuncSet(&Data::_timeNoTOF);
480  if (var == "timeForSplash1") return DataFuncSet(&Data::_timeForSplash1);
481  if (var == "timeForSplash2") return DataFuncSet(&Data::_timeForSplash2);
482  if (var == "delta") return DataFuncSet(&Data::_delta);
483  if (var == "residual") return DataFuncSet(&Data::_residual);
484  if (var == "residualOffset") return DataFuncSet(&Data::_residualOffset);
485  if (var == "resCorrN") return DataFuncSet(&Data::_resCorrN);
486  if (var == "xi") return DataFuncSet(&Data::_xi);
487  if (var == "xiCell") return DataFuncSet(&Data::_xiCell);
488  if (var == "xiRing") return DataFuncSet(&Data::_xiRing);
489  if (var == "xiNormCell") return DataFuncSet(&Data::_xiNormCell);
490  if (var == "xiNormRing") return DataFuncSet(&Data::_xiNormRing);
491  if (var == "xip") return DataFuncSet(&Data::_xip);
492  if (var == "residualError") return DataFuncSet(&Data::_residualError);
493  if (var == "ofcSigma") return DataFuncSet(&Data::_ofcSigma);
494  if (var == "ofcGamma") return DataFuncSet(&Data::_ofcGamma);
495  if (var == "normResidualOffset") return DataFuncSet(&Data::_normResidualOffset);
496  if (var == "normResidualError") return DataFuncSet(&Data::_normResidualError);
497  if (var == "pass") return DataFuncSet(&Data::_pass);
498  if (var == "goodForShapeCorr") return DataFuncSet(&Data::_goodForShapeCorr);
499  if (var == "upstreamE") return DataFuncSet(&Data::_upstreamE);
500  if (var == "upstreamERatio") return DataFuncSet(&Data::_upstreamERatio);
501  if (var == "chi2Anomaly") return DataFuncSet(&Data::_chi2Anomaly);
502  if (var == "timeECorr") return DataFuncSet(&Data::_timeECorr);
503 
504  return DataFuncSet();
505 }
506 
LArSamples::Data::_layer
int _layer(const DataFuncArgs &args) const
Definition: Data.cxx:326
LArSamples::Data::_eta
double _eta(const DataFuncArgs &args) const
Definition: Data.cxx:498
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
trigbs_pickEvents.ranges
ranges
Definition: trigbs_pickEvents.py:60
beamspotnt.var
var
Definition: bin/beamspotnt.py:1394
LArSamples::CellInfo::feb
short feb() const
Definition: CellInfo.cxx:102
LArSamples::MonitorBase::dist
TH1D * dist(const DataFuncSet &func, const DataFuncArgs &args, const TString &name, int nBins, double xMin, double xMax, const TString &title="", const TString &xTitle="", const TString &yTitle="", const FilterParams &f=FilterParams()) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:64
LArSamples::Geo::etaPhiHist
static TH2D * etaPhiHist(CaloId calo, short layer, const TString &name, const TString &title)
Definition: Geometry.cxx:549
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
LArSamples::Data::_xip
double _xip(const DataFuncArgs &args) const
Definition: Data.h:223
LArSamples::Data::_chi2_noCorr
double _chi2_noCorr(const DataFuncArgs &args) const
Definition: Data.cxx:204
checkFileSG.line
line
Definition: checkFileSG.py:75
mean
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition: dependence.cxx:254
LArSamples::MonitorBase::func
static DataFuncSet func(const TString &var)
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:426
header
Definition: hcg.cxx:526
checkCoolLatestUpdate.variables
variables
Definition: checkCoolLatestUpdate.py:13
LArSamples::Data::_sample
double _sample(const DataFuncArgs &args) const
Definition: Data.h:194
LArSamples::FilterParams
Definition: FilterParams.h:50
LArSamples::Data::_adjDeltaT
double _adjDeltaT(const DataFuncArgs &args) const
Definition: Data.cxx:282
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
LArSamples::History::cellInfo
const CellInfo * cellInfo() const
Definition: History.h:61
LArSamples::Data::_region
int _region(const DataFuncArgs &args) const
Definition: Data.cxx:312
Data
@ Data
Definition: BaseObject.h:11
LArSamples::CombinationType
CombinationType
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:27
LArSamples::MonitorBase::statParams
bool statParams(const std::vector< DataFuncSet > &funcs, const std::vector< DataFuncArgs > &args, TVectorD &mean, TVectorD &meanErr, TMatrixD &covMatrix, TMatrixD &covMatrixErr, const FilterParams &f=FilterParams()) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:370
LArSamples::Data::_pedestalRMS
double _pedestalRMS(const DataFuncArgs &) const
Definition: Data.h:200
LArSamples::History
Definition: History.h:40
LArSamples::MinValue
@ MinValue
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:27
LArSamples::Data::_xi
double _xi(const DataFuncArgs &args) const
Definition: Data.h:218
LArSamples::MonitorBase::interface
const Interface & interface() const
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:74
LArSamples::Data::_xiNormRing
double _xiNormRing(const DataFuncArgs &) const
Definition: Data.h:222
LArSamples::Data::_ring
int _ring(const DataFuncArgs &args) const
Definition: Data.cxx:361
Geometry.h
LArSamples::Id::str
static TString str(CaloId id)
Definition: CaloId.cxx:15
LArSamples::Data::_nData
int _nData(const DataFuncArgs &args) const
Definition: Data.cxx:368
LArSamples::MonitorBase::dump
bool dump(const TString &vars, const FilterParams &f=FilterParams(), unsigned int verbosity=1) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:279
LArSamples::MonitorBase::etaPhiMap
TH2D * etaPhiMap(const DataFuncSet &func, const DataFuncArgs &args, const TString &name, CaloId calo, short layer, TString title="", CombinationType comb=AverageValue, const FilterParams &f=FilterParams()) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:126
OFC.h
LArSamples::Interface::getCellHistory
const History * getCellHistory(unsigned int i) const
Definition: Interface.cxx:103
LArSamples::Data::_pass
double _pass(const DataFuncArgs &args) const
Definition: Data.h:275
LArSamples
Definition: AbsShape.h:24
LArSamples::Data::_refitDeltaT
double _refitDeltaT(const DataFuncArgs &args) const
Definition: Data.cxx:245
LArSamples::MonitorBase::history_value
static double history_value(const History &history, const DataFuncSet &func, const DataFuncArgs &args, CombinationType comb, const FilterParams &f, unsigned int &nValues)
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:399
LArSamples::CellInfo::phi
double phi() const
Definition: CellInfo.h:94
LArSamples::Averager
storage of the time histories of all the cells
Definition: Averager.h:23
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::MonitorBase::printPeriodicity
static const int printPeriodicity
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:79
LArSamples::Data::_normResidualOffset
double _normResidualOffset(const DataFuncArgs &args) const
Definition: Data.h:225
MonitorBase.h
Averager.h
LArSamples::Data::_quality
double _quality(const DataFuncArgs &) const
Definition: Data.h:198
LArSamples::Data::_upstreamE
double _upstreamE(const DataFuncArgs &) const
Definition: Data.h:266
LArSamples::Data::_delta
double _delta(const DataFuncArgs &args) const
Definition: Data.h:214
LArSamples::MonitorBase::nChannels
unsigned int nChannels() const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:45
LArSamples::Data::_iPhi
int _iPhi(const DataFuncArgs &args) const
Definition: Data.cxx:305
LArSamples::Data::_gain
int _gain(const DataFuncArgs &) const
Definition: Data.h:213
LArSamples::Data::_hash
int _hash(const DataFuncArgs &args) const
Definition: Data.cxx:354
LArSamples::Data::_resCorrN
double _resCorrN(const DataFuncArgs &) const
Definition: Data.h:217
LArSamples::History::data
const Data * data(unsigned int i) const
Definition: History.cxx:88
part1
Definition: part1.py:1
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::_adcMax_new
double _adcMax_new(const DataFuncArgs &) const
Definition: Data.h:202
LArSamples::TotalValue
@ TotalValue
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:27
LArSamples::Data::_residualOffset
double _residualOffset(const DataFuncArgs &args) const
Definition: Data.h:216
LArSamples::MonitorBase::parseVariables
static bool parseVariables(TString varStr, std::vector< TString > &vars, std::vector< DataFuncSet > &funcs, std::vector< DataFuncArgs > &args)
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:147
LArSamples::Data::_iEta
int _iEta(const DataFuncArgs &args) const
Definition: Data.cxx:298
LArSamples::MaxValue
@ MaxValue
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:27
LArSamples::Data::_feedThrough
int _feedThrough(const DataFuncArgs &args) const
Definition: Data.cxx:333
LArSamples::MonitorBase::getCellInfo
const CellInfo * getCellInfo(unsigned int i) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:39
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArSamples::Data::_chi2_k
double _chi2_k(const DataFuncArgs &args) const
Definition: Data.cxx:225
LArSamples::Data::_maxPosition
int _maxPosition(const DataFuncArgs &) const
Definition: Data.h:240
D3PDSizeSummary.ff
ff
Definition: D3PDSizeSummary.py:305
h
LArSamples::Data::_adjScale
double _adjScale(const DataFuncArgs &args) const
Definition: Data.cxx:290
PixelAthClusterMonAlgCfg.varName
string varName
end cluster ToT and charge
Definition: PixelAthClusterMonAlgCfg.py:117
Recovery.avg
def avg(a, b)
Definition: Recovery.py:79
extractSporadic.h
list h
Definition: extractSporadic.py:97
LArSamples::Definitions::none
static const double none
Definition: Definitions.h:17
xAOD::covMatrix
covMatrix
Definition: TrackMeasurement_v1.cxx:19
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LArSamples::Data::_pedestalSubstractedSample
double _pedestalSubstractedSample(const DataFuncArgs &args) const
Definition: Data.h:195
covarianceTool.title
title
Definition: covarianceTool.py:542
LArSamples::CellInfo::location
TString location(int verbose=1) const
Definition: CellInfo.cxx:139
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
LArSamples::Data::_peakSignif
double _peakSignif(const DataFuncArgs &args) const
Definition: Data.cxx:396
LArSamples::Data::_normResidualError
double _normResidualError(const DataFuncArgs &args) const
Definition: Data.h:226
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::PartitionId
PartitionId
Definition: CaloId.h:29
LArSamples::AverageValue
@ AverageValue
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:27
LArSamples::MonitorBase::m_interface
const Interface * m_interface
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:86
LArSamples::History::nData
unsigned int nData() const
Definition: History.h:56
fcn
void fcn(int &, double *, double &result, double par[], int)
this is where we write out chi2
Definition: Chi2LJets.cxx:183
LArSamples::Data::_xiNormCell
double _xiNormCell(const DataFuncArgs &) const
Definition: Data.h:221
LArSamples::Data::_timeForSplash1
double _timeForSplash1(const DataFuncArgs &args) const
Definition: Data.cxx:382
MakeTH3DFromTH2Ds.maxVals
maxVals
Definition: MakeTH3DFromTH2Ds.py:74
LArSamples::Geo::partitionHist
static TH2D * partitionHist(PartitionId part, const TString &name, const TString &title)
Definition: Geometry.cxx:18
LArSamples::Interface::getCellInfo
const CellInfo * getCellInfo(unsigned int i) const
Definition: Interface.cxx:125
LArSamples::Data::_ofcTime
double _ofcTime(const DataFuncArgs &) const
Definition: Data.h:197
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
LArSamples::AbsLArCells::pass
const History * pass(unsigned int i, const FilterParams &f) const
Definition: AbsLArCells.cxx:97
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
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
LArSamples::Data::_minValue
double _minValue(const DataFuncArgs &) const
Definition: Data.h:205
LArSamples::Data::_upstreamERatio
double _upstreamERatio(const DataFuncArgs &args) const
Definition: Data.cxx:586
LArSamples::Data::_maxValue
double _maxValue(const DataFuncArgs &) const
Definition: Data.h:204
LArSamples::Data::_noise
double _noise(const DataFuncArgs &) const
Definition: Data.h:203
covarianceTool.verbosity
verbosity
Definition: covarianceTool.py:513
LArSamples::MonitorBase::partitionMap
TH2D * partitionMap(const DataFuncSet &func, const DataFuncArgs &args, TString name, PartitionId partition, const TString &title="", CombinationType comb=AverageValue, const FilterParams &f=FilterParams()) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:108
LArSamples::Data::_slot
int _slot(const DataFuncArgs &args) const
Definition: Data.cxx:340
LArSamples::Data::_run
int _run(const DataFuncArgs &) const
Definition: Data.h:208
LArSamples::CellInfo
Definition: CellInfo.h:31
LArSamples::Data::_chi2Anomaly
double _chi2Anomaly(const DataFuncArgs &args) const
Definition: Data.cxx:594
LArSamples::CaloId
CaloId
Definition: CaloId.h:21
LArSamples::Data::_energy
double _energy(const DataFuncArgs &) const
Definition: Data.h:196
LArSamples::Data::_goodForShapeCorr
int _goodForShapeCorr(const DataFuncArgs &) const
Definition: Data.h:265
LArSamples::Data::_count
double _count(const DataFuncArgs &) const
Definition: Data.h:242
LArSamples::MonitorBase::prepareDumpParams
bool prepareDumpParams(const TString &vars, int verbosity, std::vector< TString > &variables, std::vector< DataFuncSet > &funcs, std::vector< DataFuncArgs > &args, std::vector< TString > &formats, TString &locFormat, TString &locHeader, TString &varHeader) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:239
LArSamples::CellInfo::channel
short channel() const
Definition: CellInfo.h:76
LArSamples::MonitorBase::str
static TString str(CombinationType comb)
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:51
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
LArSamples::DataFuncSet
Definition: Data.h:59
LArSamples::DataFuncSet::val
double val(const Data &data, const DataFuncArgs &args) const
Definition: Data.h:66
LArSamples::Data::_index
int _index(const DataFuncArgs &) const
Definition: Data.h:212
StateLessPT_NewConfig.partition
partition
Definition: StateLessPT_NewConfig.py:49
LArSamples::DataFuncArgs
Definition: Data.h:39
LArSamples::Definitions::isNone
static bool isNone(double x)
Definition: Definitions.h:18
beamspotnt.varList
list varList
Definition: bin/beamspotnt.py:1108
Data.h
LArSamples::Data::_residual
double _residual(const DataFuncArgs &args) const
Definition: Data.h:215
str
Definition: BTagTrackIpAccessor.cxx:11
LArSamples::Data::_x
double _x(const DataFuncArgs &args) const
Definition: Data.cxx:494
LArSamples::CellInfo::eta
double eta() const
Definition: CellInfo.h:93
LArSamples::Data::_ofcGamma
double _ofcGamma(const DataFuncArgs &args) const
Definition: Data.cxx:574
MakeTH3DFromTH2Ds.minVals
minVals
Definition: MakeTH3DFromTH2Ds.py:73
History.h
LArSamples::Data::_residualError
double _residualError(const DataFuncArgs &args) const
Definition: Data.h:224
LArSamples::MonitorBase::getCellHistory
const History * getCellHistory(unsigned int i) const
Definition: LArCalorimeter/LArSamplesMon/src/MonitorBase.cxx:34
ShapeFitter.h
dqBeamSpot.nEntries
int nEntries
Definition: dqBeamSpot.py:73
LArSamples::Data::_lumiBlock
int _lumiBlock(const DataFuncArgs &) const
Definition: Data.h:210
LArSamples::Data::_rt
double _rt(const DataFuncArgs &args) const
Definition: Data.cxx:497
Interface.h
LArSamples::Data::_channel
int _channel(const DataFuncArgs &args) const
Definition: Data.cxx:347
LArSamples::Data::_refitScale
double _refitScale(const DataFuncArgs &args) const
Definition: Data.cxx:253
LArSamples::Data::_chi2
double _chi2(const DataFuncArgs &) const
Definition: Data.h:244
LArSamples::Data::_adcMax
double _adcMax(const DataFuncArgs &) const
Definition: Data.h:201
LArSamples::Data::_z
double _z(const DataFuncArgs &args) const
Definition: Data.cxx:496
LArSamples::Data::_pedestal
double _pedestal(const DataFuncArgs &) const
Definition: Data.h:199
LArSamples::AbsLArCells::nChannels
virtual unsigned int nChannels() const
Definition: AbsLArCells.h:34
LArSamples::Data::_event
int _event(const DataFuncArgs &) const
Definition: Data.h:209
LArSamples::Data::_y
double _y(const DataFuncArgs &args) const
Definition: Data.cxx:495
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80
LArSamples::Data::_bunchId
int _bunchId(const DataFuncArgs &) const
Definition: Data.h:211
LArSamples::Data::_refitChi2
double _refitChi2(const DataFuncArgs &args) const
Definition: Data.cxx:261
LArSamples::Data::_xiRing
double _xiRing(const DataFuncArgs &args) const
Definition: Data.h:220
fitman.k
k
Definition: fitman.py:528
LArSamples::RMSValue
@ RMSValue
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/MonitorBase.h:27
PlotCalibFromCool.vals
vals
Definition: PlotCalibFromCool.py:474
LArSamples::Data::_xiCell
double _xiCell(const DataFuncArgs &args) const
Definition: Data.h:219