CbmRoot
Loading...
Searching...
No Matches
CbmMuchHitFinderQa.h
Go to the documentation of this file.
1/* Copyright (C) 2007-2021 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Evgeny Kryshen, Dominik Smith [committer], Sergey Gorbunov */
4
5// -------------------------------------------------------------------------
6// ----- CbmMuchHitFinderQa header file -----
7// ----- Modified 01/18 by Vikas Singhal -----
8// ----- Created 16/11/07 by E. Kryshen -----
9// -------------------------------------------------------------------------
10
11#ifndef CbmMuchHitFinderQa_H
12#define CbmMuchHitFinderQa_H
13
14#include "CbmLink.h"
15#include "FairTask.h"
16#include "TParameter.h"
17#include "TString.h"
18
19#include <Rtypes.h>
20#include <RtypesCore.h>
21#include <TFolder.h>
22
23class CbmDigiManager;
25class CbmQaCanvas;
26class TBuffer;
27class TClass;
28class TClonesArray;
29class TH1D;
30class TH1I;
31class TMemberInspector;
32class CbmMCDataArray;
34class CbmTimeSlice;
35class FairRootManager;
36
37class CbmMuchHitFinderQa : public FairTask {
38
39 public:
40 CbmMuchHitFinderQa(const char* name = "MuchHitFinderQa", Int_t verbose = 1);
41 virtual ~CbmMuchHitFinderQa();
42 virtual InitStatus Init();
43 virtual void Exec(Option_t* option);
44 virtual void FinishTask();
45 virtual void SetParContainers();
46 void SetGeoFileName(TString fileName) { fGeoFileName = fileName; }
47 void SetPerformanceFileName(TString fileName) { fFileName = fileName; }
48 void SetGeometryID(Int_t flag) { fFlag = flag; }
49
50 protected:
51 /* Analysis of hit uncertainty (pull) distributions
52 * as function of pad size and cluster shape
53 */
54 void PullsQa();
55
56 /* Information on clusters - number of pads in a cluster, number of points, contributed to
57 * a cluster, number of hits, created from a cluster
58 */
59 void StatisticsQa();
60
61 /* Number of points and hits in a cluster for signal muons (MotherId = 0) */
62 void ClusterDeconvQa();
63
64 private:
65 void DeInit();
66 void DrawCanvases();
67
68 // setup
69 FairRootManager* fManager = nullptr;
72
73 //
75 TString fGeoFileName;
76 TString fFileName;
77 Int_t fVerbose = 0;
78 Int_t fFlag = 0;
79
83
84 TFolder fOutFolder;
85 TFolder* histFolder;
86
87 TClonesArray* fClusters = nullptr;
88 TClonesArray* fHits = nullptr;
89
90 Int_t fNstations = 0;
91
92 //1D Histogram for PULL Distribution
93 TH1D* fhPullX = nullptr;
94 TH1D* fhPullY = nullptr;
95 TH1D* fhPullT = nullptr;
96
97 //1D Histogram for Residual Distribution
98 TH1D* fhResidualX = nullptr;
99 TH1D* fhResidualY = nullptr;
100 TH1D* fhResidualT = nullptr;
101
102 std::vector<TH1I*> fhPointsInCluster;
103 std::vector<TH1I*> fhDigisInCluster;
104 std::vector<TH1I*> fhHitsPerCluster;
105
111
112 TParameter<int> fNevents;
113 TParameter<int> fSignalPoints; // Number of signal MC points
114 TParameter<int> fSignalHits; // Number of signal hits
115 TParameter<int> fPointsTotal;
116 TParameter<int> fPointsUnderCounted;
117 TParameter<int> fPointsOverCounted;
118
120 Bool_t IsSignalPoint(CbmLink pointLink);
121
124
125 ClassDef(CbmMuchHitFinderQa, 0)
126};
127
128#endif
CbmDigiManager.
Access to a MC data branch for time-based analysis.
Task class creating and managing CbmMCDataArray objects.
TParameter< int > fPointsTotal
void SetPerformanceFileName(TString fileName)
CbmMuchGeoScheme * fGeoScheme
CbmMuchHitFinderQa(const char *name="MuchHitFinderQa", Int_t verbose=1)
TParameter< int > fNevents
FairRootManager * fManager
CbmMCDataArray * fMCTracks
std::vector< TH1I * > fhDigisInCluster
TParameter< int > fPointsUnderCounted
void SetGeoFileName(TString fileName)
TParameter< int > fSignalPoints
number of processed events
TClonesArray * fClusters
subfolder for histograms
CbmTimeSlice * fTimeSlice
CbmDigiManager * fDigiManager
CbmQaCanvas * fCanvDigisInCluster
CbmMCDataArray * fPoints
virtual void Exec(Option_t *option)
TFolder * histFolder
output folder with histos and canvases
TParameter< int > fSignalHits
CbmQaCanvas * fCanvResidual
virtual InitStatus Init()
Bool_t IsSignalPoint(CbmLink pointLink)
std::vector< TH1I * > fhHitsPerCluster
CbmQaCanvas * fCanvPointsInCluster
virtual void SetParContainers()
void SetGeometryID(Int_t flag)
CbmMCDataManager * fMcManager
CbmQaCanvas * fCanvHitsPerCluster
std::vector< TH1I * > fhPointsInCluster
CbmMuchHitFinderQa & operator=(const CbmMuchHitFinderQa &)
CbmMuchHitFinderQa(const CbmMuchHitFinderQa &)
TParameter< int > fPointsOverCounted
Bookkeeping of time-slice content.