BmnRoot 26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnReport Class Referenceabstract

Base class for reports. More...

#include <BmnReport.h>

Inheritance diagram for BmnReport:
Collaboration diagram for BmnReport:

Public Member Functions

 BmnReport ()
 Constructor.
virtual ~BmnReport ()
 Destructor.
const BmnReportElement * R () const
 Accessor to BmnReportElement object.
ostream & Out () const
 All text output goes to this stream.
void Register (string path)
void CallDraw ()
void SetReportName (TString name)
void SetReportTitle (const string &title)
void SetOutputDir (const string &outputDir)
void SetMonitorMode (const Bool_t mm)
void SetObjServer (THttpServer *s)
const string & GetReportName () const
const string & GetReportTitle () const
const string & GetOutputDir () const
Bool_t GetMonitorMode () const
THttpServer * GetObjServer () const
Public Member Functions inherited from TObject
 TObject ()
 TObject (const TObject &object)
virtual ~TObject ()
void AbstractMethod (const char *method) const
virtual void AppendPad (Option_t *option="")
virtual void Browse (TBrowser *b)
ULong_t CheckedHash ()
virtual const char * ClassName () const
virtual void Clear (Option_t *="")
virtual TObject * Clone (const char *newname="") const
virtual Int_t Compare (const TObject *obj) const
virtual void Copy (TObject &object) const
virtual void Delete (Option_t *option="")
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
virtual void Draw (Option_t *option="")
virtual void DrawClass () const
virtual TObject * DrawClone (Option_t *option="") const
virtual void Dump () const
virtual void Error (const char *method, const char *msgfmt,...) const
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
virtual void Fatal (const char *method, const char *msgfmt,...) const
virtual TObject * FindObject (const char *name) const
virtual TObject * FindObject (const TObject *obj) const
virtual Option_t * GetDrawOption () const
virtual const char * GetIconName () const
virtual const char * GetName () const
virtual char * GetObjectInfo (Int_t px, Int_t py) const
virtual Option_t * GetOption () const
virtual const char * GetTitle () const
virtual UInt_t GetUniqueID () const
virtual Bool_t HandleTimer (TTimer *timer)
virtual ULong_t Hash () const
Bool_t HasInconsistentHash () const
virtual void Info (const char *method, const char *msgfmt,...) const
virtual Bool_t InheritsFrom (const char *classname) const
virtual Bool_t InheritsFrom (const TClass *cl) const
virtual void Inspect () const
void InvertBit (UInt_t f)
virtual TClass * IsA () const
Bool_t IsDestructed () const
virtual Bool_t IsEqual (const TObject *obj) const
virtual Bool_t IsFolder () const
R__ALWAYS_INLINE Bool_t IsOnHeap () const
virtual Bool_t IsSortable () const
R__ALWAYS_INLINE Bool_t IsZombie () const
virtual void ls (Option_t *option="") const
void MayNotUse (const char *method) const
virtual Bool_t Notify ()
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
void operator delete (void *ptr)
void operator delete (void *ptr, void *vp)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, void *vp)
void * operator new (size_t sz)
void * operator new (size_t sz, void *vp)
void * operator new[] (size_t sz)
void * operator new[] (size_t sz, void *vp)
TObject & operator= (const TObject &rhs)
virtual void Paint (Option_t *option="")
virtual void Pop ()
virtual void Print (Option_t *option="") const
virtual Int_t Read (const char *name)
virtual void RecursiveRemove (TObject *obj)
void ResetBit (UInt_t f)
virtual void SaveAs (const char *filename="", Option_t *option="") const
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
virtual void SetDrawOption (Option_t *option="")
virtual void SetUniqueID (UInt_t uid)
virtual void Streamer (TBuffer &)
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
virtual void UseCurrentStyle ()
virtual void Warning (const char *method, const char *msgfmt,...) const
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const

Protected Member Functions

virtual void Create ()=0
 Pure abstract function which is called from public Create() function.
virtual void Draw ()=0
 Pure abstract function which is called from public Create() function.
void CreateReports ()
 Create all available report types.
