CbmRoot
Loading...
Searching...
No Matches
CbmMcbm2019CheckDigisMuch.h
Go to the documentation of this file.
1/* Copyright (C) 2020-2021 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau [committer] */
4
5#ifndef CBMMCBM2019CHECKDIGISMUCH_H
6#define CBMMCBM2019CHECKDIGISMUCH_H
7
8#include "CbmDefs.h"
9
10#include "FairTask.h"
11
12#include "TString.h"
13
14class TClonesArray;
15class TH1;
16class TH2;
17class CbmDigiManager;
18
19class CbmMcbm2019CheckDigisMuch : public FairTask {
20public:
22
25
27 // CbmMcbm2019CheckDigisMuch(Int_t verbose);
28
29
32
33
35 virtual InitStatus Init();
36
38 virtual InitStatus ReInit();
39
40
42 virtual void Exec(Option_t*);
43
45 virtual void SetParContainers();
46
48 virtual void Finish();
49
50 inline void SetTimeWindow(UInt_t uTsJump, Double_t dFirstTsOffset, UInt_t uPrevTs = 2, UInt_t uPostTs = 2,
51 Double_t dTsLength = 10240000.)
52 {
53 fuTsJump = uTsJump;
54 fdFirstTsOffs = dFirstTsOffset;
55 fuStartTs = uTsJump - uPrevTs;
56 fuStopTs = uTsJump + uPostTs;
57 fdTsLength = dTsLength;
58 fdStartTime = fuStartTs * dTsLength + dFirstTsOffset;
59 }
60 inline void SetDigiDistPlotStartTime(Double_t dStartTime)
61 {
62 fdDigiDistStart = dStartTime;
63 fdDigiDistStop = dStartTime + 500000;
64 }
65
66 inline void SetMuchPulseradcLimits(UInt_t uMin, UInt_t uMax)
67 {
68 fuMinAdcPulserMuch = uMin;
69 fuMaxAdcPulserMuch = uMax;
70 }
71
72 inline void SetOutFilename(TString sNameIn) { fOutFileName = sNameIn; }
73
74private:
75 void CreateHistos();
76 void WriteHistos();
77
78 static const UInt_t kuMaxNbAsics = 36;
79 static const UInt_t kuNbChansAsic = 128;
80
82 UInt_t fNrTs = 0;
83 TH2* fSameChanDigisDistEvo = nullptr;
84
85 UInt_t fuTsJump = 3;
86 Double_t fdFirstTsOffs = 0.0;
87 UInt_t fuStartTs = 0.0;
88 UInt_t fuStopTs = 0.0;
89 Double_t fdTsLength = 0.0;
90 Double_t fdStartTime = 0.0;
91
92 Double_t fdDigiDistStart = 0.0;
93 Double_t fdDigiDistStop = 0.0;
94
96 UInt_t fuMaxAdcPulserMuch = 15;
97 TH2* fDigisPerAsicEvo = nullptr;
100
101 TH2* fDigisPerChanEvo = nullptr;
102
103 TString fOutFileName {"data/CheckDigisMuch.root"};
104
106};
107
108#endif // CBMMCBM2019CHECKDIGISMUCH_H
CbmDigiManager.
void SetTimeWindow(UInt_t uTsJump, Double_t dFirstTsOffset, UInt_t uPrevTs=2, UInt_t uPostTs=2, Double_t dTsLength=10240000.)
Double_t fdLastMuchDigiPulser[kuMaxNbAsics][kuNbChansAsic]
CbmMcbm2019CheckDigisMuch(const CbmMcbm2019CheckDigisMuch &)=delete
ClassDef(CbmMcbm2019CheckDigisMuch, 1)
Double_t fdLastMuchDigi[kuMaxNbAsics][kuNbChansAsic]
void SetMuchPulseradcLimits(UInt_t uMin, UInt_t uMax)
CbmMcbm2019CheckDigisMuch operator=(const CbmMcbm2019CheckDigisMuch &)=delete
void SetDigiDistPlotStartTime(Double_t dStartTime)