1 #ifndef TRACKSPLITPLOT_H
2 #define TRACKSPLITPLOT_H
11 #include "TGraph2DErrors.h"
12 #include "TGraphErrors.h"
17 #include "TLegendEntry.h"
20 #include "TMultiGraph.h"
53 TString
xvariables[
xsize] = {
"pt",
"eta",
"phi",
"dz",
"dxy",
"theta",
"qoverpt",
"runNumber",
"nHits",
""};
54 TString
yvariables[
ysize] = {
"pt",
"pt",
"eta",
"phi",
"dz",
"dxy",
"theta",
"qoverpt",
""};
80 Bool_t
relative =
false,Bool_t pull =
false,TString saveas =
"");
85 Bool_t
relative =
false,Bool_t pull =
false,
87 void placeholder(TString saveas =
"",Bool_t wide =
false);
99 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
100 TF1 *
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
102 TString saveas =
"");
104 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
105 TF1 *
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
107 TString saveas =
"");
109 TF1 *
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
111 TString saveas =
"");
113 TF1 *
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
115 TString saveas =
"");
117 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
118 TString
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
120 TString saveas =
"");
122 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
123 TString
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
125 TString saveas =
"");
127 TString
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
129 TString saveas =
"");
131 TString
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
133 TString saveas =
"");
135 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
136 Bool_t drawfits =
true,
138 TString saveas =
"");
140 Bool_t drawfits =
true,
142 TString saveas =
"");
143 Bool_t
hasFit(TString misalignment,TString xvar,TString yvar,Bool_t
relative =
false,Bool_t
resolution =
false,Bool_t pull =
false);
157 TString xvar,TString yvar);
169 TString
units(TString variable,Char_t axis);
173 TString
nPart(Int_t
part,TString
string,TString delimit =
";",Bool_t removerest =
true);
180 Double_t
findAverage(Int_t nFiles,TString *
files,TString var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
181 Double_t
findMin(Int_t nFiles,TString *
files,TString var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
182 Double_t
findMax(Int_t nFiles,TString *
files,TString var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
183 Double_t
findRMS(Int_t nFiles,TString *
files,TString var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
186 Double_t
findMin(TString
file,TString var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
187 Double_t
findMax(TString
file,TString var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
188 Double_t
findRMS(TString
file,TString var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
195 Double_t
placeLegend(TLegend *
l, Double_t
width, Double_t height, Double_t x1min, Double_t y1min, Double_t x2max, Double_t y2max);
196 Bool_t
fitsHere(TLegend *
l,Double_t x1, Double_t y1, Double_t x2, Double_t y2);
TString yvariables[ysize]
TString xvariables[xsize]
Double_t findStatistic(Statistic what, Int_t nFiles, TString *files, TString var, Char_t axis, Bool_t relative=false, Bool_t pull=false)
static const HistoName names[]
Double_t findRMS(Int_t nFiles, TString *files, TString var, Char_t axis, Bool_t relative=false, Bool_t pull=false)
void deleteCanvas(TObject *canvas)
TString fancyname(TString variable)
void setAxisLabels(TH1 *p, PlotType type, TString xvar, TString yvar, Bool_t relative, Bool_t pull)
const T & max(const T &a, const T &b)
void placeholder(TString saveas="", Bool_t wide=false)
void runNumberZoomed(Int_t nFiles, TString *files, TString *names, TString yvar, Bool_t relative=false, Bool_t resolution=false, Bool_t pull=false, Int_t firstRun=-1, Int_t lastRun=-1, TString saveas="")
TCanvas * trackSplitPlot(Int_t nFiles, TString *files, TString *names, TString xvar, TString yvar, Bool_t relative=false, Bool_t resolution=false, Bool_t pull=false, TString saveas="")
void axislimits(Int_t nFiles, TString *files, TString var, Char_t axis, Bool_t relative, Bool_t pull, Double_t &min, Double_t &max)
void saveplot(TCanvas *c1, TString saveas)
TString nPart(Int_t part, TString string, TString delimit=";", Bool_t removerest=true)
Double_t findMin(Int_t nFiles, TString *files, TString var, Char_t axis, Bool_t relative=false, Bool_t pull=false)
Bool_t hasFit(TString misalignment, TString xvar, TString yvar, Bool_t relative=false, Bool_t resolution=false, Bool_t pull=false)
TString units(TString variable, Char_t axis)
Bool_t relativearray[ysize]
Bool_t fitsHere(TLegend *l, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Double_t placeLegend(TLegend *l, Double_t width, Double_t height, Double_t x1min, Double_t y1min, Double_t x2max, Double_t y2max)
Double_t findMax(Int_t nFiles, TString *files, TString var, Char_t axis, Bool_t relative=false, Bool_t pull=false)
Int_t binsProfileResolution
void makePlots(Int_t nFiles, TString *files, TString *names, TString misalignment, Double_t *values, Double_t *phases, TString directory, Bool_t matrix[xsize][ysize])
TString axislabel(TString variable, Char_t axis, Bool_t relative=false, Bool_t resolution=false, Bool_t pull=false)
Double_t findAverage(Int_t nFiles, TString *files, TString var, Char_t axis, Bool_t relative=false, Bool_t pull=false)
void misalignmentDependence(TCanvas *c1old, Int_t nFiles, TString *names, TString misalignment, Double_t *values, Double_t *phases, TString xvar, TString yvar, TF1 *function, Int_t parameter, TString parametername="", TString functionname="", Bool_t relative=false, Bool_t resolution=false, Bool_t pull=false, TString saveas="")