ATLAS Offline Software
Loading...
Searching...
No Matches
PixelResidualHistograms.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PixelResidualHistograms_h
6#define PixelResidualHistograms_h
7
8template < class T, class Allocator > class vector;
9class string;
10
11class TH1D;
12class TProfile;
13class TCanvas;
14template <class ht> class MultiHisto;
15
16
17namespace PixelCalib{
18
20
22
23public:
24 PixelResidualHistograms(const std::string& name,
25 const std::string& title,
26 double limits,
27 int nbins,
28 const std::vector< std::vector < float > > &binnage,
29 const std::vector< std::string > &binnames);
30
32
33 void SetAxisTitle(const std::string& title);
34
35 void Fill(float residual, const std::vector< float >& parameters);
36
37 int Write(bool writebins = false);
38 int Read();
39
40 TH1D* GetHisto(const int i);
41 TProfile* GetMeanProfile(const std::string& binname);
42 TProfile* GetRMSProfile(const std::string& binname);
43 TProfile* GetProfile(const int binnumber, bool RMS = false, bool savebins = false);
44
45 TH1D *GetGlobalHisto();
46
47 std::vector <TCanvas *> *DrawProfiles(int color,
48 int marker,
49 float labely = 0,
50 std::vector <TCanvas *> *canvasvector = 0,
51 const std::string& name = "");
52
53 //const std::vector< std::string > *GetBinsNames() const;
54 //const std::vector < float > *GetBins(const std::string binname) const;
55
56 //PixelResidualHistograms *Clone() const;
57
58 /*void DrawHisto(int iHisto,
59 int color,
60 int marker,
61 float labelx, float labely,
62 std::string label,
63 std::string Options);*/
64
65 /*void DrawProfile(const std::string binname,
66 int color,
67 int marker,
68 float labelx, float labely,
69 std::string label,
70 std::string Options);*/
71
72 /*int Analyze(PixelResidualHistograms *reference = 0,
73 std::string referencename = "Reference");*/
74
75private:
76
79
81 std::vector< TProfile*> *m_MeanProfilesVector;
82 std::vector< TProfile*> *m_RMSProfilesVector;
84 std::vector< std::string > m_binnames;
85 std::vector< std::vector < float > > m_binnage;
86 std::string m_axisName;
87
89
90};
91
92
93} // end namespace
94
95#endif // #ifdef OfflineCalibValidation_h
PixelResidualHistograms & operator=(const PixelResidualHistograms &)
TProfile * GetRMSProfile(const std::string &binname)
PixelResidualHistograms(const PixelResidualHistograms &)
void SetAxisTitle(const std::string &title)
PixelResidualHistograms(const std::string &name, const std::string &title, double limits, int nbins, const std::vector< std::vector< float > > &binnage, const std::vector< std::string > &binnames)
TProfile * GetProfile(const int binnumber, bool RMS=false, bool savebins=false)
std::vector< TProfile * > * m_MeanProfilesVector
TProfile * GetMeanProfile(const std::string &binname)
void Fill(float residual, const std::vector< float > &parameters)
std::vector< TProfile * > * m_RMSProfilesVector
std::vector< std::vector< float > > m_binnage
std::vector< TCanvas * > * DrawProfiles(int color, int marker, float labely=0, std::vector< TCanvas * > *canvasvector=0, const std::string &name="")
STL class.