BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnClusteringQa.h
Go to the documentation of this file.
1/**
2 * \file BmnClusteringQa.h
3 * \brief FairTask for clustering performance calculation.
4 * \author Andrey Lebedev <andrey.lebedev@gsi.de>
5 * \date 2011
6 */
7
8#ifndef BMNCLUSTERINGQA_H_
9#define BMNCLUSTERINGQA_H_
10
11#include "BmnDetectorList.h"
12#include "BmnGemStripStationSet.h"
13#include "BmnHistManager.h"
14#include "BmnSiliconStationSet.h"
15#include "FairTask.h"
16#include "TClonesArray.h"
17
18#include <string>
19#include <vector>
20
21using std::map;
22using std::string;
23using std::vector;
24
25class BmnClusteringQa : public FairTask
26{
27 public:
28 /**
29 * \brief Constructor.
30 */
32
33 /**
34 * \brief Destructor.
35 */
37
38 /**
39 * \brief Derived from FairTask.
40 */
41 virtual InitStatus Init();
42
43 /**
44 * \brief Derived from FairTask.
45 */
46 virtual void Exec(Option_t* opt);
47
48 /**
49 * \brief Derived from FairTask.
50 */
51 virtual void Finish();
52
53 /** Setters */
54 void SetOutputDir(const string& outputDir) { fOutputDir = outputDir; }
55
56 void SetOnlyPrimes(const Bool_t prime) { fPrimes = prime; }
57
58 Bool_t GetOnlyPrimes() const { return fPrimes; }
59
60 private:
62
63 /**
64 * \brief Read data branches.
65 */
67
68 void ProcessPoints(const TClonesArray* points, const string& detName, DetectorId detId);
69
70 void ProcessDigis(const TClonesArray* digis,
71 const TClonesArray* digiMatches,
72 const string& detName,
73 DetectorId detId);
74
75 void ProcessClusters(const TClonesArray* clusters,
76 const TClonesArray* clusterMatches,
77 const string& detName,
78 DetectorId detId);
79
80 void ProcessHits(const TClonesArray* hits, const TClonesArray* hitMatches, const string& detName, DetectorId detId);
81
83
84 /**
85 *
86 */
88
89 /**
90 *
91 */
93
94 /**
95 *
96 */
97 void CreateNofObjectsHistograms(DetectorId detId, const string& detName);
98
99 /**
100 *
101 */
103 const string& detName,
104 const string& parameter,
105 const string& xTitle);
106
107 void CreateClusterParametersHistograms(DetectorId detId, const string& detName);
108
110 const TClonesArray* hits,
111 const TClonesArray* hitMatches,
112 const string& detName,
113 DetectorId detId);
114
116 const TClonesArray* hits,
117 const TClonesArray* hitMatches,
118 const string& detName,
119 DetectorId detId);
120
122 const string& detName,
123 const string& parameter,
124 const string& xTitle,
125 Int_t nofBins,
126 Double_t minBin,
127 Double_t maxBin);
128
129 void CreateH1(const string& name,
130 const string& xTitle,
131 const string& yTitle,
132 Int_t nofBins,
133 Double_t minBin,
134 Double_t maxBin);
135
136 void CreateH2(const string& name,
137 const string& xTitle,
138 const string& yTitle,
139 const string& zTitle,
140 Int_t nofBinsX,
141 Double_t minBinX,
142 Double_t maxBinX,
143 Int_t nofBinsY,
144 Double_t minBinY,
145 Double_t maxBinY);
146
147 BmnHistManager* fHM; // Histogram manager
148 string fOutputDir; // Output directory for results
149
150 // Pointers to data arrays
152
153 // TClonesArray* fMvdPoints; // CbmMvdPoint array
154 // TClonesArray* fMvdDigis; // CbmMvdDigi array
155 // TClonesArray* fMvdClusters; // CbmMvdClusters array
156 // TClonesArray* fMvdHits; // CbmMvdHit array
157
160 // TClonesArray* fGemClusters;
163 // TClonesArray* fGemClusterMatches;
165
168
172
176
177 Bool_t fPrimes; // calculate efficiency only for primaries or for all particles
178
181
183};
184
185#endif /* BMNCLUSTERINGQA_H_ */
bool Bool_t
int Int_t
double Double_t
const char Option_t
#define ClassDef(name, id)
DetectorId
BM@N DetectorID enumerator.
BmnGemStripStationSet * fGemDetector
virtual void Exec(Option_t *opt)
Derived from FairTask.
void CreateNofObjectsHistograms(DetectorId detId, const string &detName)
BmnClusteringQa & operator=(const BmnClusteringQa &)=delete
void ReadDataBranches()
Read data branches.
void CreateNofObjectsHistograms(DetectorId detId, const string &detName, const string &parameter, const string &xTitle)
BmnClusteringQa(const BmnClusteringQa &)=delete
TClonesArray * fDch1Points
void ProcessClusters(const TClonesArray *clusters, const TClonesArray *clusterMatches, const string &detName, DetectorId detId)
TClonesArray * fGemHitMatches
TClonesArray * fDch1Hits
TClonesArray * fGemPoints
void FillEventCounterHistograms()
virtual ~BmnClusteringQa()
Destructor.
TClonesArray * fSilHitMatches
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)
virtual void Finish()
Derived from FairTask.
void ReadEventHeader()
void FillResidualAndPullHistograms(const TClonesArray *points, const TClonesArray *hits, const TClonesArray *hitMatches, const string &detName, DetectorId detId)
BmnSiliconStationSet * fSilDetector
void ProcessDigis(const TClonesArray *digis, const TClonesArray *digiMatches, const string &detName, DetectorId detId)
void ProcessHits(const TClonesArray *hits, const TClonesArray *hitMatches, const string &detName, DetectorId detId)
BmnClusteringQa()
Constructor.
virtual InitStatus Init()
Derived from FairTask.
void SetOnlyPrimes(const Bool_t prime)
TClonesArray * fMCTracks
TClonesArray * fSilHits
void CreateClusterParametersHistograms(DetectorId detId, const string &detName)
void ProcessPoints(const TClonesArray *points, const string &detName, DetectorId detId)
TClonesArray * fDch1HitMatches
void CreateHitEfficiencyHistograms(DetectorId detId, const string &detName, const string &parameter, const string &xTitle, Int_t nofBins, Double_t minBin, Double_t maxBin)
void FillHitEfficiencyHistograms(const TClonesArray *points, const TClonesArray *hits, const TClonesArray *hitMatches, const string &detName, DetectorId detId)
void SetOutputDir(const string &outputDir)
Setters.
TClonesArray * fGemDigits
Int_t GetStationId(Int_t address, DetectorId detId)
TClonesArray * fSilPoints
void CreateHistograms()
void CreateH1(const string &name, const string &xTitle, const string &yTitle, Int_t nofBins, Double_t minBin, Double_t maxBin)
TClonesArray * fGemHits
Bool_t GetOnlyPrimes() const
BmnHistManager * fHM
TClonesArray * fGemDigitMatches
Histogram manager.