-
Notifications
You must be signed in to change notification settings - Fork 1
/
SteerPlotter.h
162 lines (115 loc) · 4.9 KB
/
SteerPlotter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#ifndef STEERPLOTTER__
#define STEERPLOTTER__
#include <cstdlib>
#include <TObjArray.h>
#include <TArrayI.h>
#include <TArrayF.h>
#include <TString.h>
#include "BaseSteer.h"
class SteerPlotter: public BaseSteer {
public:
SteerPlotter();
virtual ~SteerPlotter();
virtual void Print(Option_t* option="") const;
void SetShapeNorm(Bool_t flag);
Bool_t GetShapeNorm();
void SetLumiNorm(Bool_t flag);
Bool_t GetLumiNorm();
void SetRatioPlot(Bool_t flag);
Bool_t GetRatioPlot();
void SetZScoreInRatio(Bool_t flag);
Bool_t GetZScoreInRatio();
void SetPortrait(Bool_t flag);
Bool_t GetPortrait();
void SetFitPtBalanceHists(Bool_t flag);
Bool_t GetFitPtBalanceHists();
void SetJetShapesPerSlice(Bool_t flag);
Bool_t GetJetShapesPerSlice();
void SetDrawEntries(Bool_t flag);
Bool_t GetDrawEntries();
void SetSampleNames(const char* in);
TObjArray* GetSampleNames();
void SetInputFiles(const char* in);
TObjArray* GetInputFiles();
void SetOutputPsFile(const char* in);
const char* GetOutputPsFile();
void SetCycleName(const char* in);
const char* GetCycleName();
void SetLegStrings(const char* in);
TObjArray* GetLegStrings();
void SetScaleSysUnc(const char* in);
TObjArray* GetScaleSysUnc();
void SetSysUncWeight(const char* in);
TArrayF GetSysUncWeight();
void SetHistColors(const char* in);
TArrayI GetHistColors();
void SetHistMarkers(const char* in);
TArrayI GetHistMarkers();
void SetSamplesToStack(const char* in);
TObjArray* GetSamplesToStack();
void SetSamplesWeight(const char* in);
TArrayF GetSamplesWeight();
void SetSamplesUnc(const char* in);
TArrayF GetSamplesUnc();
void SetSubstractBkgd(Bool_t flag);
Bool_t GetSubstractBkgd();
void SetDrawLumi(Bool_t flag);
Bool_t GetDrawLumi();
void SetForPrelim(Bool_t flag);
Bool_t GetForPrelim();
void SetForPublication(Bool_t flag);
Bool_t GetForPublication();
void SetDrawLegend(Bool_t flag);
Bool_t GetDrawLegend();
void SetLumi(Float_t lumi);
Float_t GetLumi();
void SetSysError(Float_t err);
Float_t GetSysError();
void SetDoCumulative(Bool_t flag);
Bool_t GetDoCumulative();
void SetSingleEPS(Bool_t flag);
Bool_t GetSingleEPS();
void SetIgnoreEmptyBins(Bool_t flag);
Bool_t GetIgnoreEmptyBins();
void SetPlotThetaFile(Bool_t flag);
Bool_t GetPlotThetaFile();
void SetLogy(Bool_t flag);
Bool_t GetLogy();
private:
Bool_t bShapeNorm; // Shape normalization?
Bool_t bLumiNorm; // Lumi normalization?
Bool_t bRatioPlot; // plot ratios
Bool_t bZScoreInRatio; // plot z-score instead of usual ratio
Bool_t bLogy; // plot y-axis on log scale?
Bool_t bPortrait; // portrait or landscape
Bool_t bDrawEntries; // draw the number of entries?
Bool_t bDrawLumi; // draw the lumi information?
Bool_t bForPrelim; // write "CMS Preliminary"
Bool_t bForPublication; // write "CMS"
Bool_t bDrawLegend; // draw the legend everywhere?
Bool_t bFitPtBalanceHists; // fit Pt-balance histograms?
Bool_t bJetShapesPerSlice; // plot each slide of the jet shape histograms?
Bool_t bDoCumulative; // do cumulative distributions instead of normal plots
Bool_t bSingleEPS; // make one EPS file for each histogram
Bool_t bPlotThetaFile; // take input histograms from theta file
Bool_t bIgnoreEmptyBins; // ignore empty bins in the ratio
Int_t fNumOfSamples; // how many analysis samples should be plotted
Float_t fLumi; // integrated luminosity of sample
Float_t fSysError; // systematic error on normalisation
TObjArray fSampleNames; // all sample name
TObjArray fSamplesToStack; // name of samples that should be stacked on top of each other
Int_t fNumOfSamplesToStack; // how many samples should be stacked
Bool_t bSubstractBkgd; // substract all background samples?
TArrayF fSamplesWeight; // weights for the different samples
TArrayF fSamplesUnc; // uncertainty on the normalisation of various samples
TObjArray fInputFiles; // input filenames
TString fCycleName; // name of the cycle, can be used as prefix for the filenames
TString fOutputPsFile; // name of the resulting ps file
TArrayI fHistColors; // the histogram colors
TArrayI fHistMarkers; // the histogram markers
TObjArray fLegStrings; // legend entries
TObjArray fScaleSysUnc; // names of systematic uncertainties to scale
TArrayF fSysUncWeight; // scaling factor for systematic uncertainties
ClassDef(SteerPlotter,0) // steering class for the SFrame Plotter
};
#endif