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",
""};
83 Bool_t
relative =
false,Bool_t pull =
false,TString saveas =
"");
88 Bool_t
relative =
false,Bool_t pull =
false,
90 void placeholder(TString saveas =
"",Bool_t wide =
false);
102 Int_t
nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
103 TF1 *
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
105 TString saveas =
"");
107 Int_t
nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
108 TF1 *
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
110 TString saveas =
"");
112 TF1 *
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
114 TString saveas =
"");
116 TF1 *
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
118 TString saveas =
"");
120 Int_t
nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
121 TString
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
123 TString saveas =
"");
125 Int_t
nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
126 TString
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
128 TString saveas =
"");
130 TString
function,Int_t
parameter,TString parametername =
"",TString functionname =
"",
132 TString saveas =
"");
134 TString
function,Int_t nParameters,Int_t *
parameters,TString *parameternames,TString functionname =
"",
136 TString saveas =
"");
138 Int_t
nFiles,TString *
names,TString misalignment,Double_t *
values,Double_t *phases,TString xvar,TString yvar,
139 Bool_t drawfits =
true,
141 TString saveas =
"");
143 Bool_t drawfits =
true,
145 TString saveas =
"");
146 Bool_t
hasFit(TString misalignment,TString xvar,TString yvar,Bool_t
relative =
false,Bool_t
resolution =
false,Bool_t pull =
false);
160 TString xvar,TString yvar);
172 TString
units(TString variable,Char_t axis);
176 TString
nPart(Int_t
part,TString
string,TString delimit =
";",Bool_t removerest =
true);
198 Double_t
placeLegend(TLegend *
l, Double_t
width, Double_t height, Double_t x1min, Double_t y1min, Double_t x2max, Double_t y2max);
199 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="")