BmnRoot
Loading...
Searching...
No Matches
CentralityClusterizer.h
Go to the documentation of this file.
1
11#ifndef CENTRALITY_CLUSTERIZER_H
12#define CENTRALITY_CLUSTERIZER_H
13
14#include "FairLogger.h"
15#include "FairRootManager.h"
16
17#include "BmnTask.h"
18#include "BmnEventCentrality.h"
19
20#include <string>
21#include <vector>
22#include <utility>
23#include <regex>
24
25#include <TH1F.h>
26#include <TH2F.h>
27#include <TFile.h>
28#include <TDirectory.h>
29#include <TStopwatch.h>
30#include <TClonesArray.h>
31
32class CentralityClusterizer : public BmnTask {
33public:
34 CentralityClusterizer(const std::string& rootFilePath);
36
37 virtual InitStatus Init();
38 virtual void Exec(Option_t* opt);
39 virtual void Finish();
40 virtual void OnlineWrite(const std::unique_ptr<TTree>& resultTree);
41
42private:
43 FairRootManager* fpFairRootMgr = nullptr;
44 TFile* fPdfFile = nullptr; // file with histograms of PDFs
45 std::string fRootFilePath; // file with histograms of PDFs
46
47 int fNumClusters;
48 std::map<int, TH2F*> fPDF; // map <cluster> to histogram holding probability density function
49 static inline const std::regex fPattern{ R"(cluster_(\d+))" }; // cluster_%d
50 BmnEventCentrality* fBmnEventCentrality = nullptr; // output
51
52 void LoadHistograms();
53 float fworkTime;
54
55 ClassDef(CentralityClusterizer, 1);
56};
57
58#endif // CENTRALITY_CLUSTERIZER_H
BmnTask.
Definition BmnTask.h:13
Class for event centrality determination through clusterization.
CentralityClusterizer(const std::string &rootFilePath)
virtual void Finish()
virtual void OnlineWrite(const std::unique_ptr< TTree > &resultTree)
Write task resul to tree.
virtual void Exec(Option_t *opt)
virtual ~CentralityClusterizer()
virtual InitStatus Init()