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