1 #ifndef TRACKSPLITPLOT_H
2 #define TRACKSPLITPLOT_H
12 #include "TGraph2DErrors.h"
13 #include "TGraphErrors.h"
18 #include "TLegendEntry.h"
21 #include "TMultiGraph.h"
54 TString
xvariables[
xsize] = {
"pt",
"eta",
"phi",
"dz",
"dxy",
"theta",
"qoverpt",
"runNumber",
"nHits",
""};
55 TString
yvariables[
ysize] = {
"pt",
"pt",
"eta",
"phi",
"dz",
"dxy",
"theta",
"qoverpt",
""};
81 Bool_t
relative =
false,Bool_t pull =
false,TString saveas =
"");
86 Bool_t
relative =
false,Bool_t pull =
false,
88 void placeholder(TString saveas =
"",Bool_t wide =
false);
100 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
101 TF1 *
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
103 TString saveas =
"");
105 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
106 TF1 *
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
108 TString saveas =
"");
110 TF1 *
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
112 TString saveas =
"");
114 TF1 *
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
116 TString saveas =
"");
118 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
119 TString
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
121 TString saveas =
"");
123 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
124 TString
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
126 TString saveas =
"");
128 TString
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
130 TString saveas =
"");
132 TString
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
134 TString saveas =
"");
136 Int_t nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
137 Bool_t drawfits =
true,
139 TString saveas =
"");
141 Bool_t drawfits =
true,
143 TString saveas =
"");
144 Bool_t
hasFit(TString misalignment,TString xvar,TString yvar,Bool_t
relative =
false,Bool_t
resolution =
false,Bool_t pull =
false);
158 TString xvar,TString yvar);
170 TString
units(TString variable,Char_t axis);
174 TString
nPart(Int_t
part,TString
string,TString delimit =
";",Bool_t removerest =
true);
182 Double_t
findMin(Int_t nFiles,TString *
files,TString
var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
183 Double_t
findMax(Int_t nFiles,TString *
files,TString
var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
184 Double_t
findRMS(Int_t nFiles,TString *
files,TString
var,Char_t axis,Bool_t
relative =
false,Bool_t pull =
false);
196 Double_t
placeLegend(TLegend *
l, Double_t
width, Double_t height, Double_t x1min, Double_t y1min, Double_t x2max, Double_t y2max);
197 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)
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="")