TCanvas * CreateCanvas (const char *name, const char *title, Int_t ww, Int_t wh)
 Create canvas and put it to vector of TCanvases.
void SaveCanvasesAsImages () const
 Save all canvases to images.
void WriteCanvases () const
 Write canvases to file.
void PrintCanvases () const
 Print images created from canvases in the report.
Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
void MakeZombie ()

Protected Attributes

THttpServer * fServer
Bool_t fMonitorMode
Bool_t fInitCanvasesDone
Protected Attributes inherited from TObject
 kOnlyPrepStep

Private Member Functions

void CreateReportElement ()
 Create concrete BmnReportElement instance based on the report type.
void DeleteReportElement ()
 Delete report element.
 BmnReport (const BmnReport &)=delete
BmnReport & operator= (const BmnReport &)=delete

Private Attributes

string fReportName
string fReportTitle
string fOutputDir
BmnReportElement * fR
ostream * fOut
vector< TCanvas * > fCanvases
map< string, TCanvas * > fCanvasMap

Additional Inherited Members

Public Types inherited from TObject
enum  EDeprecatedStatusBits
enum  EStatusBits
Static Public Member Functions inherited from TObject
static TClass * Class ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static Longptr_t GetDtorOnly ()
static Bool_t GetObjectStat ()
static void SetDtorOnly (void *obj)
static void SetObjectStat (Bool_t stat)
Public Attributes inherited from TObject
 kIsOnHeap
 kNotDeleted
 kZombie
 kInconsistent
 kBitMask
 kSingleKey
 kOverwrite
 kWriteDelete
 kObjInCanvas
 kCanDelete
 kMustCleanup
 kIsReferenced
 kHasUUID
 kCannotPick
 kNoContextMenu
 kInvalidObject
Static Protected Member Functions inherited from TObject
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Bool_t empty_line=kFALSE)

Detailed Description

Author
Andrey Lebedev andre.nosp@m.y.le.nosp@m.bedev.nosp@m.@gsi.nosp@m..de
Ilnur Gabdrakhmanov ilnur.nosp@m.@jin.nosp@m.r.ru - unificiation for online/offline mode
Date
2011 - 2025

Definition at line 28 of file BmnReport.h.

Constructor & Destructor Documentation

◆ BmnReport() [1/2]

BmnReport::BmnReport ( )

Definition at line 17 of file BmnReport.cxx.

References fInitCanvasesDone, fMonitorMode, fOut, fOutputDir, fR, fReportName, fReportTitle, and fServer.

Referenced by BmnReport(), BmnSimulationReport::BmnSimulationReport(), and operator=().

Here is the caller graph for this function:

◆ ~BmnReport()

BmnReport::~BmnReport ( )
virtual

Definition at line 28 of file BmnReport.cxx.

References fCanvases.

◆ BmnReport() [2/2]

BmnReport::BmnReport ( const BmnReport & )
privatedelete

References BmnReport().

Here is the call graph for this function:

Member Function Documentation

◆ CallDraw()

void BmnReport::CallDraw ( )
inline

Definition at line 53 of file BmnReport.h.

References Draw().

Here is the call graph for this function:

◆ Create()

virtual void BmnReport::Create ( )
protectedpure virtual

This function has to write report using Out() for output stream and R() for report elements. This function is called for each report type.

Implemented in BmnClusteringQaReport, BmnLambdaQaReport, BmnPidQaReport, BmnProfQaReport, BmnSimulationReport, and BmnTrackingQaReport.

Referenced by CreateReports().

Here is the caller graph for this function:

◆ CreateCanvas()

TCanvas * BmnReport::CreateCanvas ( const char * name,
const char * title,
Int_t ww,
Int_t wh )
protected

Create or just find already created.

Canvases created with this function will be automatically saved to image and printed in the report.

Parameters
name
title
ww
wh
Returns

Definition at line 75 of file BmnReport.cxx.

References fCanvases, and fCanvasMap.

