CbmRoot
CbmLitClusteringQa.h
Go to the documentation of this file.
1 #
8 #ifndef CBMLITCLUSTERINGQA_H
9 #define CBMLITCLUSTERINGQA_H
10 
11 #include <FairTask.h>
12 #include <string>
13 #include <vector>
14 
15 #include "CbmMCEventList.h"
16 #include "CbmModuleList.h"
17 #include "CbmMuchGeoScheme.h"
18 #include "CbmTimeSlice.h"
20 
21 class CbmHistManager;
22 class CbmMCDataArray;
23 class CbmDigiManager;
24 
25 class CbmLitClusteringQa : public FairTask {
26 public:
31 
35  virtual ~CbmLitClusteringQa();
36 
40  virtual InitStatus Init();
41 
45  virtual void Exec(Option_t* opt);
46 
50  virtual void Finish();
51 
53  void SetOutputDir(const string& outputDir) { fOutputDir = outputDir; }
54  void SetMuchDigiFileName(const string& digiFileName) {
55  fMuchDigiFileName = digiFileName;
56  }
57 
58 private:
59  Int_t GetStationId(Int_t address, ECbmModuleId detId);
60 
64  void ReadDataBranches();
65 
66  void InitMuchGeoScheme(const string& digiFileName);
67 
68  void ProcessPoints(Int_t iEvent,
70  const string& detName,
71  ECbmModuleId detId);
72 
73  template<class Digi>
74  void ProcessDigis(const string& detName);
75 
76  void ProcessClusters(const TClonesArray* clusters,
77  const TClonesArray* clusterMatches,
78  const string& detName,
79  ECbmModuleId detId);
80 
81  void ProcessHits(const TClonesArray* hits,
82  const TClonesArray* hitMatches,
83  const string& detName,
84  ECbmModuleId detId);
85 
89  void FillEventCounterHistograms(Int_t iEvent);
90 
94  void CreateHistograms();
95 
99  void CreateNofObjectsHistograms(ECbmModuleId detId, const string& detName);
100 
105  const string& detName,
106  const string& parameter,
107  const string& xTitle);
108 
110  const string& detName);
111 
113  const TClonesArray* hits,
114  const TClonesArray* hitMatches,
115  const string& detName,
116  ECbmModuleId detId);
117 
118  void FillHitEfficiencyHistograms(Int_t iEvent,
120  const TClonesArray* hits,
121  const TClonesArray* hitMatches,
122  const string& detName,
123  ECbmModuleId detId);
124 
126  const string& detName,
127  const string& parameter,
128  const string& xTitle,
129  Int_t nofBins,
130  Double_t minBin,
131  Double_t maxBin);
132 
133  CbmHistManager* fHM = nullptr; // Histogram manager
134  std::string fOutputDir = ""; // Output directory for results
135  CbmLitDetectorSetup fDet {}; // For detector setup determination
137 
138  // Pointers to data arrays
140 
142  TClonesArray* fMvdClusters = nullptr;
143  TClonesArray* fMvdHits = nullptr;
144 
146  ;
147  TClonesArray* fStsClusters = nullptr;
148  ;
149  TClonesArray* fStsHits = nullptr;
150  TClonesArray* fStsClusterMatches = nullptr;
151  TClonesArray* fStsHitMatches = nullptr;
152 
154  TClonesArray* fRichHits = nullptr;
155 
157  TClonesArray* fMuchClusters = nullptr;
158  TClonesArray* fMuchPixelHits = nullptr;
159  TClonesArray* fMuchClusterMatches = nullptr;
160  TClonesArray* fMuchPixelHitMatches = nullptr;
161 
163  TClonesArray* fTrdClusters = nullptr;
164  TClonesArray* fTrdHits = nullptr;
165  TClonesArray* fTrdClusterMatches = nullptr;
166  TClonesArray* fTrdHitMatches = nullptr;
167 
169  TClonesArray* fTofHits = nullptr;
170 
171  string fMuchDigiFileName = "";
172 
175 
178 
180 };
181 
182 #endif /* CBMLITCLUSTERINGQA_H */
CbmLitClusteringQa::fTrdClusters
TClonesArray * fTrdClusters
CbmTrdPoint.
Definition: CbmLitClusteringQa.h:163
CbmLitClusteringQa::fMuchPixelHits
TClonesArray * fMuchPixelHits
CbmMuchCluster.
Definition: CbmLitClusteringQa.h:158
CbmLitClusteringQa::CbmLitClusteringQa
CbmLitClusteringQa(const CbmLitClusteringQa &)=delete
CbmLitClusteringQa::ProcessDigis
void ProcessDigis(const string &detName)
Definition: CbmLitClusteringQa.cxx:237
CbmLitClusteringQa::fDet
CbmLitDetectorSetup fDet
Definition: CbmLitClusteringQa.h:135
CbmLitClusteringQa::ClassDef
ClassDef(CbmLitClusteringQa, 2)
CbmLitClusteringQa::CbmLitClusteringQa
CbmLitClusteringQa()
Constructor.
Definition: CbmLitClusteringQa.cxx:67
CbmLitClusteringQa::CreateNofObjectsHistograms
void CreateNofObjectsHistograms(ECbmModuleId detId, const string &detName)
Definition: CbmLitClusteringQa.cxx:498
CbmLitClusteringQa::fTrdHitMatches
TClonesArray * fTrdHitMatches
CbmMatch (cluster)
Definition: CbmLitClusteringQa.h:166
CbmLitClusteringQa::fHM
CbmHistManager * fHM
Definition: CbmLitClusteringQa.h:133
CbmLitClusteringQa::fStsHits
TClonesArray * fStsHits
CbmStsCluster.
Definition: CbmLitClusteringQa.h:149
CbmLitClusteringQa::CreateClusterParametersHistograms
void CreateClusterParametersHistograms(ECbmModuleId detId, const string &detName)
Definition: CbmLitClusteringQa.cxx:576
CbmLitClusteringQa::fTrdClusterMatches
TClonesArray * fTrdClusterMatches
CbmTrdHit.
Definition: CbmLitClusteringQa.h:165
CbmLitClusteringQa::~CbmLitClusteringQa
virtual ~CbmLitClusteringQa()
Destructor.
Definition: CbmLitClusteringQa.cxx:69
CbmLitClusteringQa::ProcessPoints
void ProcessPoints(Int_t iEvent, CbmMCDataArray *points, const string &detName, ECbmModuleId detId)
Definition: CbmLitClusteringQa.cxx:221
CbmLitClusteringQa::fMuchClusters
TClonesArray * fMuchClusters
CbmMuchPoint.
Definition: CbmLitClusteringQa.h:157
CbmLitClusteringQa::GetStationId
Int_t GetStationId(Int_t address, ECbmModuleId detId)
Definition: CbmLitClusteringQa.cxx:209
CbmLitClusteringQa::ReadDataBranches
void ReadDataBranches()
Read data branches.
Definition: CbmLitClusteringQa.cxx:165
ECbmModuleId
ECbmModuleId
Definition: CbmDefs.h:33
CbmMCDataArray
Access to a MC data branch for time-based analysis.
Definition: CbmMCDataArray.h:35
CbmLitDetectorSetup
Helper class to access detector presence.
Definition: CbmLitDetectorSetup.h:22
CbmLitClusteringQa::fEventList
CbmMCEventList * fEventList
Definition: CbmLitClusteringQa.h:174
CbmLitClusteringQa::FillEventCounterHistograms
void FillEventCounterHistograms(Int_t iEvent)
Definition: CbmLitClusteringQa.cxx:305
CbmTimeSlice.h
CbmLitClusteringQa::fMvdClusters
TClonesArray * fMvdClusters
CbmMvdPoint.
Definition: CbmLitClusteringQa.h:142
CbmLitClusteringQa::CreateHistograms
void CreateHistograms()
Definition: CbmLitClusteringQa.cxx:465
CbmLitClusteringQa::fStsHitMatches
TClonesArray * fStsHitMatches
CbmMatch (cluster)
Definition: CbmLitClusteringQa.h:151
CbmLitClusteringQa::fTrdHits
TClonesArray * fTrdHits
CbmTrdCluster.
Definition: CbmLitClusteringQa.h:164
CbmHistManager
Histogram manager.
Definition: CbmHistManager.h:41
CbmLitClusteringQa::fStsPoints
CbmMCDataArray * fStsPoints
CbmMvdHit.
Definition: CbmLitClusteringQa.h:145
CbmLitClusteringQa::fStsClusters
TClonesArray * fStsClusters
CbmStsPoint.
Definition: CbmLitClusteringQa.h:147
CbmLitClusteringQa::fMvdHits
TClonesArray * fMvdHits
CbmMvdCluster.
Definition: CbmLitClusteringQa.h:143
CbmLitClusteringQa::fTrdPoints
CbmMCDataArray * fTrdPoints
CbmMatch (hit)
Definition: CbmLitClusteringQa.h:162
CbmLitClusteringQa
Definition: CbmLitClusteringQa.h:25
CbmLitClusteringQa::Init
virtual InitStatus Init()
Derived from FairTask.
Definition: CbmLitClusteringQa.cxx:73
CbmLitClusteringQa::operator=
CbmLitClusteringQa & operator=(const CbmLitClusteringQa &)=delete
CbmDigiManager
CbmDigiManager.
Definition: CbmDigiManager.h:37
CbmMCEventList
Container class for MC events with number, file and start time.
Definition: CbmMCEventList.h:38
CbmLitClusteringQa::InitMuchGeoScheme
void InitMuchGeoScheme(const string &digiFileName)
Definition: CbmLitClusteringQa.cxx:153
CbmModuleList.h
CbmLitClusteringQa::fMvdPoints
CbmMCDataArray * fMvdPoints
CbmMCTrack.
Definition: CbmLitClusteringQa.h:141
CbmLitClusteringQa::ProcessHits
void ProcessHits(const TClonesArray *hits, const TClonesArray *hitMatches, const string &detName, ECbmModuleId detId)
Definition: CbmLitClusteringQa.cxx:279
CbmLitClusteringQa::CreateHitEfficiencyHistograms
void CreateHitEfficiencyHistograms(ECbmModuleId detId, const string &detName, const string &parameter, const string &xTitle, Int_t nofBins, Double_t minBin, Double_t maxBin)
Definition: CbmLitClusteringQa.cxx:737
CbmMCEventList.h
points
TClonesArray * points
Definition: Analyze_matching.h:18
CbmTimeSlice
Bookkeeping of time-slice content.
Definition: CbmTimeSlice.h:29
CbmLitClusteringQa::fTimeSlice
CbmTimeSlice * fTimeSlice
Definition: CbmLitClusteringQa.h:173
CbmLitClusteringQa::fMuchClusterMatches
TClonesArray * fMuchClusterMatches
CbmMuchPixelHit.
Definition: CbmLitClusteringQa.h:159
hits
static vector< vector< QAHit > > hits
Definition: CbmTofHitFinderTBQA.cxx:114
CbmLitClusteringQa::SetMuchDigiFileName
void SetMuchDigiFileName(const string &digiFileName)
Definition: CbmLitClusteringQa.h:54
CbmLitClusteringQa::fRichHits
TClonesArray * fRichHits
CbmRichPoint.
Definition: CbmLitClusteringQa.h:154
CbmMuchGeoScheme.h
CbmLitClusteringQa::Exec
virtual void Exec(Option_t *opt)
Derived from FairTask.
Definition: CbmLitClusteringQa.cxx:92
CbmLitClusteringQa::fStsClusterMatches
TClonesArray * fStsClusterMatches
CbmStsHit array.
Definition: CbmLitClusteringQa.h:150
CbmLitClusteringQa::fMuchPoints
CbmMCDataArray * fMuchPoints
CbmRichHit.
Definition: CbmLitClusteringQa.h:156
CbmLitClusteringQa::fMuchPixelHitMatches
TClonesArray * fMuchPixelHitMatches
CbmMatch array.
Definition: CbmLitClusteringQa.h:160
CbmLitClusteringQa::FillResidualAndPullHistograms
void FillResidualAndPullHistograms(CbmMCDataArray *points, const TClonesArray *hits, const TClonesArray *hitMatches, const string &detName, ECbmModuleId detId)
Definition: CbmLitClusteringQa.cxx:375
CbmLitClusteringQa::fRichPoints
CbmMCDataArray * fRichPoints
CbmMatch (hit)
Definition: CbmLitClusteringQa.h:153
CbmLitClusteringQa::fTofHits
TClonesArray * fTofHits
CbmTofPoint.
Definition: CbmLitClusteringQa.h:169
CbmLitClusteringQa::Finish
virtual void Finish()
Derived from FairTask.
Definition: CbmLitClusteringQa.cxx:139
CbmLitClusteringQa::ProcessClusters
void ProcessClusters(const TClonesArray *clusters, const TClonesArray *clusterMatches, const string &detName, ECbmModuleId detId)
Definition: CbmLitClusteringQa.cxx:253
CbmLitClusteringQa::fMCTracks
CbmMCDataArray * fMCTracks
Interface to digi data.
Definition: CbmLitClusteringQa.h:139
CbmLitClusteringQa::FillHitEfficiencyHistograms
void FillHitEfficiencyHistograms(Int_t iEvent, CbmMCDataArray *points, const TClonesArray *hits, const TClonesArray *hitMatches, const string &detName, ECbmModuleId detId)
Definition: CbmLitClusteringQa.cxx:428
CbmLitClusteringQa::fMuchDigiFileName
string fMuchDigiFileName
CbmTofHit.
Definition: CbmLitClusteringQa.h:171
CbmLitClusteringQa::SetOutputDir
void SetOutputDir(const string &outputDir)
Definition: CbmLitClusteringQa.h:53
CbmLitClusteringQa::fTofPoints
CbmMCDataArray * fTofPoints
CbmMatch (hit)
Definition: CbmLitClusteringQa.h:168
CbmLitClusteringQa::fOutputDir
std::string fOutputDir
Definition: CbmLitClusteringQa.h:134
CbmLitClusteringQa::fDigiMan
CbmDigiManager * fDigiMan
Definition: CbmLitClusteringQa.h:136
CbmLitDetectorSetup.h
Helper class to access detector presence.