12 #ifndef SDELTAPTCUTSTUDY_H
13 #define SDELTAPTCUTSTUDY_H
37 #include <TPaveText.h>
38 #include <TDirectory.h>
70 void SetInputOutputFiles(
const TString sInput,
const TString sOutput);
71 void SetInputTuples(
const TString sTrack,
const TString sTruth);
72 void SetGeneralTrackCuts(
const uint32_t nInttCut,
const uint32_t nMvtxCut,
const uint32_t nTpcCut,
const double qualCut,
const double vzCut,
const double ptCut);
73 void SetSigmaFitGuesses(
const array<float, Const::NPar> hiGuess,
const array<float, Const::NPar> loGuess);
74 void SetNormAndFitRanges(
const pair<float, float>
norm,
const pair<float, float> ptFit,
const pair<float, float> deltaFit);
75 void SetPlotRanges(
const pair<float, float> ptRange,
const pair<float, float> fracRange,
const pair<float, float> deltaRange);
76 void SetGeneralStyleParameters(
const array<uint32_t, Const::NTypes> arrCol,
const array<uint32_t, Const::NTypes> arrMar);
77 void SetGeneralHistParameters(
const uint32_t fill,
const uint32_t
line,
const uint32_t
width,
const uint32_t font,
const uint32_t align,
const uint32_t center);
78 void SetHistBaseNames(
const TString sProj,
const TString sDelta,
const TString sTrue,
const TString sReco,
const TString sFrac,
const TString sTrack);
79 void SetPlotText(
const vector<TString> plotText);
80 void SetEffRebinParameters(
const bool doRebin,
const size_t nRebin = 2);
81 void SetProjectionParameters(
const vector<tuple<double, TString, uint32_t, uint32_t, uint32_t>> projParams);
82 void SetFlatCutParameters(
const vector<tuple<double, TString, uint32_t, uint32_t, bool>> flatParams);
83 void SetPtDependCutParameters(
const vector<tuple<double, TString, uint32_t, uint32_t, uint32_t, bool>> ptDependParams);
99 void ApplyFlatDeltaPtCuts();
100 void ApplyPtDependentDeltaPtCuts();
101 void FillTruthHistograms();
102 void CreateSigmaGraphs();
103 void CalculateRejectionFactors();
104 void CalculateEfficiencies();
121 uint32_t nInttTrkMin = 1;
122 uint32_t nMVtxTrkMin = 2;
123 uint32_t nTpcTrkMin = 35;
124 double qualTrkMax = 10.;
125 double vzTrkMax = 10.;
126 double ptTrkMin = 0.1;
129 array<float, Const::NPar> sigHiGuess = {1., -1., 1.};
130 array<float, Const::NPar> sigLoGuess = {1., -1., 1.};
131 array<float, Const::NRange> normRange = {0.2, 1.2};
132 array<float, Const::NRange> ptFitRange = {0.5, 40.};
133 array<float, Const::NRange> deltaFitRange = {0., 0.1};
146 size_t iCutToDraw = 0;
154 size_t iSigToDraw = 0;
162 TString sPtProjBase =
"DeltaPtProj";
163 TString sPtDeltaBase =
"DeltaPt";
164 TString sPtTrueBase =
"PtTrue";
165 TString sPtRecoBase =
"PtReco";
166 TString sPtFracBase =
"PtFrac";
167 TString sPtTrkTruBase =
"PtTrkTruth";
174 array<float, Const::NRange> rPtRange = {0., 60.};
175 array<float, Const::NRange> rFracRange = {0., 4.};
176 array<float, Const::NRange> rDeltaRange = {0., 0.1};
185 uint32_t fColTrue = 923;
186 uint32_t fColPure = 923;
187 uint32_t fColTrk = 809;
188 uint32_t fMarTrue = 20;
189 uint32_t fMarPure = 20;
190 uint32_t fMarTrk = 46;
191 size_t nEffRebin = 5;
192 bool doEffRebin =
true;