Referenced by BmnPidQaReport::DrawEffCont(), BmnTrackingQaReport::DrawEffGem(), BmnClusteringQaReport::DrawEventsInfo(), BmnTrackingQaReport::DrawEventsInfo(), BmnSimulationReport::DrawFourH2(), BmnLambdaQaReport::DrawGeomEfficiencyHistograms(), BmnTrackingQaReport::DrawMomResGem(), BmnSimulationReport::DrawNH2(), BmnTrackingQaReport::DrawNhitsGem(), BmnLambdaQaReport::DrawNumberOfLambdaDecayMesonsHistograms(), BmnLambdaQaReport::DrawNumberOfLambdaDecayMesonsReconstructedHistograms(), BmnLambdaQaReport::DrawNumberOfLambdaDecayProtonsHistograms(), BmnLambdaQaReport::DrawNumberOfLambdaDecayProtonsReconstructedHistograms(), BmnLambdaQaReport::DrawNumberOfLambdaHistograms(), BmnLambdaQaReport::DrawNumberOfNotReconstructedLambdasHistograms(), BmnLambdaQaReport::DrawNumberOfReconstructableLambdaHistograms(), BmnLambdaQaReport::DrawNumberOfReconstructedLambdaHistograms(), BmnClusteringQaReport::DrawOccupancyByStation(), BmnPidQaReport::DrawOneH1(), BmnSimulationReport::DrawOneH1(), BmnTrackingQaReport::DrawOneH1(), BmnPidQaReport::DrawOneH2(), BmnSimulationReport::DrawOneH2(), BmnTrackingQaReport::DrawOneH2(), BmnTrackingQaReport::DrawPar(), BmnClusteringQaReport::DrawPullXbyStation(), BmnClusteringQaReport::DrawPullYbyStation(), BmnLambdaQaReport::DrawRecMesonsGeomRecEffHistograms(), BmnLambdaQaReport::DrawRecMesonsReconstructionEfficiencyHistograms(), BmnLambdaQaReport::DrawReconstructedFromMCLambdasHistograms(), BmnLambdaQaReport::DrawReconstructedFromMCWOCutsLambdasHistograms(), BmnLambdaQaReport::DrawReconstructedLambdasHistograms(), BmnLambdaQaReport::DrawReconstructedLambdasWOCutsHistograms(), BmnLambdaQaReport::DrawReconstructionEfficiencyHistograms(), BmnLambdaQaReport::DrawRecProtonsGeomEffHistograms(), BmnLambdaQaReport::DrawRecProtonsReconstructionEfficiencyHistograms(), BmnTrackingQaReport::DrawResAndPull(), BmnClusteringQaReport::DrawResXbyStation(), BmnClusteringQaReport::DrawResYbyStation(), BmnClusteringQaReport::DrawSimXRecXbyStation(), BmnClusteringQaReport::DrawSimYRecYbyStation(), BmnPidQaReport::DrawThreeH1(), BmnSimulationReport::DrawThreeH1(), BmnTrackingQaReport::DrawThreeH1(), BmnPidQaReport::DrawThreeH2(), BmnSimulationReport::DrawThreeH2(), BmnTrackingQaReport::DrawThreeH2(), BmnPidQaReport::DrawTwoBananas(), BmnLambdaQaReport::DrawTwoDimensinalReconstructedFromMCLambdasHistograms(), BmnLambdaQaReport::DrawTwoDimensinalReconstructedFromMCWOCutsLambdasHistograms(), BmnLambdaQaReport::DrawTwoDimensinalReconstructedLambdasHistograms(), BmnLambdaQaReport::DrawTwoDimensinalReconstructedLambdasWOCutsHistograms(), BmnLambdaQaReport::DrawTwoDimensionalRealRecEfficiencyHistograms(), BmnLambdaQaReport::DrawTwoDimensionalRealRecEfficiencyRecMesonsHistograms(), BmnLambdaQaReport::DrawTwoDimensionalRealRecEfficiencyRecProtonsHistograms(), BmnLambdaQaReport::DrawTwoDimensionalRecGeomEfficiencyHistograms(), BmnLambdaQaReport::DrawTwoDimensionalRecMesonsGeomRecEfficiencyHistograms(), BmnLambdaQaReport::DrawTwoDimensionalRecProtonsRecEfficiencyHistograms(), BmnPidQaReport::DrawTwoH1(), BmnSimulationReport::DrawTwoH1(), BmnTrackingQaReport::DrawTwoH1(), BmnPidQaReport::DrawTwoH2(), BmnSimulationReport::DrawTwoH2(), BmnTrackingQaReport::DrawTwoH2(), and BmnTrackingQaReport::DrawVertResGem().

