9#include "BmnDrawHist.h"
10#include "BmnDrawOnline.h"
11#include "BmnHistManager.h"
13#include "BmnReportElement.h"
67 Out() <<
"<hr>" << endl;
83 string nameOfParticle = (*iter).second;
86 "TOF-400 total_vs_P for " + nameOfParticle,
"TOF-400 true_vs_P for " + nameOfParticle,
87 "TOF-400 false_vs_P for " + nameOfParticle);
90 "TOF-700 total_vs_P for " + nameOfParticle,
"TOF-700 true_vs_P for " + nameOfParticle,
91 "TOF-700 false_vs_P for " + nameOfParticle);
93 DrawThreeH2(
fPrefix +
"Total-True-False identified particles TOF-400 in P_Beta for " + nameOfParticle,
94 "TOF-400 total rigidity-momentum for " + nameOfParticle,
95 "TOF-400 true rigidity-momentum for " + nameOfParticle,
96 "TOF-400 false rigidity-momentum for " + nameOfParticle);
102 DrawThreeH2(
fPrefix +
"Total-True-False identified particles TOF-700 in P_Beta for " + nameOfParticle,
103 "TOF-700 total rigidity-momentum for " + nameOfParticle,
104 "TOF-700 true rigidity-momentum for " + nameOfParticle,
105 "TOF-700 false rigidity-momentum for " + nameOfParticle);
114 *(
HM()->H1(
"TOF-400 total_vs_P for " + nameOfParticle)));
117 HM()->
H1(
"TOF-400 true-false_vs_P for " + nameOfParticle)
118 ->
Add(
HM()->H1(
"TOF-400 true_vs_P for " + nameOfParticle),
119 HM()->H1(
"TOF-400 false_vs_P for " + nameOfParticle));
122 *(
HM()->H1(
"TOF-400 true-false_vs_P for " + nameOfParticle)));
127 *(
HM()->H1(
"TOF-400 total_vs_NOfHits for " + nameOfParticle)));
130 HM()->
H1(
"TOF-400 true-false_vs_NOfHits for " + nameOfParticle)
131 ->
Add(
HM()->H1(
"TOF-400 true_vs_NOfHits for " + nameOfParticle),
132 HM()->H1(
"TOF-400 false_vs_NOfHits for " + nameOfParticle));
135 *(
HM()->H1(
"TOF-400 true-false_vs_NOfHits for " + nameOfParticle)));
139 *(
HM()->H1(
"TOF-700 total_vs_P for " + nameOfParticle)));
142 HM()->
H1(
"TOF-700 true-false_vs_P for " + nameOfParticle)
143 ->
Add(
HM()->H1(
"TOF-700 true_vs_P for " + nameOfParticle),
144 HM()->H1(
"TOF-700 false_vs_P for " + nameOfParticle));
147 *(
HM()->H1(
"TOF-700 true-false_vs_P for " + nameOfParticle)));
151 *(
HM()->H1(
"TOF-700 total_vs_NOfHits for " + nameOfParticle)));
154 HM()->
H1(
"TOF-700 true-false_vs_NOfHits for " + nameOfParticle)
155 ->
Add(
HM()->H1(
"TOF-700 true_vs_NOfHits for " + nameOfParticle),
156 HM()->H1(
"TOF-700 false_vs_NOfHits for " + nameOfParticle));
159 *(
HM()->H1(
"TOF-700 true-false_vs_NOfHits for " + nameOfParticle)));
170 DrawThreeH2(
fPrefix +
"Total-True-False velocity from P TOF-400 for " + nameOfParticle,
171 "Total velocity from P TOF-400 for " + nameOfParticle,
172 "True velocity from P TOF-400 for " + nameOfParticle,
173 "False velocity from P TOF-400 for " + nameOfParticle);
175 DrawThreeH2(
fPrefix +
"Total-True-False velocity from P TOF-700 for " + nameOfParticle,
176 "Total velocity from P TOF-700 for " + nameOfParticle,
177 "True velocity from P TOF-700 for " + nameOfParticle,
178 "False velocity from P TOF-700 for " + nameOfParticle);
183 "Total time from P TOF-400 for " + nameOfParticle,
"True time from P TOF-400 for " + nameOfParticle,
184 "False time from P TOF-400 for " + nameOfParticle);
187 "Total time from P TOF-700 for " + nameOfParticle,
"True time from P TOF-700 for " + nameOfParticle,
188 "False time from P TOF-700 for " + nameOfParticle);
193 "Total mass^2 from P TOF-400 for " + nameOfParticle,
194 "True mass^2 from P TOF-400 for " + nameOfParticle,
195 "False mass^2 from P TOF-400 for " + nameOfParticle);
198 "Total mass^2 from P TOF-700 for " + nameOfParticle,
199 "True mass^2 from P TOF-700 for " + nameOfParticle,
200 "False mass^2 from P TOF-700 for " + nameOfParticle);
202 drawHist->DrawMainCanvas(nameOfParticle);
294 drawHist->DrawH1(canvas, efficiency);
296 drawHist->DrawH1(canvas, contamination);
Create report for tracking QA.
FairTask for pid performance calculation.
TH1 * H1(const TString &name) const
Return pointer to TH1 histogram.
virtual void Draw()
Inherited from BmnSimulationReport.
void DrawTwoH2(const TString canvasName, const TString name1, const TString name2)
void DrawTwoH1(const TString canvasName, const TString name1, const TString name2, const TString drawOpt)
void DrawOneH1(const TString canvasName, const TString name1, const TString drawOpt)
TEfficiency * contHitsTof700
TEfficiency * effHitsTof700
void DrawTwoBananas(const TString canvasName, const TString name1, const TString name2)
TEfficiency * effHitsTof400
unordered_map< Double_t, string > fMassTable
TEfficiency * contHitsTof400
void DrawOneH2(const TString canvasName, const TString name1)
void DrawThreeH1(const TString canvasName, const TString name1, const TString name2, const TString name3)
void DrawThreeH2(const TString canvasName, const TString name1, const TString name2, const TString name3)
BmnPidQaReport()
Constructor.
void DrawEffCont(const TString canvasName, TEfficiency *, TEfficiency *)
virtual ~BmnPidQaReport()
Destructor.
vector< string > fGlobalTrackVariants
virtual void Create()
Pure abstract function which is called from public Create() function.
virtual string Title(int size, const string &title) const =0
Return string with title.
virtual string DocumentBegin() const =0
Return string with open tags for document.
virtual string DocumentEnd() const =0
Return string with close tags of the document.
void SetReportName(TString name)
void PrintCanvases() const
Print images created from canvases in the report.
const BmnReportElement * R() const
Accessor to BmnReportElement object.
TCanvas * CreateCanvas(const char *name, const char *title, Int_t ww, Int_t wh)
Create canvas and put it to vector of TCanvases.
ostream & Out() const
All text output goes to this stream.
BmnHistManager * HM() const
Return pointer to Histogram manager.
BmnSimulationReport()
Constructor.
TVirtualPad * cd(Int_t subpadnumber=0) override
virtual Bool_t Add(const TH1 *h, const TH1 *h2, Double_t c1=1, Double_t c2=1)
virtual const char * GetTitle() const
void SetGrid(Int_t valuex=1, Int_t valuey=1) override
void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override
const char * Data() const
void SetDefaultDrawStyle()