13#include "BmnDchTrack.h"
15#include "BmnGemStripHit.h"
16#include "BmnGemTrack.h"
17#include "BmnGlobalTrack.h"
18#include "BmnHistManager.h"
22#include "BmnSiliconHit.h"
23#include "BmnSiliconPoint.h"
24#include "BmnTrackMatch.h"
27#include "CbmBaseHit.h"
28#include "CbmGlobalTrack.h"
29#include "CbmMCTrack.h"
30#include "CbmStsPoint.h"
31#include "CbmStsTrack.h"
33#include "FairMCEventHeader.h"
34#include "FairMCPoint.h"
35#include "FairRunAna.h"
36#include "TClonesArray.h"
38#include "TFitResult.h"
51 : FairTask(name, iVerbose)
57 , fMonitorMode(kFALSE)
62 , fNItersSinceUpdate(0)
67 printf(
"~BmnQaBase()\n");
99 fHM->
H1(
"hen_EventNo_TrackingQa")->Fill(0.5);
105 gSystem->ProcessEvents();
106 chrono::time_point<chrono::system_clock> now = chrono::system_clock::now();
107 chrono::seconds time = chrono::duration_cast<chrono::seconds>(now -
fTicksLastUpdate);
108 time_t tt = chrono::system_clock::to_time_t(now);
109 printf(
"\ntime %s\n", ctime(&tt));
130 FairRootManager* ioman = FairRootManager::Instance();
131 if (
nullptr == ioman)
132 Fatal(
"Init",
"BmnRootManager is not instantiated");
133 printf(
"\nBRANCHES READ!\n\n");
145 const string& xTitle,
146 const string& yTitle,
151 TH1F* h =
new TH1F(name.c_str(),
string(name +
";" + xTitle +
";" + yTitle).c_str(), nofBins, minBin, maxBin);
156 const string& xTitle,
157 const string& yTitle,
158 const string& zTitle,
166 TH2F* h =
new TH2F(name.c_str(), (name +
";" + xTitle +
";" + yTitle +
";" + zTitle).c_str(), nofBinsX, minBinX,
167 maxBinX, nofBinsY, minBinY, maxBinY);
175 for (Int_t iHit = 0; iHit < hits->GetEntriesFast(); ++iHit) {
Global function to define the track acceptance. Used in QA.
FairTask for tracking performance calculation.
static void GetSystemNameCaps(DetectorId det, TString &name)
void Add(const TString &name, TNamed *object)
Add new named object to manager.
TH2 * H2(const TString &name) const
Return pointer to TH2 histogram.
void WriteToFile()
Write all histograms to current opened file.
TH1 * H1(const TString &name) const
Return pointer to TH1 histogram.
Short_t GetStation() const
chrono::time_point< chrono::system_clock > fTicksLastUpdate
virtual ~BmnQaBase()
Destructor.
virtual void Finish()
Derived from FairTask.
virtual void ProcessGlobal()=0
void CreateH1(const string &name, const string &xTitle, const string &yTitle, Int_t nofBins, Double_t minBin, Double_t maxBin)
BmnSimulationReport * fReport
virtual void Exec(Option_t *opt)
Derived from FairTask.
const Int_t fNItersToUpdate
void CreateH2(const string &name, const string &xTitle, const string &yTitle, const string &zTitle, Int_t nofBinsX, Double_t minBinX, Double_t maxBinX, Int_t nofBinsY, Double_t minBinY, Double_t maxBinY)
const chrono::seconds fTimeToUpdate
void FillStripHits(DetectorId detId, TClonesArray *hits)
virtual void CreateHistograms()=0
virtual InitStatus Init()
Derived from FairTask.
virtual void ReadEventHeader()
virtual void ReadDataBranches()=0
Read data branches from input data files.
Int_t fNItersSinceUpdate
redraw each timeout seconds
void SetMonitorMode(const Bool_t mm)
void SetObjServer(THttpServer *s)
void Register(string path)
static char * HistNameHits(string detName, Short_t iSt)
void SetHM(BmnHistManager *hm)
void Create(BmnHistManager *histManager, const string &outputDir)
Main function which creates report data.
Create report for tracking QA.
string FindAndReplace(const string &name, const string &oldSubstr, const string &newSubstr)
vector< string > Split(const string &name, char delimiter)