Here is the caller graph for this function:

◆ CreateReportElement()

void BmnReport::CreateReportElement ( )
private

Definition at line 36 of file BmnReport.cxx.

References fOut, fR, fReportName, and GetOutputDir().

Referenced by CreateReports().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateReports()

void BmnReport::CreateReports ( )
protected

Definition at line 54 of file BmnReport.cxx.

References Create(), CreateReportElement(), DeleteReportElement(), Draw(), fMonitorMode, SaveCanvasesAsImages(), and WriteCanvases().

Referenced by BmnSimulationReport::Create(), and BmnSimulationReport::Create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeleteReportElement()

void BmnReport::DeleteReportElement ( )
private

Normally should be called at the end of Create function.

Definition at line 46 of file BmnReport.cxx.

References fOut, and fR.

Referenced by CreateReports().

Here is the caller graph for this function:

◆ Draw()

virtual void BmnReport::Draw ( )
protectedpure virtual

This function has to draw all necessary histograms and graphs. It is called only once before report creation.

Implemented in BmnClusteringQaReport, BmnLambdaQaReport, BmnPidQaReport, BmnProfQaReport, BmnTrackingQaExpReport, and BmnTrackingQaReport.

Referenced by CallDraw(), and CreateReports().

Here is the caller graph for this function:

◆ GetMonitorMode()

Bool_t BmnReport::GetMonitorMode ( ) const
inline

Definition at line 76 of file BmnReport.h.

References fMonitorMode.

◆ GetObjServer()

THttpServer * BmnReport::GetObjServer ( ) const
inline

Definition at line 77 of file BmnReport.h.

References fServer.

◆ GetOutputDir()

const string & BmnReport::GetOutputDir ( ) const
inline

Definition at line 75 of file BmnReport.h.

References fOutputDir.

Referenced by CreateReportElement(), SaveCanvasesAsImages(), and WriteCanvases().

Here is the caller graph for this function:

◆ GetReportName()

const string & BmnReport::GetReportName ( ) const
inline

Definition at line 73 of file BmnReport.h.

References fReportName.

◆ GetReportTitle()

const string & BmnReport::GetReportTitle ( ) const
inline

Definition at line 74 of file BmnReport.h.

References fReportTitle.

◆ operator=()

BmnReport & BmnReport::operator= ( const BmnReport & )
privatedelete

References BmnReport().

Here is the call graph for this function:

◆ Out()

ostream & BmnReport::Out ( ) const
inline

Definition at line 50 of file BmnReport.h.

References fOut.

Referenced by BmnClusteringQaReport::Create(), BmnLambdaQaReport::Create(), BmnPidQaReport::Create(), BmnProfQaReport::Create(), BmnSimulationReport::Create(), BmnTrackingQaReport::Create(), PrintCanvases(), BmnClusteringQaReport::PrintEventInfo(), BmnLambdaQaReport::PrintEventInfo(), and BmnTrackingQaReport::PrintEventInfo().

Here is the caller graph for this function:

◆ PrintCanvases()

void BmnReport::PrintCanvases ( ) const
protected

Definition at line 113 of file BmnReport.cxx.

References fCanvases, TPad::GetName(), i, BmnReportElement::Image(), Out(), and R().

Referenced by BmnClusteringQaReport::Create(), BmnLambdaQaReport::Create(), BmnPidQaReport::Create(), BmnProfQaReport::Create(), BmnSimulationReport::Create(), and BmnTrackingQaReport::Create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ R()

const BmnReportElement * BmnReport::R ( ) const
inline

User has to write the report using available tags from BmnReportElement class.

Definition at line 45 of file BmnReport.h.

References fR.

Referenced by BmnPidQaReport::Create(), BmnProfQaReport::Create(), BmnSimulationReport::Create(), BmnTrackingQaReport::Create(), and PrintCanvases().

