CbmRoot
CbmMcbm2019CheckDigisMuch.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 #ifndef CBMMCBM2019CHECKDIGISMUCH_H
9 #define CBMMCBM2019CHECKDIGISMUCH_H
10 
11 #include "CbmDefs.h"
12 
13 #include "FairTask.h"
14 
15 #include "TString.h"
16 
17 class TClonesArray;
18 class TH1;
19 class TH2;
20 class CbmDigiManager;
21 
22 class CbmMcbm2019CheckDigisMuch : public FairTask {
23 public:
25 
29 
31  // CbmMcbm2019CheckDigisMuch(Int_t verbose);
32 
33 
36 
37 
39  virtual InitStatus Init();
40 
42  virtual InitStatus ReInit();
43 
44 
46  virtual void Exec(Option_t*);
47 
49  virtual void SetParContainers();
50 
52  virtual void Finish();
53 
54  inline void SetTimeWindow(UInt_t uTsJump,
55  Double_t dFirstTsOffset,
56  UInt_t uPrevTs = 2,
57  UInt_t uPostTs = 2,
58  Double_t dTsLength = 10240000.) {
59  fuTsJump = uTsJump;
60  fdFirstTsOffs = dFirstTsOffset;
61  fuStartTs = uTsJump - uPrevTs;
62  fuStopTs = uTsJump + uPostTs;
63  fdTsLength = dTsLength;
64  fdStartTime = fuStartTs * dTsLength + dFirstTsOffset;
65  }
66  inline void SetDigiDistPlotStartTime(Double_t dStartTime) {
67  fdDigiDistStart = dStartTime;
68  fdDigiDistStop = dStartTime + 500000;
69  }
70 
71  inline void SetMuchPulseradcLimits(UInt_t uMin, UInt_t uMax) {
72  fuMinAdcPulserMuch = uMin;
73  fuMaxAdcPulserMuch = uMax;
74  }
75 
76  inline void SetOutFilename(TString sNameIn) { fOutFileName = sNameIn; }
77 
78 private:
79  void CreateHistos();
80  void WriteHistos();
81 
82  static const UInt_t kuMaxNbAsics = 36;
83  static const UInt_t kuNbChansAsic = 128;
84 
85  CbmDigiManager* fDigiMan = nullptr;
86  UInt_t fNrTs = 0;
87  TH2* fSameChanDigisDistEvo = nullptr;
88 
89  UInt_t fuTsJump = 3;
90  Double_t fdFirstTsOffs = 0.0;
91  UInt_t fuStartTs = 0.0;
92  UInt_t fuStopTs = 0.0;
93  Double_t fdTsLength = 0.0;
94  Double_t fdStartTime = 0.0;
95 
96  Double_t fdDigiDistStart = 0.0;
97  Double_t fdDigiDistStop = 0.0;
98 
99  UInt_t fuMinAdcPulserMuch = 5;
100  UInt_t fuMaxAdcPulserMuch = 15;
101  TH2* fDigisPerAsicEvo = nullptr;
104 
105  TH2* fDigisPerChanEvo = nullptr;
106 
107  TString fOutFileName {"data/CheckDigisMuch.root"};
108 
110 };
111 
112 #endif // CBMMCBM2019CHECKDIGISMUCH_H
CbmMcbm2019CheckDigisMuch::SetDigiDistPlotStartTime
void SetDigiDistPlotStartTime(Double_t dStartTime)
Definition: CbmMcbm2019CheckDigisMuch.h:66
CbmMcbm2019CheckDigisMuch::fuTsJump
UInt_t fuTsJump
Definition: CbmMcbm2019CheckDigisMuch.h:89
CbmMcbm2019CheckDigisMuch::CreateHistos
void CreateHistos()
Definition: CbmMcbm2019CheckDigisMuch.cxx:66
CbmMcbm2019CheckDigisMuch::fdTsLength
Double_t fdTsLength
Definition: CbmMcbm2019CheckDigisMuch.h:93
CbmMcbm2019CheckDigisMuch::Exec
virtual void Exec(Option_t *)
Definition: CbmMcbm2019CheckDigisMuch.cxx:117
CbmMcbm2019CheckDigisMuch::~CbmMcbm2019CheckDigisMuch
~CbmMcbm2019CheckDigisMuch()
Definition: CbmMcbm2019CheckDigisMuch.cxx:33
CbmMcbm2019CheckDigisMuch::fuStartTs
UInt_t fuStartTs
Definition: CbmMcbm2019CheckDigisMuch.h:91
CbmMcbm2019CheckDigisMuch::fNrTs
UInt_t fNrTs
Definition: CbmMcbm2019CheckDigisMuch.h:86
CbmMcbm2019CheckDigisMuch::fdStartTime
Double_t fdStartTime
Definition: CbmMcbm2019CheckDigisMuch.h:94
CbmMcbm2019CheckDigisMuch::ClassDef
ClassDef(CbmMcbm2019CheckDigisMuch, 1)
CbmMcbm2019CheckDigisMuch::fdLastMuchDigi
Double_t fdLastMuchDigi[kuMaxNbAsics][kuNbChansAsic]
Definition: CbmMcbm2019CheckDigisMuch.h:102
CbmMcbm2019CheckDigisMuch::fuMinAdcPulserMuch
UInt_t fuMinAdcPulserMuch
Definition: CbmMcbm2019CheckDigisMuch.h:99
CbmMcbm2019CheckDigisMuch::fOutFileName
TString fOutFileName
Definition: CbmMcbm2019CheckDigisMuch.h:107
CbmMcbm2019CheckDigisMuch::fdDigiDistStart
Double_t fdDigiDistStart
Definition: CbmMcbm2019CheckDigisMuch.h:96
CbmMcbm2019CheckDigisMuch::fuMaxAdcPulserMuch
UInt_t fuMaxAdcPulserMuch
Definition: CbmMcbm2019CheckDigisMuch.h:100
CbmMcbm2019CheckDigisMuch::fDigisPerAsicEvo
TH2 * fDigisPerAsicEvo
Definition: CbmMcbm2019CheckDigisMuch.h:101
CbmMcbm2019CheckDigisMuch::fDigisPerChanEvo
TH2 * fDigisPerChanEvo
Definition: CbmMcbm2019CheckDigisMuch.h:105
CbmMcbm2019CheckDigisMuch::fdLastMuchDigiPulser
Double_t fdLastMuchDigiPulser[kuMaxNbAsics][kuNbChansAsic]
Definition: CbmMcbm2019CheckDigisMuch.h:103
CbmMcbm2019CheckDigisMuch::fDigiMan
CbmDigiManager * fDigiMan
Definition: CbmMcbm2019CheckDigisMuch.h:85
CbmMcbm2019CheckDigisMuch::CbmMcbm2019CheckDigisMuch
CbmMcbm2019CheckDigisMuch()
Definition: CbmMcbm2019CheckDigisMuch.cxx:29
CbmMcbm2019CheckDigisMuch::ReInit
virtual InitStatus ReInit()
Definition: CbmMcbm2019CheckDigisMuch.cxx:114
CbmMcbm2019CheckDigisMuch::operator=
CbmMcbm2019CheckDigisMuch operator=(const CbmMcbm2019CheckDigisMuch &)=delete
CbmDigiManager
CbmDigiManager.
Definition: CbmDigiManager.h:37
CbmMcbm2019CheckDigisMuch::Finish
virtual void Finish()
Definition: CbmMcbm2019CheckDigisMuch.cxx:199
CbmMcbm2019CheckDigisMuch::WriteHistos
void WriteHistos()
Definition: CbmMcbm2019CheckDigisMuch.cxx:201
CbmMcbm2019CheckDigisMuch::SetTimeWindow
void SetTimeWindow(UInt_t uTsJump, Double_t dFirstTsOffset, UInt_t uPrevTs=2, UInt_t uPostTs=2, Double_t dTsLength=10240000.)
Definition: CbmMcbm2019CheckDigisMuch.h:54
CbmMcbm2019CheckDigisMuch::Init
virtual InitStatus Init()
Definition: CbmMcbm2019CheckDigisMuch.cxx:48
CbmMcbm2019CheckDigisMuch::SetMuchPulseradcLimits
void SetMuchPulseradcLimits(UInt_t uMin, UInt_t uMax)
Definition: CbmMcbm2019CheckDigisMuch.h:71
CbmMcbm2019CheckDigisMuch
Definition: CbmMcbm2019CheckDigisMuch.h:22
CbmMcbm2019CheckDigisMuch::CbmMcbm2019CheckDigisMuch
CbmMcbm2019CheckDigisMuch(const CbmMcbm2019CheckDigisMuch &)=delete
CbmMcbm2019CheckDigisMuch::SetParContainers
virtual void SetParContainers()
Definition: CbmMcbm2019CheckDigisMuch.cxx:36
CbmMcbm2019CheckDigisMuch::fuStopTs
UInt_t fuStopTs
Definition: CbmMcbm2019CheckDigisMuch.h:92
CbmMcbm2019CheckDigisMuch::fdDigiDistStop
Double_t fdDigiDistStop
Definition: CbmMcbm2019CheckDigisMuch.h:97
CbmMcbm2019CheckDigisMuch::SetOutFilename
void SetOutFilename(TString sNameIn)
Definition: CbmMcbm2019CheckDigisMuch.h:76
CbmMcbm2019CheckDigisMuch::kuNbChansAsic
static const UInt_t kuNbChansAsic
Definition: CbmMcbm2019CheckDigisMuch.h:83
CbmMcbm2019CheckDigisMuch::kuMaxNbAsics
static const UInt_t kuMaxNbAsics
Definition: CbmMcbm2019CheckDigisMuch.h:82
CbmMcbm2019CheckDigisMuch::fdFirstTsOffs
Double_t fdFirstTsOffs
Definition: CbmMcbm2019CheckDigisMuch.h:90
CbmMcbm2019CheckDigisMuch::fSameChanDigisDistEvo
TH2 * fSameChanDigisDistEvo
Definition: CbmMcbm2019CheckDigisMuch.h:87
CbmDefs.h