ATLAS Offline Software
Loading...
Searching...
No Matches
TRootCompare.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGVALTOOLS_TROOTCOMPARE_H
6#define TRIGVALTOOLS_TROOTCOMPARE_H
7
14
15#include "TFileLooper.h"
16#include "TFile.h"
17#include "TCanvas.h"
18#include "TKey.h"
19
28class TRootCompare : public TFileLooper {
29 public:
30 enum ALG {BIN, CHI2, AXIS};
31
32 public:
34 virtual ~TRootCompare();
35
36 virtual void processKey(TDirectory& dir, TKey& key);
37 virtual void beginJob();
38 virtual void endJob();
39
40 Bool_t setReferenceFile(const char* filename, const char* baseDir = 0);
41 Bool_t setOutputFile(const char* filename);
42 Bool_t setPsFile(const char* filename);
43 void setAlg(TRootCompare::ALG alg, Double_t threshold) {
45 }
46 void drawNormalized(Bool_t norm = kTRUE) { m_drawNormalized = norm; }
47 void drawDiff(Bool_t diff = kTRUE) { m_drawDiff = diff; }
48 void sortLabels(Bool_t sort = kTRUE) { m_sortLabels = sort; }
49
50 Int_t matchingHist() const { return m_histMatch; }
51 Int_t totalHist() const { return m_histTotal; }
52 Int_t missingHist() const { return m_histMissing; }
53
54 private:
55 Bool_t compareHist(const TH1& h, const TH1& href);
56 void sortAndDeflate(TH1& h);
57 void createDirectory(TFile* f, const char* dirpath);
58 void printCanvas(const char* filename);
59
60 private:
61 TFile* m_refFile;
62 TFile* m_outFile;
63 TString m_refRootDir;
64 TString m_psFile;
65 TCanvas* m_can;
66
68 Double_t m_threshold;
73 Bool_t m_drawDiff;
75
76 std::vector<std::string> m_noMatch;
77
78};
79
80#endif
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.
Definition Jet.cxx:631
TFileLooper class.
Header file for AthHistogramAlgorithm.
TFileLooper()=default
std::vector< std::string > m_noMatch
void drawNormalized(Bool_t norm=kTRUE)
TString m_refRootDir
void createDirectory(TFile *f, const char *dirpath)
void printCanvas(const char *filename)
virtual void processKey(TDirectory &dir, TKey &key)
Method called for every key.
void drawDiff(Bool_t diff=kTRUE)
Int_t missingHist() const
TFile * m_outFile
void setAlg(TRootCompare::ALG alg, Double_t threshold)
Bool_t compareHist(const TH1 &h, const TH1 &href)
Int_t m_histTotal
void sortAndDeflate(TH1 &h)
TFile * m_refFile
void sortLabels(Bool_t sort=kTRUE)
virtual void beginJob()
Int_t totalHist() const
Bool_t m_sortLabels
TCanvas * m_can
Int_t matchingHist() const
Double_t m_threshold
Bool_t m_drawNormalized
Bool_t setPsFile(const char *filename)
Int_t m_histMatch
virtual void endJob()
virtual ~TRootCompare()
Bool_t setReferenceFile(const char *filename, const char *baseDir=0)
Bool_t setOutputFile(const char *filename)
Bool_t m_drawDiff
TString m_psFile
Int_t m_histMissing