Here is the caller graph for this function:

◆ Register()

void BmnReport::Register ( string path)

Definition at line 122 of file BmnReport.cxx.

References can(), fCanvases, and fServer.

Here is the call graph for this function:

◆ SaveCanvasesAsImages()

void BmnReport::SaveCanvasesAsImages ( ) const
protected

Definition at line 89 of file BmnReport.cxx.

References TString::Data(), fCanvases, GetOutputDir(), TPad::GetTitle(), i, and TPad::SaveAs().

Referenced by CreateReports().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetMonitorMode()

void BmnReport::SetMonitorMode ( const Bool_t mm)
inline

Definition at line 69 of file BmnReport.h.

References fMonitorMode.

◆ SetObjServer()

void BmnReport::SetObjServer ( THttpServer * s)
inline

Definition at line 70 of file BmnReport.h.

References fServer.

◆ SetOutputDir()

void BmnReport::SetOutputDir ( const string & outputDir)
inline

Definition at line 58 of file BmnReport.h.

References fOutputDir.

Referenced by BmnSimulationReport::Create(), and BmnSimulationReport::Create().

Here is the caller graph for this function:

◆ SetReportName()

void BmnReport::SetReportName ( TString name)
inline

Definition at line 56 of file BmnReport.h.

References TString::Data(), and fReportName.

Referenced by BmnClusteringQaReport::BmnClusteringQaReport(), BmnLambdaQaReport::BmnLambdaQaReport(), BmnPidQaReport::BmnPidQaReport(), BmnPidQaReport::BmnPidQaReport(), BmnProfQaReport::BmnProfQaReport(), BmnProfQaReport::BmnProfQaReport(), BmnTrackingQaExpReport::BmnTrackingQaExpReport(), BmnTrackingQaExpReport::BmnTrackingQaExpReport(), BmnTrackingQaReport::BmnTrackingQaReport(), and BmnTrackingQaReport::BmnTrackingQaReport().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetReportTitle()

void BmnReport::SetReportTitle ( const string & title)
inline

Definition at line 57 of file BmnReport.h.

References fReportTitle.

◆ WriteCanvases()

void BmnReport::WriteCanvases ( ) const
protected

Definition at line 103 of file BmnReport.cxx.

References fCanvases, GetOutputDir(), and i.

Referenced by CreateReports().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fCanvases

vector<TCanvas*> BmnReport::fCanvases
private

◆ fCanvasMap

map<string, TCanvas*> BmnReport::fCanvasMap
private

Definition at line 146 of file BmnReport.h.

Referenced by CreateCanvas().

◆ fInitCanvasesDone

◆ fMonitorMode

Bool_t BmnReport::fMonitorMode
protected

Definition at line 122 of file BmnReport.h.

Referenced by BmnReport(), CreateReports(), GetMonitorMode(), and SetMonitorMode().

◆ fOut

ostream* BmnReport::fOut
mutableprivate

Definition at line 140 of file BmnReport.h.

Referenced by BmnReport(), CreateReportElement(), DeleteReportElement(), and Out().

◆ fOutputDir

string BmnReport::fOutputDir
private

Definition at line 138 of file BmnReport.h.

Referenced by BmnReport(), GetOutputDir(), and SetOutputDir().

◆ fR

BmnReportElement* BmnReport::fR
private

Definition at line 139 of file BmnReport.h.

Referenced by BmnReport(), CreateReportElement(), DeleteReportElement(), and R().

◆ fReportName

string BmnReport::fReportName
private

Definition at line 136 of file BmnReport.h.

Referenced by BmnReport(), CreateReportElement(), GetReportName(), and SetReportName().

◆ fReportTitle

string BmnReport::fReportTitle
private

Definition at line 137 of file BmnReport.h.

Referenced by BmnReport(), GetReportTitle(), and SetReportTitle().

◆ fServer

THttpServer* BmnReport::fServer
protected

Definition at line 121 of file BmnReport.h.

Referenced by BmnReport(), GetObjServer(), Register(), and SetObjServer().


The documentation for this class was generated from the following files: