ATLAS Offline Software
MonitoringFile.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef dqutilsMonitoringFile_h
6 #define dqutilsMonitoringFile_h
7 
8 
9 
10 #include <TObject.h>
11 #include <TFile.h>
12 #include <TString.h>
13 #include "RooRealVar.h"
14 #include <TH1.h>
15 
16 #ifndef __CINT__
17 #include <regex>
18 #else
19 // good enough for CINT
20 namespace std {
21  class regex;
22 }
23 #endif
24 
26 
27 #include <map>
28 #include <string>
29 #include <vector>
30 #include <set>
31 #include <optional>
32 
33 class TDirectory;
34 class TGraph;
35 class TH1F;
36 class TH2F;
37 class TH1D;
38 class TH2D;
39 class TH1I;
40 class TH3F;
41 class TH2;
42 class TH3;
43 class TProfile2D;
44 class TObjArray;
45 class TKey;
46 class TTree;
47 class RooPlot;
48 class TEfficiency;
49 
50 
51 namespace dqutils {
52  typedef std::map<std::string, std::vector<int> > keycyclemap;
53  typedef std::map<std::string, std::set<std::string> > fileLBMap_t;
54  void populateKeyMapping(TDirectory*, keycyclemap&);
55 
56  enum debugLevel_t { none = 0, DEBUG, VERBOSE };
57 
58 
59  class ATLAS_NOT_THREAD_SAFE MonitoringFile : public TObject {
60  public:
61  struct MetaData {
62  inline MetaData(const std::string& name_, const std::string& interval_, const std::string& chain_,
63  const std::string& merge_)
64  : name(name_), interval(interval_), chain(chain_), merge(merge_) { }
65  std::string name;
66  std::string interval;
67  std::string chain;
68  std::string merge;
69  };
70 
71 
73  public:
75  virtual ~OutputMetadata() = default;
76 
77  virtual void fill(const std::string& name,
78  const std::string& interval,
79  const std::string& chain,
80  const std::string& merge);
81  protected:
82  void makeBranch(const char* branchName, const char* branchstr);
83  TTree* m_metadata {};
84  };
85 
86 
88 
89  MonitoringFile(const std::string& fileName);
90 
91  virtual ~MonitoringFile();
92 
93 
94 
95  typedef std::map< std::string, TDirectory* > DirMap_t;
96 
97  static void getAllDirs(DirMap_t& dirmap, TDirectory* dir, const std::string& dirName);
98 
99  static TDirectory* createDir(DirMap_t& dirmap, TDirectory* dir, const std::string& parent, const std::string& path);
100 
101  static TKey* getObjKey(TDirectory* dir, const std::string& path);
102 
103  // enum MergeMethod_t { TH1Add = 0, effAsPerCent, weightedAverage, weightedEff, mergeRebinned, weightedAverage2D,
104  // eventSample };
105 
106  static void fillMetaDataMap(std::map<std::string, dqutils::MonitoringFile::MetaData>& mdMap, TDirectory* dir);
107 
108  int mergeFiles(const std::string & outFileName, const std::vector<std::string>& files, fileLBMap_t& lbMap, bool fillLBDirs=true);
109 
110  int mergeFiles(const std::string & outFileName, const std::string & listFileName);
111 
112  static void merge_effAsPerCent(TH2& a, const TH2& b);
113 
114  static void merge_perBinEffPerCent(TH1& a, const TH1& b);
115 
116  static void merge_effAsPerCentAlt(TH1& a, const TH1& b);
117 
118  static void merge_weightedAverage(TH1& a, const TH1& b);
119 
120  static void merge_weightedAverage2D(TH2& a, const TH2& b);
121 
122  static void merge_weightedEff(TH1& a, const TH1& b);
123 
124  static void merge_Rebinned(TH1& a, TH1& b);
125 
126  static void merge_eventSample(TH2& a, const TH2& b);
127 
128  static void merge_RMS(TH1& a, const TH1& b);
129 
130  static void merge_RMSpercentDeviation(TH1& a, const TH1& b);
131 
132  static void merge_lowerLB(TH1& a, const TH1& b);
133 
134  static void merge_identical(TH1& a, const TH1& b);
139  //static void MakeBowingFit(TProfile2D* p2d, TH1F* hm, TH1F* hb);
140  static void fitMergedFile_IDPerfMonManager(const std::string& inFileName, bool isIncremental = false);
141  static void fitMergedFile_DiMuMonManager(const std::string& inFileName, bool isIncremental = false);
142  static void fitMergedFile_IDAlignMonManager(const std::string& inFileName, bool isIncremental = false);
143  static bool CheckHistogram(TFile* f, const char* HistoName);
144  static void fitMergedFile_IDAlignMonResiduals(TFile* f, const std::string& run_dir, const std::string& TriggerName);
145  static void fitMergedFile_IDAlignMonTrackSegments(TFile* file, const std::string& run_dir,
146  const std::string& tracksName);
147  static void fitMergedFile_IDAlignMonGenericTracks(TFile* file, const std::string& run_dir,
148  const std::string& tracksName);
149  static void fitMergedFile_IDAlignMonPVbiases(TFile* file, const std::string& run_dir,
150  const std::string& tracksName);
151  static void fitMergedFile_IDPerfMonKshort(TFile* f, const std::string& run_dir, const std::string& TriggerName);
152  static void fitMergedFile_IDPerfMonJpsi(TFile* f, const std::string& run_dir,
153  const std::string& TriggerName);
154  static void fitMergedFile_IDPerfMonUpsilon(TFile* f, const std::string& run_dir,
155  const std::string& TriggerName);
156  static void fitMergedFile_IDPerfMonZee(TFile* f, const std::string& run_dir, const std::string& TriggerName);
157  static void fitMergedFile_IDPerfMonWenu(TFile* f, const std::string& run_dir, const std::string& TriggerName);
158  static void fitMergedFile_IDPerfMonZMM(TFile* f, const std::string& run_dir, const std::string& TriggerName);
159  static void fitJpsiHistograms(TH1F* hmass, TH1F* hwidth, TH1F* h1[], int n);
160  static void fitUpsilonHistograms(TH1F* hmass, TH1F* hwidth, TH1F* h1[], int n);
161  static void fitZmumuMassPlot(TH1F* hmass);
162  static std::pair<RooRealVar, RooRealVar> fitZmumuMass(TH1F* hmass);
163  static void fitZmumuHistograms(TH1F* hmass, TH1F* hwidth, std::vector<TH1F*> hvec);
164  static void processModule(TFile* f, const std::string& run_dir, TKey* key_module, const std::string& moduleName);
165  static void fitMergedFile_DiMuMonAll(TFile* f, const std::string& run_dir, const std::string& resonName,
166  const std::string& triggerName);
167  static void fitHistos(TH2F* hin, const std::vector<TH1F*>& hout, int mode, const std::string& triggerName,
168  const std::string& resonName, TH1F* m_chi2);
169  static void fillGaussianMeanOrWidth(TH2F* h2d, TH1F* h, float fitMin, float fitMax, int iopt);
170  static void fillMeanOrWidth(TH2F* h2d, TH1F* h, int iopt);
171  static void fillDetPaperMeanRMS(TH2F* h2d, TH1F* h, int iopt);
172 
173  static void meanRMSProjections2D(TH2F* h2d, TH1F* h, int iopt);
174  static void meanRMSProjections3D(TH3F* h3d, TH2F* h, int iopt);
175  static void meanRMSProjections3D_DMRPlot(TH3F* h3d, TH1F* h, int iopt);
176  static void meanRMSProjections3D_XY(TH3F* h3d, TH1F* h, int iXY, int iopt);
177  static TH1F* combineHistos(const char* name, const char* title, TObjArray* plots, int gap);
178  static void setMinWindow(TH1* h1, float min, float max);
179  static float getMedian(TH1* h1);
180  static void ProcessAsymHistograms(TH1F* m_neg, TH1F* m_pos, TH1F* m_asym);
181  static void Make1DProfile(TH1* output, TH2* histo);
182  static void MakeMap(TH2* outputhist, TH3* hist);
183  static int IterativeGaussFit(TH1* hist, double& mu, double& mu_err, double& sigma, double& sigma_err);
184 
185  // For MuonTrackMonitoring
186  static void MuonTrackPostProcess(const std::string& inFileName, bool isIncremental = false);
187  static void MuonTrack_Main(const std::string& inFileName, TString dirname);
188 
189  //For RPC
190  static void RPCPostProcess(const std::string& inFilename, bool isIncremental = false);
191  static bool RPCCheckHistogram(TFile* f, const char* HistoName);
192 
193  //For TGC
194  static void TGCPostProcess(const std::string& inFilename, bool isIncremental = false);
195  static void TGCChannelOccupancy(const std::string& inFilename, std::vector< std::pair< std::string, float > >& p);
196  static void TGCChamberOccupancy(const std::string& inFilename, std::vector< std::pair< std::string,
197  float > >& phigh,
198  std::vector< std::pair< std::string, float > >& plow);
199  static void TGCChamberEfficiency(const std::string& inFilename, std::vector< std::pair< std::string, float > >& p);
200  static void TGCChamberTiming(const std::string& inFilename, std::vector< std::pair< std::string, float > >& pro,
201  std::vector< std::pair< std::string, float > >& ptrg);
202  //static void TGCDQResultsToCool();
203  static void TGCsubsectbin2stationeta(int subsect, int bin, int& station, int& eta);
204  static void TGCsubsect2sectorphi(int subsect, int& sector, int& phi4);
205  static void TGCRawHistogramDivision(const std::string& inFilename);
206  static void TGCLV1HistogramDivision(const std::string& inFilename);
207  static int nTGCWireStripMap(int ws, int etac, int phi48);
208  static int getTGCNumberOfWires(const int istationName, const int layer, const int istationEta,
209  const int istationPhi);
210  static void TGCResetContents(TH1* h);
211 
212  //For MDTvsTGC
213  static void MDTvsTGCPostProcess(const std::string& inFilename, bool isIncremental = false);
214  static void MDTvsTGCEfficiency(const std::string& inFilename);
215  static void MDTvsTGCResetContents(TH1* h);
216 
217  class ATLAS_NOT_THREAD_SAFE PostProcessorFileWrapper: public TFile { //class to keep keep track of histograms we
218  // collect
219  public:
220  PostProcessorFileWrapper(const std::string& inFilename, const std::string& name);
221  ~PostProcessorFileWrapper(); //delete all objects accessed from the TFile whose SetDirectory(0)
222 
223  //function to automatically getObject, obj->SetDirectory(target), if target==0 save target for future deletion
224  //option to supply baseDir to get object from subdir of TFile rather than from TFile itself
225  //target if nothing is supplied thatn the object will be set to 0 (protects against f->Write() writing unintended
226  // copies of your histogram
227  template <class T>
228  void get(const char* namecycle, T*& ptr, TDirectory* baseDir = 0, TDirectory* target = 0); //use
229  // TDirectory->GetObject(const
230  // char* namecycle,
231  // void* &ptr);
232  void setDirectory(TH1* h, TDirectory* dir = 0);
233  void setDirectory(TH2* h, TDirectory* dir = 0);
234  void setDirectory(TGraph* g, TDirectory* dir = 0);
235  void setMetaData(TDirectory* targetDir, TH1* h1, TH1* h2 = 0, TH1* h3 = 0);
236  void error();//call this function if you want the underlying TFile not to write i.e. recover error in program
237  private:
238  std::set<TObject*> m_garbage;
239  std::string m_name;
240  bool m_error {};
241  };
242  //
243  //static bool TGCCheckFile(std::string inFilename, std::string& run_dir);
244  static bool TGCCheckHistogram(TFile* f, TString& hname);
245  static void TGCSetMetaData(TDirectory* targetDir, TH1* h1, TH1* h2 = 0, TH1* h3 = 0);
246 
247  //For HLT Muon
248  static void HLTMuonPostProcess(const std::string& inFilename, bool isIncremental = false);
249  static void HLTMuonHistogramDivision(const std::string& inFilename, TString& run_dir);
250  static void HLTMuonTriggerOverlapMatrix(const std::string& inFilename, TString& run_dir);
251  static bool HLTMuonCheckHistogram(TFile* f, TString& hname);
252  static void HLTMuonHDiv(PostProcessorFileWrapper& mf, TString sdir, TString snum, TString sden, TString seff,
253  TString seffg);
254 
255  //HLT Egamma
256  static void HLTEgammaPostProcess(const std::string& inFilename, bool isIncremental = false);
257 
258  static void HLTEgammaEfficiencyOff(TFile* f, TDirectory* trig_dir, TDirectory* off_dir, const TString& pathNum,
259  const TString& pathEff, const std::vector<TString>& varName);
260  static void HLTEgammaEfficiencyRel(TFile* f, TDirectory* trig_dir, const TString& pathPre, const TString& pathRej,
261  const std::vector<TString>& objStage, const std::vector<TString>& varName);
262 
263  //HLT tau
264  static void HLTTauPostProcess(const std::string& inFilename, bool isIncremental = false);
265 
266  static void HLTTauPostProcess(TFile* f, TDirectory* dir,
267  TString pathApp, TString pathAppEff,
268  const std::vector<TString>& lvlN, const std::vector<TString>& varN,
269  const std::vector< std::pair< int, int > >& ratioIndex, int nameStyle,
270  TString nameApp = "");
271 
272  static std::string getPath(TDirectory* dir);
273 
274  // HLT MET
275  static void HLTMETPostProcess(const std::string& inFileName, bool isIncremental = false);
276  static void HLTMETAveragePhivsEtaMaps(TFile* f, TString& run_dir);
277  static size_t HLTMETGetDQLBNRange(TDirectory*& run_dir, std::vector<TString>& lbnDirs);
278  static int HLTMETGetStatusPerBin(TH1I*& hist, int ymin, int ymax, int rmin, int rmax);
279  static void HLTMETDQFlagSummary(TFile* f, TString& run_dir);
280 
281  // HLT Jet
282  static void HLTCaloPostProcess(const std::string& inFileName, bool isIncremental = false);
283  static void HLTCaloAveragePtPhiEtaMaps(TFile* f, TString& run_dir);
284 
285  // HLT Jet
286  static void HLTJetPostProcess(const std::string& inFileName, bool isIncremental = false);
287  static void HLTJetCalcEfficiencyAndRate(TFile* f, TString& run_dir);
288 
289  //JetTagging
290  static void BJetTaggingPostProcess(const std::string& inFileName, bool isIncremental = false);
291  static void BJetTaggingAdjustRanges(TFile* f);
292  static void BJetTaggingNormalise(TFile* f);
293 
294  //HLT MinBiasMon
295  static void HLTMinBiasMonPostProcess(const std::string& inFileName, bool isIncremental = false);
296  static void HLTMinBiasMonGetTargetHistos(TDirectory* source,
297  std::vector< std::pair<TString, TString> >& targetNames);
298 
299  // primary vertex monitoring
300  static void pv_PrimaryVertexMonitoring_calcResoAndEfficiency(const std::string& inFilename,
301  bool isIncremental = false);
302 
303  // primary vertex multiplicity monitoring
304  static void VxMon_move(const std::string& inFilename, bool isIncremental = false);
305 
306  // L1Calo
307  static void L1CaloPostProcess(const std::string& inFileName, bool isIncremental = false);
308  static void L1CaloStabilityRMS(TFile* f, const TString& nameDir, const TString& nameTag);
309  static void L1CaloFillWithError(TFile* f, const TString& nameDir, const TString& nameData,
310  const TString& nameError);
311  static void L1CaloResetEfficiencies(TFile* f, const TString& effDir,
312  const TString& nameDen, const TString& nameEff,
313  int items, double threshold, int binSkip);
314 
315  // Pixel
316  static void PixelPostProcess(const std::string& inFilename, bool isIncremental = false);
317 
318  // Other helper methods
319  // Compute Bin Errors a la Ullrich, Paterno, Xu (see source file for more details)
320  static int ComputeUPXBinErrors(TH1F* hnum, TH1F* hden, std::vector<float>& errors);
321 
327  virtual bool setFile(const std::string& fileName);
328 
329  virtual void printStatistics();
330 
331 
336  virtual bool copyHistograms(const std::string& outFileName,
337  const std::string& dirName = "all");
338 
339  static std::string getHanResults(const std::string& hanResultsDir, const std::string& input,
340  const std::string& hcfg, const std::string& hcfg_min10,
341  const std::string& hcfg_min30);
342 
343  virtual void printHanConfig();
344 
345  virtual std::string FindCommon(const std::string& name1, const std::string& name2) const;
346  protected:
347  static std::string getIndentation(const std::string& pathName, const std::string& leadingSpace = "");
348 
350  public:
351  virtual ~HistogramOperation() { }
352  virtual bool execute(TH1* hist) = 0;
353  virtual bool execute(TGraph* graph) = 0;
354  virtual bool execute(TEfficiency* efficiency) = 0;
355  virtual bool executeMD(TH1* hist, const MetaData&) {return execute(hist);}
356  virtual bool executeMD(TGraph* graph, const MetaData&) {return execute(graph);}
357  virtual bool executeMD(TEfficiency* efficiency, const MetaData&) {return execute(efficiency);}
358  };
359 
361  public:
362  CopyHistogram(TDirectory* target, const std::string& dirName);
363  CopyHistogram(const CopyHistogram&) = delete;
365  virtual ~CopyHistogram();
366  virtual bool execute(TH1* hist);
367  virtual bool execute(TGraph* graph);
368  virtual bool execute(TEfficiency* eff);
369  virtual bool executeMD(TH1* hist, const MetaData& md);
370  virtual bool executeMD(TGraph* graph, const MetaData& md);
371  virtual bool executeMD(TEfficiency* eff, const MetaData& md);
372  protected:
373  void fillMD(const MetaData& md);
374  TDirectory* m_target {};
375  std::string m_dirName;
376  TTree* m_metadata {};
377  };
378 
380  public:
381  GatherStatistics(const std::string& dirName);
382  virtual bool execute(TH1* hist);
383  virtual bool execute(TGraph* graph);
384  virtual bool execute(TEfficiency* eff);
385 
386  std::string m_dirName;
387  int m_nHist1D {};
388  int m_nHist1DBins {};
389  int m_nGraph {};
390  int m_nGraphPoints {};
391  int m_nHist2D {};
392  int m_nHist2DBins {};
393  int m_nEfficiency {};
394  int m_nEfficiencyBins {};
395  };
396 
398  public:
400  virtual bool execute(TH1* hist);
401  virtual bool execute(TGraph* graph);
402  virtual bool execute(TEfficiency* eff);
403 
404  std::vector<std::string> m_names;
405  };
406 
407 
408  virtual void clearData();
409 
410 
411  static bool dirHasHistogramsInMetadata(TDirectory* dir);
412 
413  static void loopOnHistograms(HistogramOperation& fcn, TDirectory* dir);
414 
415  static bool loopOnHistogramsInMetadata(HistogramOperation& fcn, TDirectory* dir);
416 
417  static bool setListFromFile(std::vector<std::string>& filelist,
418  const std::string& listFileName);
419 
420  TFile* m_file {};
421 
422  private:
423 
424 
425 
426 
427  debugLevel_t m_dbgLvl{none};
428 
429 
430  typedef std::map<TDirectory*, std::vector<TDirectory*> > map_dir_vdir;
431 
432  std::map<std::string, std::vector<std::string>> buildLBToIntervalMap(TDirectory* runDir);
433 
434 
435  int mergeLB_processLBinterval(TFile* file, const std::vector<std::string> & inputDirNames, const std::string& outputDirName);
436 
437  static Int_t getNumBins(const TH1& hist);
438  std::optional<std::regex> m_mergeMatchHistoRE;
439  std::optional<std::regex> m_mergeMatchDirRE;
440  static std::atomic<int> m_fileCompressionLevel;
441  static bool m_doTiming;
442  static std::unordered_map<std::string,std::clock_t> m_cpuPerHistogram;
443  static bool s_checkEquality;
444 
445  public:
446  int mergeLBintervals(const std::string& inFilename);
447  static int getDebugLevel();
448  static void setDebugLevel(int level);
449  static int getCompressionLevel() {return m_fileCompressionLevel;}
450  static void setCompressionLevel(int level) {m_fileCompressionLevel = level;}
451  bool setHistogramRegEx(const std::string& re);
452  bool setDirectoryRegEx(const std::string& re);
453  void doTiming();
454  static void setCheckEquality(bool value);
455 
456  ClassDef(MonitoringFile, 0) // Provides functions to manipulate and analyze data-quality monitoring files
457  };
458 
459  std::string getInputDirectory(const std::string& outputDirName, TFile* input, bool has_multiple_runs,
460  std::map< TFile*, std::string >* prefixes);
461 
462  template <class T>
463  void MonitoringFile::PostProcessorFileWrapper::get(const char* namecycle, T*& ptr, TDirectory* baseDir,
464  TDirectory* target) {
465  if (baseDir) baseDir->GetObject(namecycle, ptr); // suggested root function
466  else this->GetObject(namecycle, ptr); //suggested root function
467  if (!ptr) return;
468 
469  if ((T::Class())->InheritsFrom("TH1")) {
470  TH1* obj = reinterpret_cast<TH1*> (ptr);
471 
472  obj->SetDirectory(target);
473  if (target == 0) m_garbage.insert(obj);
474  } else {
475  TObject* obj = reinterpret_cast<TObject*>(ptr);
476 
477  if (target == 0) m_garbage.insert(obj);
478  }
479  }
480 } // namespace dqutils
481 
482 // #include "DataQualityUtils/MonitoringFile_PPFileWrapper.cxx"
483 #endif
dqutils::MonitoringFile::CopyHistogram::execute
virtual bool execute(TGraph *graph)
dqutils::MonitoringFile::mergeLBintervals
int mergeLBintervals(const std::string &inFilename)
dqutils::MonitoringFile::getAllDirs
static void getAllDirs(DirMap_t &dirmap, TDirectory *dir, const std::string &dirName)
dqutils::debugLevel_t
debugLevel_t
Definition: MonitoringFile.h:56
dqutils::ATLAS_NOT_THREAD_SAFE
void getImageBuffer ATLAS_NOT_THREAD_SAFE(TImage **img, TCanvas *myC, char **x, int *y)
Definition: HanOutputFile.cxx:1130
ymin
double ymin
Definition: listroot.cxx:63
dqutils::MonitoringFile::copyHistograms
virtual bool copyHistograms(const std::string &outFileName, const std::string &dirName="all")
Copy the indicated set of histograms to an output file.
pdg_comparison.sigma
sigma
Definition: pdg_comparison.py:324
ReadCellNoiseFromCool.name1
name1
Definition: ReadCellNoiseFromCool.py:233
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
dqutils::MonitoringFile::createDir
static TDirectory * createDir(DirMap_t &dirmap, TDirectory *dir, const std::string &parent, const std::string &path)
dqutils::MonitoringFile
Definition: MonitoringFile.h:59
dqutils::MonitoringFile::setDebugLevel
static void setDebugLevel(int level)
dqutils::MonitoringFile::GatherNames::GatherNames
GatherNames()
dqutils::MonitoringFile::CheckHistogram
static bool CheckHistogram(TFile *f, const char *HistoName)
dqutils::MonitoringFile::s_checkEquality
static bool s_checkEquality
Definition: MonitoringFile.h:443
dqutils::MonitoringFile::printHanConfig
virtual void printHanConfig()
dqt_zlumi_pandas.hname
string hname
Definition: dqt_zlumi_pandas.py:280
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
dqutils::MonitoringFile::CopyHistogram::execute
virtual bool execute(TH1 *hist)
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
dqutils::MonitoringFile::PostProcessorFileWrapper::get
void get(const char *namecycle, T *&ptr, TDirectory *baseDir=0, TDirectory *target=0)
Definition: MonitoringFile.h:463
dqutils::MonitoringFile::GatherStatistics::execute
virtual bool execute(TEfficiency *eff)
plotmaker.hist
hist
Definition: plotmaker.py:148
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
dqutils::DEBUG
@ DEBUG
Definition: MonitoringFile.h:56
dqutils::MonitoringFile::mergeLB_processLBinterval
int mergeLB_processLBinterval(TFile *file, const std::vector< std::string > &inputDirNames, const std::string &outputDirName)
dqutils::MonitoringFile::HistogramOperation::executeMD
virtual bool executeMD(TH1 *hist, const MetaData &)
Definition: MonitoringFile.h:355
dqutils::MonitoringFile::HistogramOperation::~HistogramOperation
virtual ~HistogramOperation()
Definition: MonitoringFile.h:351
dirname
std::string dirname(std::string name)
Definition: utils.cxx:200
dqutils::MonitoringFile::CopyHistogram::executeMD
virtual bool executeMD(TH1 *hist, const MetaData &md)
dqutils::MonitoringFile::MetaData::MetaData
MetaData(const std::string &name_, const std::string &interval_, const std::string &chain_, const std::string &merge_)
Definition: MonitoringFile.h:62
dqutils::MonitoringFile::CopyHistogram::CopyHistogram
CopyHistogram(TDirectory *target, const std::string &dirName)
bin
Definition: BinsDiffFromStripMedian.h:43
dqutils::MonitoringFile::getDebugLevel
static int getDebugLevel()
dqutils::MonitoringFile::MetaData
Definition: MonitoringFile.h:61
dqutils::MonitoringFile::clearData
virtual void clearData()
athena.value
value
Definition: athena.py:124
python.base_data.hcfg_min10
hcfg_min10
Definition: base_data.py:22
dqutils::none
@ none
Definition: MonitoringFile.h:56
dqutils::MonitoringFile::DirMap_t
std::map< std::string, TDirectory * > DirMap_t
Definition: MonitoringFile.h:95
columnar::operator=
AccessorTemplate & operator=(AccessorTemplate &&that)
Definition: VectorColumn.h:88
PrintTrkAnaSummary.dirName
dirName
Definition: PrintTrkAnaSummary.py:275
python.base_data.hcfg
hcfg
Definition: base_data.py:21
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
dqutils::MonitoringFile::getObjKey
static TKey * getObjKey(TDirectory *dir, const std::string &path)
runIDAlign.baseDir
baseDir
Definition: runIDAlign.py:108
read_hist_ntuple.h1
h1
Definition: read_hist_ntuple.py:21
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
dqutils::MonitoringFile::CopyHistogram::fillMD
void fillMD(const MetaData &md)
CaloSwCorrections.gap
def gap(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:212
dqutils::MonitoringFile::CopyHistogram::execute
virtual bool execute(TEfficiency *eff)
dqutils::MonitoringFile::MonitoringFile
MonitoringFile()
dqutils::MonitoringFile::HistogramOperation::executeMD
virtual bool executeMD(TGraph *graph, const MetaData &)
Definition: MonitoringFile.h:356
dqutils::keycyclemap
std::map< std::string, std::vector< int > > keycyclemap
Definition: MonitoringFile.h:52
dqutils::MonitoringFile::getCompressionLevel
static int getCompressionLevel()
Definition: MonitoringFile.h:449
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
dqutils::MonitoringFile::HistogramOperation::execute
virtual bool execute(TEfficiency *efficiency)=0
dqutils::MonitoringFile::getHanResults
static std::string getHanResults(const std::string &hanResultsDir, const std::string &input, const std::string &hcfg, const std::string &hcfg_min10, const std::string &hcfg_min30)
dqutils::MonitoringFile::~MonitoringFile
virtual ~MonitoringFile()
DQPostProcessTest.mf
mf
Definition: DQPostProcessTest.py:18
m_file
std::unique_ptr< TFile > m_file
description: this is a custom writer for the old-school drivers that don't use an actual writer
Definition: OutputStreamData.cxx:52
LArG4FSStartPointFilterLegacy.execute
execute
Definition: LArG4FSStartPointFilterLegacy.py:20
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
python.checkMetadata.metadata
metadata
Definition: checkMetadata.py:175
dqutils::MonitoringFile::HistogramOperation::executeMD
virtual bool executeMD(TEfficiency *efficiency, const MetaData &)
Definition: MonitoringFile.h:357
dqutils::MonitoringFile::MonitoringFile
MonitoringFile(const std::string &fileName)
dqutils::MonitoringFile::fillMetaDataMap
static void fillMetaDataMap(std::map< std::string, dqutils::MonitoringFile::MetaData > &mdMap, TDirectory *dir)
dqutils::MonitoringFile::loopOnHistograms
static void loopOnHistograms(HistogramOperation &fcn, TDirectory *dir)
dqutils::MonitoringFile::m_cpuPerHistogram
static std::unordered_map< std::string, std::clock_t > m_cpuPerHistogram
Definition: MonitoringFile.h:442
dqutils::MonitoringFile::loopOnHistogramsInMetadata
static bool loopOnHistogramsInMetadata(HistogramOperation &fcn, TDirectory *dir)
dqutils::MonitoringFile::CopyHistogram::CopyHistogram
CopyHistogram(const CopyHistogram &)=delete
efficiency
void efficiency(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:128
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
dqutils::MonitoringFile::HistogramOperation
Definition: MonitoringFile.h:349
covarianceTool.pathName
pathName
Definition: covarianceTool.py:704
dqutils::MonitoringFile::OutputMetadata::makeBranch
void makeBranch(const char *branchName, const char *branchstr)
dqutils::MonitoringFile::CopyHistogram::~CopyHistogram
virtual ~CopyHistogram()
dqutils::populateKeyMapping
void populateKeyMapping(TDirectory *, keycyclemap &)
dqutils::MonitoringFile::setCompressionLevel
static void setCompressionLevel(int level)
Definition: MonitoringFile.h:450
dqutils::MonitoringFile::m_mergeMatchDirRE
std::optional< std::regex > m_mergeMatchDirRE
Definition: MonitoringFile.h:439
dqutils::MonitoringFile::CopyHistogram::executeMD
virtual bool executeMD(TGraph *graph, const MetaData &md)
dqutils::MonitoringFile::MetaData::merge
std::string merge
Definition: MonitoringFile.h:68
dqutils::MonitoringFile::OutputMetadata::fill
virtual void fill(const std::string &name, const std::string &interval, const std::string &chain, const std::string &merge)
mergePhysValFiles.errors
list errors
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:42
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
beamspotman.n
n
Definition: beamspotman.py:727
PixelAthClusterMonAlgCfg.varName
string varName
end cluster ToT and charge
Definition: PixelAthClusterMonAlgCfg.py:125
dqutils::MonitoringFile::map_dir_vdir
std::map< TDirectory *, std::vector< TDirectory * > > map_dir_vdir
Definition: MonitoringFile.h:430
dqutils::MonitoringFile::MetaData::name
std::string name
Definition: MonitoringFile.h:65
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
dqutils::MonitoringFile::setHistogramRegEx
bool setHistogramRegEx(const std::string &re)
covarianceTool.title
title
Definition: covarianceTool.py:542
getLatestRuns.interval
interval
Definition: getLatestRuns.py:24
dqutils::MonitoringFile::mergeFiles
int mergeFiles(const std::string &outFileName, const std::string &listFileName)
generateReferenceFile.files
files
Definition: generateReferenceFile.py:12
file
TFile * file
Definition: tile_monitor.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
IDTPMcnv.inFileName
inFileName
Definition: IDTPMcnv.py:17
dqutils::MonitoringFile::OutputMetadata::~OutputMetadata
virtual ~OutputMetadata()=default
dqutils::MonitoringFile::getPath
static std::string getPath(TDirectory *dir)
dqutils::MonitoringFile::GatherNames::m_names
std::vector< std::string > m_names
Definition: MonitoringFile.h:404
dqutils::MonitoringFile::PostProcessorFileWrapper
Definition: MonitoringFile.h:217
Preparation.mode
mode
Definition: Preparation.py:107
hist_file_dump.f
f
Definition: hist_file_dump.py:140
dqutils::getInputDirectory
std::string getInputDirectory(const std::string &outputDirName, TFile *input, bool has_multiple_runs, std::map< TFile *, std::string > *prefixes)
dqutils::MonitoringFile::CopyHistogram::executeMD
virtual bool executeMD(TEfficiency *eff, const MetaData &md)
dqutils
Definition: CoolMdt.h:76
dqutils::MonitoringFile::CopyHistogram::m_dirName
std::string m_dirName
Definition: MonitoringFile.h:375
dqutils::MonitoringFile::MetaData::interval
std::string interval
Definition: MonitoringFile.h:66
dqutils::MonitoringFile::mergeFiles
int mergeFiles(const std::string &outFileName, const std::vector< std::string > &files, fileLBMap_t &lbMap, bool fillLBDirs=true)
beamspotman.dir
string dir
Definition: beamspotman.py:619
dqutils::MonitoringFile::doTiming
void doTiming()
dqutils::MonitoringFile::GatherStatistics::GatherStatistics
GatherStatistics(const std::string &dirName)
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
dqutils::MonitoringFile::setCheckEquality
static void setCheckEquality(bool value)
threshold
Definition: chainparser.cxx:74
dumpNswErrorDb.outFileName
string outFileName
Definition: dumpNswErrorDb.py:131
TrigJetMonitorAlgorithm.items
items
Definition: TrigJetMonitorAlgorithm.py:71
dqutils::MonitoringFile::HistogramOperation::execute
virtual bool execute(TGraph *graph)=0
dqutils::MonitoringFile::GatherStatistics
Definition: MonitoringFile.h:379
dqutils::MonitoringFile::dirHasHistogramsInMetadata
static bool dirHasHistogramsInMetadata(TDirectory *dir)
dqutils::MonitoringFile::GatherStatistics::execute
virtual bool execute(TGraph *graph)
dqutils::MonitoringFile::GatherNames::execute
virtual bool execute(TH1 *hist)
dqutils::MonitoringFile::OutputMetadata::OutputMetadata
OutputMetadata(TTree *metadata)
dqutils::MonitoringFile::OutputMetadata
Definition: MonitoringFile.h:72
python.base_data.hcfg_min30
hcfg_min30
Definition: base_data.py:23
dqutils::MonitoringFile::setDirectoryRegEx
bool setDirectoryRegEx(const std::string &re)
beamspotman.lbMap
dictionary lbMap
Definition: beamspotman.py:1129
dqutils::MonitoringFile::m_doTiming
static bool m_doTiming
Definition: MonitoringFile.h:441
a
TList * a
Definition: liststreamerinfos.cxx:10
h
dqutils::MonitoringFile::m_fileCompressionLevel
static std::atomic< int > m_fileCompressionLevel
Definition: MonitoringFile.h:440
copySelective.target
string target
Definition: copySelective.py:36
python.envutil.filelist
filelist
print ("Checking files %s..." % fullfile)
Definition: envutil.py:133
re
const boost::regex re(r_e)
dqutils::MonitoringFile::PostProcessorFileWrapper::m_name
std::string m_name
Definition: MonitoringFile.h:239
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
dqutils::VERBOSE
@ VERBOSE
Definition: MonitoringFile.h:56
covarianceTool.plots
plots
Definition: covarianceTool.py:698
python.base_data.hanResultsDir
hanResultsDir
Definition: base_data.py:31
dqutils::MonitoringFile::FindCommon
virtual std::string FindCommon(const std::string &name1, const std::string &name2) const
dqutils::MonitoringFile::HistogramOperation::execute
virtual bool execute(TH1 *hist)=0
m_pos
PixelDiodeTree::Vector2D m_pos
Definition: PixelDiodeTreeBuilder.cxx:53
dqutils::MonitoringFile::GatherStatistics::execute
virtual bool execute(TH1 *hist)
dqutils::MonitoringFile::GatherNames
Definition: MonitoringFile.h:397
dqutils::fileLBMap_t
std::map< std::string, std::set< std::string > > fileLBMap_t
Definition: MonitoringFile.h:53
extractSporadic.nameDir
string nameDir
Definition: extractSporadic.py:84
dqutils::MonitoringFile::getIndentation
static std::string getIndentation(const std::string &pathName, const std::string &leadingSpace="")
dqutils::MonitoringFile::GatherStatistics::m_dirName
std::string m_dirName
Definition: MonitoringFile.h:386
dqutils::MonitoringFile::MetaData::chain
std::string chain
Definition: MonitoringFile.h:67
dqt_zlumi_alleff_HIST.eff
int eff
Definition: dqt_zlumi_alleff_HIST.py:113
copySelective.source
string source
Definition: copySelective.py:31
dqutils::MonitoringFile::printStatistics
virtual void printStatistics()
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
dqutils::MonitoringFile::PostProcessorFileWrapper::m_garbage
std::set< TObject * > m_garbage
Definition: MonitoringFile.h:238
jobOptions.fileName
fileName
Definition: jobOptions.SuperChic_ALP2.py:39
get_generator_info.error
error
Definition: get_generator_info.py:40
plotBeamSpotCompare.histo
histo
Definition: plotBeamSpotCompare.py:414
checker_macros.h
Define macros for attributes used to control the static checker.
python.PyAthena.obj
obj
Definition: PyAthena.py:132
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:51
dqutils::MonitoringFile::GatherNames::execute
virtual bool execute(TEfficiency *eff)
DQHistogramMerge.isIncremental
isIncremental
Definition: DQHistogramMerge.py:36
dqutils::MonitoringFile::setFile
virtual bool setFile(const std::string &fileName)
Clears all previous data and opens the file with the given name for analysis, returning a boolean ind...
dqutils::MonitoringFile::CopyHistogram
Definition: MonitoringFile.h:360
dqutils::MonitoringFile::GatherNames::execute
virtual bool execute(TGraph *graph)
merge
Definition: merge.py:1
dqutils::MonitoringFile::setListFromFile
static bool setListFromFile(std::vector< std::string > &filelist, const std::string &listFileName)
dqutils::MonitoringFile::buildLBToIntervalMap
std::map< std::string, std::vector< std::string > > buildLBToIntervalMap(TDirectory *runDir)
ymax
double ymax
Definition: listroot.cxx:64
dqutils::MonitoringFile::m_mergeMatchHistoRE
std::optional< std::regex > m_mergeMatchHistoRE
Definition: MonitoringFile.h:438