9#include "BmnDrawHist.h"
10#include "BmnGemStripStation.h"
11#include "BmnGemStripStationSet_RunSpring2017.h"
12#include "BmnHistManager.h"
13#include "BmnReportElement.h"
66 Out() <<
"<h2>Event generator: QGSM</h2>" << endl;
67 Out() <<
"<h2>Energy: 4 GeV/n</h2>" << endl;
69 Out() <<
"<h2>Results only for primaries presented</h2>" << endl;
70 Out() <<
"<h2>Number of events: " <<
HM()->
H1(
"hen_EventNo_ClusteringQa")->
GetEntries() <<
"</h2>" << endl;
71 Out() <<
"<h2>Mean multiplicity: " <<
HM()->
H1(
"Multiplicity")->
GetMean() <<
"</h2>" << endl;
132 TString pntXhitXname =
Form(
"PntX_vs_HitX_%dst_gem",
i);
137 TString pntXhitXname =
Form(
"PntX_vs_HitX_%dst_sil",
i);
150 TString pntYhitYname =
Form(
"PntY_vs_HitY_%dst_gem",
i);
155 TString pntYhitYname =
Form(
"PntY_vs_HitY_%dst_sil",
i);
169 const Float_t square = xWidth * yWidth;
199 HM()->
H1(pullXname)->
Fit(
"gaus",
"RRQW",
"", -5, 5);
217 HM()->
H1(pullXname)->
Fit(
"gaus",
"RRQW",
"", -5, 5);
242 HM()->
H1(pullYname)->
Fit(
"gaus",
"RRQW",
"", -5, 5);
260 HM()->
H1(pullYname)->
Fit(
"gaus",
"RRQW",
"", -5, 5);
285 return "NOT IMPLEMENTED!";
291 DrawEventsInfo(
"Distribution of impact parameter and multiplicity");
407 histo3->
Divide(histo1, histo2, 1., 1.,
"B");
408 histo3->
Scale(scale);
Simulation report for clustering QA.
char * Form(const char *fmt,...)
void ScaleAndShrinkHistograms()
virtual void Create()
Inherited from CbmSimulationReport.
BmnGemStripStationSet * fGemDetector
void DrawPullYbyStation(const string &canvasName)
void DrawResYbyStation(const string &canvasName)
void DivideHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3, Double_t scale)
static Double_t CalcEfficiency(const TH1 *histRec, const TH1 *histAcc, Double_t scale)
void DrawSimXRecXbyStation(const string &canvasName)
void DrawEventsInfo(const string &canvasName)
void DrawOccupancyByStation(const string &canvasName)
void DrawResidualsAndPulls(const string &detName)
void DrawSimYRecYbyStation(const string &canvasName)
void DrawResXbyStation(const string &canvasName)
void DrawPullXbyStation(const string &canvasName)
void DrawNofObjectsHistograms(const string &detName, const string ¶meter)
BmnClusteringQaReport(Int_t nOfStationsGEM, Int_t nOfStationsSil)
Constructor.
virtual ~BmnClusteringQaReport()
Destructor.
string PrintNofObjects() const
Print number of objects table.
void CalculateEfficiencyHistos(const string &acc, const string &rec, const string &eff)
virtual void Draw()
Inherited from CbmSimulationReport.
TH2 * H2(const TString &name) const
Return pointer to TH2 histogram.
TH1 * H1(const TString &name) const
Return pointer to TH1 histogram.
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.
Bool_t GetOnlyPrimes() const
virtual void SetFillColor(Color_t fcolor)
virtual Double_t GetBinWidth(Int_t bin) const
TVirtualPad * cd(Int_t subpadnumber=0) override
virtual Double_t GetParameter(const TString &name) const
virtual Double_t GetMean(Int_t axis=1) const
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Double_t xmin=0, Double_t xmax=0)
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
virtual Double_t GetEntries() const
virtual TF1 * GetFunction(const char *name) const
virtual Double_t Integral(Int_t binx1, Int_t binx2, Option_t *option="") const
virtual Bool_t Divide(const TH1 *h1)
virtual void Scale(Double_t c1=1, Option_t *option="")
virtual void Sumw2(Bool_t flag=kTRUE)
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
virtual TText * AddText(const char *label)
void Draw(Option_t *option="") override
virtual void SetShadowColor(Int_t color)
const char * Data() const
void DrawH2(TH2 *hist, HistScale logx=kLinear, HistScale logy=kLinear, HistScale logz=kLinear, const string &drawOpt="COLZ")
void DrawH1(TH1 *hist, HistScale logx=kLinear, HistScale logy=kLinear, const string &drawOpt="", Int_t color=BmnDrawingOptions::Color(0), Int_t lineWidth=BmnDrawingOptions::LineWidth(), Int_t lineStyle=BmnDrawingOptions::LineStyle(0), Float_t markerSize=BmnDrawingOptions::MarkerSize(), Int_t markerStyle=BmnDrawingOptions::MarkerStyle(0), Int_t fillColor=-1)
string FindAndReplace(const string &name, const string &oldSubstr, const string &newSubstr)
vector< string > Split(const string &name, char delimiter)
string NumberToString(const T &value, int precision=1)