CbmRoot
Loading...
Searching...
No Matches
CbmMcbm2019CheckDigisSts.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 CBMMCBM2019CHECKDIGISSTS_H
6#define CBMMCBM2019CHECKDIGISSTS_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 CbmMcbm2019CheckDigisSts : public FairTask {
20public:
22
25
27 // CbmMcbm2019CheckDigisSts(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 SetStsPulseradcLimits(UInt_t uMin, UInt_t uMax)
67 {
68 fuMinAdcPulserSts = uMin;
69 fuMaxAdcPulserSts = 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 = 16;
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 fuMaxAdcPulserSts = 15;
97 TH2* fDigisPerAsicEvo = nullptr;
100
101 TString fOutFileName {"data/CheckDigisSts.root"};
102
104};
105
106#endif // CBMMCBM2019CHECKDIGISSTS_H
CbmDigiManager.
void SetTimeWindow(UInt_t uTsJump, Double_t dFirstTsOffset, UInt_t uPrevTs=2, UInt_t uPostTs=2, Double_t dTsLength=10240000.)
CbmMcbm2019CheckDigisSts operator=(const CbmMcbm2019CheckDigisSts &)=delete
void SetDigiDistPlotStartTime(Double_t dStartTime)
ClassDef(CbmMcbm2019CheckDigisSts, 1)
Double_t fdLastStsDigiPulser[kuMaxNbAsics][kuNbChansAsic]
Double_t fdLastStsDigi[kuMaxNbAsics][kuNbChansAsic]
void SetStsPulseradcLimits(UInt_t uMin, UInt_t uMax)
void SetOutFilename(TString sNameIn)
CbmMcbm2019CheckDigisSts(const CbmMcbm2019CheckDigisSts &)=delete