43 printf(
"Creating report in %s", outputDir.c_str());
54 fHM->ReadFromFile(file);
105 const string& drawOpt)
164 HM()->
H1(name1)->
Fit(
"gaus",
"WWQ");
170 HM()->
H1(name2)->
Fit(
"gaus",
"WWQ");
272 const vector<string>& names,
277 Int_t n = names.size();
279 Int_t ny = n / nx + n % nx;
280 TCanvas* canvas =
CreateCanvas(canvasName.data(), canvasName.data(), nx * histW, ny * histH);
283 canvas->
Divide(nx, ny, 0.01 / nx, 0.03 / ny);
286 for (
const TString s : names) {
299 return BmnCSCStationSet::Class();
301 return BmnSiliconStationSet::Class();
303 return BmnSiBTStationSet::Class();
305 return BmnVSPStationSet::Class();
314 void* ss = el.second;
315 DetectorId detId = el.first;
319 TMethodCall ns_method(station_set_class,
"GetNStations",
"");
321 ns_method.
Execute(ss, method_result);
322 Short_t n_stations = method_result;
324 string can_name = string(detName.
Data()) +
"_Hits_X_Y";
327 vector<string> st_names;
328 for (
Short_t iSt = 0; iSt < n_stations; ++iSt)
void DrawH1(TH1 *hist, HistScale logx, HistScale logy, const string &drawOpt, Int_t lineColor, Int_t lineWidth, Int_t lineStyle, Float_t markerSize, Int_t markerStyle, Int_t fillColor)
void DrawH2(TH2 *hist, HistScale logx, HistScale logy, HistScale logz, const string &drawOpt)
Helper functions for drawing 1D and 2D histograms and graphs.
HistScale
Define linear or logarithmic scale for drawing.
Abstract class for basic report elements (headers, tables, images etc.).
Base class for simulation reports.
char * Form(const char *fmt,...)
static void GetSystemNameCaps(DetectorId det, TString &name)
Get system name in capitals.
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 PrintCanvases() const
Print images created from canvases in the report.
const BmnReportElement * R() const
Accessor to BmnReportElement object.
void SetOutputDir(const string &outputDir)
TCanvas * CreateCanvas(const char *name, const char *title, Int_t ww, Int_t wh)
Create canvas and put it to vector of TCanvases.
void CreateReports()
Create all available report types.
ostream & Out() const
All text output goes to this stream.
BmnHistManager * HM() const
Return pointer to Histogram manager.
BmnSimulationReport()
Constructor.
static char * HistNameHits(string detName, Short_t iSt)
void DrawNH2(const string canvasName, const vector< string > &names, Int_t histW=baseW, Int_t histH=baseH, Int_t ncols=2)
void DrawTwoH2(const TString canvasName, const TString name1, const TString name2, Int_t histW=baseW, Int_t histH=baseH)
void DrawH1ByPattern(const string &histNamePattern)
Select by pattern TH1 histograms and draw each histogram on separate canvas.
void DrawThreeH2(const TString canvasName, const TString name1, const TString name2, const TString name3, Int_t histW=baseW, Int_t histH=baseH)
const Int_t MinNEntries4Fit
virtual ~BmnSimulationReport()
Destructor.
void DrawH2ByPattern(const string &histNamePattern, HistScale logx=kLinear, HistScale logy=kLinear, HistScale logz=kLinear, const string &drawOpt="")
Select by pattern TH2 histograms and draw each histogram on separate canvas.
static TClass * GetStationSetClass(DetectorId det)
void DrawTwoH1(const TString canvasName, const TString name1, const TString name2, const TString drawOpt, Bool_t doFit=kFALSE, Int_t histW=baseW, Int_t histH=baseH)
void Create()
Pure abstract function which is called from public Create() function.
void DrawFourH2(const TString canvasName, const TString name1, const TString name2, const TString name3, const TString name4, Int_t histW=baseW, Int_t histH=baseH)
map< DetectorId, void * > fDetStationSets
void DrawOneH2(const TString canvasName, const TString name1, Int_t histW=baseW, Int_t histH=baseH)
void DrawMuSigma(TVirtualPad *pad, TH1 *h)
void DrawThreeH1(const TString canvasName, const TString name1, const TString name2, const TString name3, Int_t histW=baseW, Int_t histH=baseH)
void DrawOneH1(const TString canvasName, const TString name1, const TString drawOpt, Int_t histW=baseW, Int_t histH=baseH)
virtual void SetFillColor(Color_t fcolor)
TVirtualPad * cd(Int_t subpadnumber=0) override
virtual Double_t GetParameter(const TString &name) 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 TF1 * GetFunction(const char *name) const
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
void Modified(Bool_t flag=true) override
virtual TText * AddText(const char *label)
void Draw(Option_t *option="") override
virtual void SetShadowColor(Int_t color)
const char * Data() const
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0