8#include "FairRootManager.h"
30 void DrawHistFromFile(
const std::string& fileInmed,
const std::string& fileQgp,
const std::string& fileOmega,
31 const std::string& filePhi,
const std::string& fileOmegaD,
const std::string& dataDir =
"",
41 std::vector<LmvmHist*>
fH;
69 FairRootManager* ioman = FairRootManager::Instance();
70 if (ioman ==
nullptr) LOG(fatal) <<
"LmvmDrawAll: No FairRootManager!";
71 T* array =
static_cast<T*
>(ioman->GetObject(name.c_str()));
72 if (array ==
nullptr) LOG(fatal) <<
"LmvmDrawAll: No " << name <<
"object!";
87 TH1D*
VaryBinWidth(TH1D*
h,
double nEvents, std::vector<std::pair<double, double>> binValues);
96 TH1D*
VaryBinWidth(
const std::string& option,
const std::string& hName,
double nEvents,
97 std::vector<std::pair<double, double>> binValues);
108 std::vector<std::pair<double, double>> binValues);
112 TH1D*
VaryBinWidth(
const std::string& option,
const std::string& hName,
113 std::vector<std::pair<double, double>> binValues);
115 std::vector<std::pair<double, double>> binValues);
119 std::vector<std::pair<double, double>>
fBwVarOrig = {std::make_pair(2.5, 0.01)};
120 std::vector<std::pair<double, double>>
fBwVarReg = {std::make_pair(2.5, 0.1)};
121 std::vector<std::pair<double, double>>
fBwVarBg = {std::make_pair(1.5, 0.1), std::make_pair(2.0, 0.25),
122 std::make_pair(2.5, 0.5)};
123 std::vector<std::pair<double, double>>
fBwVarBg2 = {std::make_pair(1.5, 0.1), std::make_pair(1.75, 0.25),
124 std::make_pair(2.5, 0.75)};
125 std::vector<std::pair<double, double>>
fBwVarBg3 = {std::make_pair(1.6, 0.2), std::make_pair(2.0, 0.4),
126 std::make_pair(2.5, 0.5)};
127 std::vector<std::pair<double, double>>
fBwVarBg4 = {std::make_pair(1.6, 0.4), std::make_pair(2.5, 0.9)};
128 std::vector<std::pair<double, double>>
fBwVarBg5 = {std::make_pair(1.5, 0.3), std::make_pair(2.5, 1.0)};
129 std::vector<std::pair<double, double>>
fBwVarSig = {std::make_pair(0.5, 0.1), std::make_pair(1.1, 0.05),
130 std::make_pair(1.5, 0.2), std::make_pair(2.5, 1.0)};
131 std::vector<std::pair<double, double>>
fBwVarSig3 = {std::make_pair(1.1, 0.1), std::make_pair(1.5, 0.2),
132 std::make_pair(2.5, 1.0)};
133 std::vector<std::pair<double, double>>
fBwVarSig2 = {std::make_pair(0.5, 0.1), std::make_pair(1.1, 0.05),
134 std::make_pair(1.5, 0.2),
135 std::make_pair(2.5, 0.5)};
136 std::vector<std::pair<double, double>>
fBwVarRat = {std::make_pair(1.0, 0.1), std::make_pair(2.0, 0.2),
137 std::make_pair(2.5, 0.5)};
138 std::vector<std::pair<double, double>>
fBwVarCock = {std::make_pair(0.75, 0.05), std::make_pair(0.8, 0.01),
139 std::make_pair(0.95, 0.05), std::make_pair(1.05, 0.01),
140 std::make_pair(2.5, 0.05)};
141 std::vector<std::pair<double, double>>
fBwVarOmega = {std::make_pair(0.65, 0.05),
142 std::make_pair(2.5, 0.01)};
143 std::vector<std::pair<double, double>>
fBwVarPhi = {std::make_pair(0.85, 0.05),
144 std::make_pair(2.5, 0.01)};
147 std::vector<std::string>
fBwVarAllTags = {
"bwvOrig",
"bwvReg",
"bwvBg",
"bwvSig",
"bwvSig2",
"bwvSig3"};
224 bool IsCloseTo(
double value,
double refValue,
double tol);
277 TH1D*
SBgRange(
double minMinv,
double maxMinv);
289 void DrawPtY(TH2D* hMc, TH2D*
h,
const std::string cName,
double zMin,
double zMax);
301 void DrawSignificance(TH2D* hEl, TH2D* hBg,
const std::string& name,
double minZ,
double maxZ,
302 const std::string& option);
321 void DrawMultiplicities(TH1D* plus, TH1D* minus, TH1D* plusrandom, TH1D* minusrandom, std::string cName,
325 TH1D*
GetSymmetry(TH1D* h1, std::string opt1, TH1D* h2, std::string opt2,
326 const std::string& label);
327 TH1D*
GetHalfHisto(TH1D*
h, std::string opt,
const std::string& label);
Data class with information on a STS local track.
std::vector< std::vector< std::pair< double, double > > > fBwVarAll
std::vector< std::pair< double, double > > fBwVarOmega
LmvmHist * H(ELmvmSignal signal)
void DrawMinv(ELmvmAnaStep step)
void DrawPtYAndTofM2Misid()
void DrawMinvOfficialStyle()
Draw invariant mass spectra in official style.
void SBgRangeAll()
Draw S/BG vs plots for different mass ranges.
void CreateMeanHistSparse(const std::string &name)
void DrawMultiplicities(TH1D *plus, TH1D *minus, TH1D *plusrandom, TH1D *minusrandom, std::string cName, std::string hText)
void CalculateHistErrors(TH1D *h, double nofEvents)
Calculates errors of (normalized) histograms.
TH1D * GetCocktailMinvH1(const std::string &name, ELmvmAnaStep step, bool scaleAll)
TH1D * SBgRange(double minMinv, double maxMinv)
Create S/BG vs cuts for specified invariant mass range.
TH1D * GetHalfHisto(TH1D *h, std::string opt, const std::string &label)
void CheckoutTemperatureParams()
TH1D * VaryBinWidth(const std::string &option, const std::string &hName, double nEvents, std::vector< std::pair< double, double > > binValues)
Returns histogram with varied bin width.
TH1D * VaryBinWidth(TH1D *h, std::vector< std::pair< double, double > > binValues)
void CheckMemory(const std::string &text)
std::vector< double > fParamB
TH1D * GetCBForNormRange(const std::string hName, ELmvmAnaStep step, double rangeStart, double rangeEnd)
std::vector< std::pair< double, double > > fBwVarRat
TH1D * GetSymmetry(TH1D *h)
void DrawLikeSignCorrelations()
TH1D * CalculateHistRatioWithErrors(TH1D *hNom, TH1D *hDenom, double nEvNom, double nEvDenom)
Calculates ratios of histograms with errors.
TH1D * VaryBinWidth(const std::string &option, const std::string &hName, std::vector< std::pair< double, double > > binValues)
std::vector< std::pair< double, double > > fBwVarOrig
void DrawBetaMomSpectra()
void DrawSBgResults()
Draw properties of misidentified particles in comparison with not-misidentified.
void CheckoutAddFunction2()
void CreateMeanHist(const std::string &name, int nofRebins=-1)
bool IsCloseTo(double value, double refValue, double tol)
std::vector< std::pair< double, double > > fBwVarSig
void CalculateSignal()
Calculate Signal from Fast Simulations and Combinatorial Background.
void DrawSBgVsMinv()
Draw S/Bg vs minv.
void DrawSignalCBNormRangeDependent(std::string hName, std::string cName, ELmvmAnaStep step)
TH1D * VaryBinWidth(TH1D *h, double nEvents, std::vector< std::pair< double, double > > binValues)
Main variable bin width method. Returns copy of provided histogram with varied bin width....
TH1D * VaryBinWidth(const std::string &option, const std::string &hName, ELmvmAnaStep step, std::vector< std::pair< double, double > > binValues)
std::vector< std::pair< double, double > > fBwVarBg4
std::vector< std::pair< double, double > > fBwVarBg2
LmvmDrawAll(const LmvmDrawAll &)
TH1D * VaryBinWidth(const std::string &option, const std::string &hName, ELmvmAnaStep step, double nEvents, std::vector< std::pair< double, double > > binValues)
Returns histogram with varied bin width.
void DrawTemperatureGraph(TH1D *h, ELmvmAnaStep step, double startfit, double endfit, bool DoCorrectX)
void CheckoutTemperatureFitRange(TH1D *h, std::string name)
void DrawSignificancesAll()
void DrawCandProperties()
void DrawMomRecoPrecision()
void DrawEfficiencyCorrection()
std::vector< LmvmHist * > fH
void CalculateCombBGHistos()
Calculate Combinatorial BG.
void DrawSignificance(TH2D *hEl, TH2D *hBg, const std::string &name, double minZ, double maxZ, const std::string &option)
void CheckoutTemperatureFitRangeAll()
void DrawPurityHistText(TH2D *h)
void CheckoutTemperatureParamB()
void CalculateCBFromFastSimEvents()
Calculate Combinatorial BG from Fast Simulations.
void DrawRichProperties()
T * InitOrFatal(const std::string &name)
void DrawPtY(TH2D *hMc, TH2D *h, const std::string cName, double zMin, double zMax)
std::vector< std::pair< double, double > > fBwVarBg
void CheckoutTemperatureInitParams()
LmvmDrawAll operator=(const LmvmDrawAll &)
void SaveCanvasToImage()
Save all created canvases to images.
void DrawFastSimHistosParticleBased()
void CheckoutAddFunction()
std::vector< std::pair< double, double > > fBwVarSig2
void InvestigateMisid()
Draw properties of misidentified particles.
void DrawHistFromFile(const std::string &fileInmed, const std::string &fileQgp, const std::string &fileOmega, const std::string &filePhi, const std::string &fileOmegaD, const std::string &dataDir="", bool useMvd=false)
std::vector< double > fCbNormFactor
void LoadFastSimHistos()
Load histograms from LmvmFastSim and set related global variabled.
std::vector< std::pair< double, double > > fBwVarPhi
std::vector< std::pair< double, double > > fBwVarCock
std::vector< std::pair< double, double > > fBwVarReg
std::vector< std::string > fBwVarAllTags
void DrawSystematicErrorFsSignal()
TH1D * GetSignal(ELmvmAnaStep step, std::vector< std::pair< double, double > > bwVar)
Returns signal (calc. from Fast Simulations and Comb. Background) with varied bin width and with erro...
void DrawCombinatorialBackground()
Draw invariant mass spectra for all signal types for specified analysis step with BG reduced by combi...
std::vector< std::pair< double, double > > fBwVarSig3
void SaveHist()
Save histograms for the study report.
std::vector< std::pair< double, double > > fBwVarBg3
void InitialiseCocktailFitParams()
void CalcCutEffRange(double minMinv, double maxMinv)
Calculate cut efficiency in specified invariant mass region.
std::vector< std::pair< double, double > > fBwVarBg5
TH1D * GetSymmetry(TH1D *h1, std::string opt1, TH1D *h2, std::string opt2, const std::string &label)
LmvmSBgResultData CalculateSBgResult(ELmvmSignal signal, ELmvmAnaStep step)
void DrawMinvScaleValues()
T * GetCocktailMinv(const std::string &name, ELmvmAnaStep step, bool scaleAll)
void DrawMomentumMisidVsTrue()