CbmRoot
Loading...
Searching...
No Matches
CbmMuchTransportQa.h
Go to the documentation of this file.
1/* Copyright (C) 2020-2021 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergey Gorbunov, Evgeny Kryshen, Vikas Singhal, Ekata Nandy, Dominik Smith [committer] */
4
9#ifndef CbmMuchTransportQa_H
10#define CbmMuchTransportQa_H
11
12#include "FairTask.h"
13
14#include "TParameter.h"
15#include <Rtypes.h>
16#include <RtypesCore.h>
17#include <TFolder.h>
18
19#include <vector>
20
21class CbmMCDataArray;
23class CbmTimeSlice;
24class CbmMuchPoint;
25class CbmQaCanvas;
26class TBuffer;
27class TClass;
28class TClonesArray;
29class TH1F;
30class TH2F;
31class TMemberInspector;
32class CbmQaPie;
33class FairRootManager;
34
39class CbmMuchTransportQa : public FairTask {
40
41public:
43 CbmMuchTransportQa(const char* name = "MuchHitFinderQa", Int_t verbose = 1);
47
49 virtual ~CbmMuchTransportQa();
50
52 void SetParContainers();
53 InitStatus Init();
54 InitStatus ReInit();
55 void Exec(Option_t* option);
56 void Finish();
57
60 TFolder& GetQa();
61
62private:
63 void InitCountingHistos();
64 void InitFractionHistos();
66 void InitRatioPieCharts();
67 void InitCanvases();
68 void FillCountingHistos(Int_t stId, Int_t motherId, Int_t pdgCode);
69 void Fill2dSpatialDistributionHistos(CbmMuchPoint* point, Int_t stId);
70
73 void DeInit();
74
77 void DrawCanvases();
78
80 Int_t fNstations = 0;
81
82 // setup
83 FairRootManager* fManager = nullptr;
86
90
92
93 TFolder* histFolder;
94 TFolder fOutFolder;
95 TParameter<int> fNevents;
96
98 TH1F* fhUsNtraAll = nullptr;
99 TH1F* fhUsNtraPrim = nullptr;
100 TH1F* fhUsNtraSec = nullptr;
101 TH1F* fhUsNtraPr = nullptr;
102 TH1F* fhUsNtraPi = nullptr;
103 TH1F* fhUsNtraEl = nullptr;
104 TH1F* fhUsNtraMu = nullptr;
105 TH1F* fhUsNtraKa = nullptr;
106 std::vector<TH1F*> fvUsNtra;
107
109 std::vector<TH2F*> fvMcPointXY;
110 std::vector<TH2F*> fvMcPointPhiZ;
111 std::vector<TH2F*> fvMcPointRZ;
112
113 TH1F* fhNtracks = nullptr;
114 TH1F* fhFractionPrim = nullptr;
115 TH1F* fhFractionSec = nullptr;
116 TH1F* fhFractionPr = nullptr;
117 TH1F* fhFractionPi = nullptr;
118 TH1F* fhFractionEl = nullptr;
119 TH1F* fhFractionMu = nullptr;
120 TH1F* fhFractionKa = nullptr;
121 std::vector<TH1F*> fvFraction;
122
124 std::vector<CbmQaPie*> fvMcPointPRatio;
125 std::vector<CbmQaPie*> fvMcPointPrimRatio;
126
127 // output canvaces with histogramm collections
132
133 // output canvaces with pie chart collections
136
137 ClassDef(CbmMuchTransportQa, 0)
138};
139
140#endif
Access to a MC data branch for time-based analysis.
Task class creating and managing CbmMCDataArray objects.
TH1F * fhFractionPi
fraction of protons
std::vector< TH2F * > fvMcPointRZ
MC point Phi vs Z [N stations].
CbmMCDataArray * fMcTracks
CbmQaCanvas * fCanvStationRZ
CbmMuchTransportQa & operator=(const CbmMuchTransportQa &)=delete
TH1F * fhUsNtraMu
number of electrons
void Fill2dSpatialDistributionHistos(CbmMuchPoint *point, Int_t stId)
TParameter< int > fNevents
output folder with histos and canvases
CbmMCDataArray * fPoints
containers
void FillCountingHistos(Int_t stId, Int_t motherId, Int_t pdgCode)
TH1F * fhUsNtraPr
number of secondary tracks
CbmQaCanvas * fCanvStationPRatio
CbmQaCanvas * fCanvStationPhiZ
CbmMuchTransportQa(const CbmMuchTransportQa &)=delete
Deactivated copy constructors.
void Exec(Option_t *option)
TH1F * fhUsNtraKa
number of muons
virtual ~CbmMuchTransportQa()
Destructor.
TFolder fOutFolder
subfolder for histograms
std::vector< CbmQaPie * > fvMcPointPRatio
pointers to the above histos
std::vector< TH2F * > fvMcPointPhiZ
MC point Y vs X [N stations].
TH1F * fhFractionMu
fraction of electrons
FairRootManager * fManager
CbmQaCanvas * fCanvStationXY
MC point particle ratio pie charts [N stations].
std::vector< CbmQaPie * > fvMcPointPrimRatio
MC point particle ratio pie charts [N stations].
TH1F * fhFractionPr
fraction of secondary tracks
TH1F * fhUsNtraSec
number of primary tracks
TH1F * fhUsNtraAll
number of processed events
std::vector< TH1F * > fvUsNtra
number of kaons
TH1F * fhFractionSec
fraction of primary tracks
CbmMuchTransportQa(const char *name="MuchHitFinderQa", Int_t verbose=1)
Constructor.
CbmMCDataManager * fMcManager
TH1F * fhFractionPrim
number of all tracks / event
TH1F * fhFractionKa
fraction of muons
TH1F * fhNtracks
MC point R vs Z [N stations].
TH1F * fhUsNtraPi
number of protons
void SetParContainers()
FairTask methods.
TH1F * fhUsNtraEl
number of pions
TH1F * fhUsNtraPrim
number of all tracks
std::vector< TH2F * > fvMcPointXY
pointers to the above fhUsNtra* histos
CbmQaCanvas * fCanvStationPrimRatio
TH1F * fhFractionEl
fraction of pions
std::vector< TH1F * > fvFraction
fraction of kaons
CbmTimeSlice * fTimeSlice
Bookkeeping of time-slice content.