CbmRoot
CbmDeviceHitBuilderTof.h
Go to the documentation of this file.
1 
8 #ifndef CBMDEVICEHITBUILDERTOF_H_
9 #define CBMDEVICEHITBUILDERTOF_H_
10 
11 #include "CbmTofAddress.h" // in cbmdata/tof
12 #include "CbmTofGeoHandler.h" // in tof/TofTools
13 #include "FairEventHeader.h"
14 #include "FairMQDevice.h"
15 #include "TFile.h"
16 #include "TGeoManager.h"
17 #include "TTree.h"
18 
19 #include "MicrosliceDescriptor.hpp"
20 #include "Timeslice.hpp"
21 
22 #include "Rtypes.h"
23 #include "TMessage.h"
24 
25 #include <map>
26 #include <vector>
27 
28 class CbmMQTMessage;
29 class CbmHistManager;
30 // Relevant TOF classes
31 class CbmTofDigi;
32 class CbmTofDigiExp;
33 class CbmTofHit;
34 class CbmMatch;
35 class CbmEvent;
36 class CbmVertex;
37 // Geometry
38 class CbmTofGeoHandler;
39 class CbmTofDetectorId;
40 class CbmTofDigiPar;
41 class CbmTofDigiBdfPar;
42 class CbmTofCell;
43 
44 // ROOT Classes and includes
45 class TClonesArray;
46 class TF1;
47 class TH1;
48 class TH2;
49 class TProfile;
50 class TString;
51 
52 // C++ Classes and includes
53 #include <list>
54 #include <map>
55 #include <vector>
56 
57 class CbmDeviceHitBuilderTof : public FairMQDevice {
58 public:
60  virtual ~CbmDeviceHitBuilderTof();
61 
62 protected:
63  virtual void InitTask();
64  //bool HandleData(FairMQMessagePtr&, int);
65  bool HandleData(FairMQParts&, int);
66  bool HandleMessage(FairMQMessagePtr&, int);
67 
68  virtual void fit_ybox(const char* hname); // Fit
69  virtual void fit_ybox(TH1* h, Double_t dy); // Fit
70  virtual void fit_ybox(TH1* h, Double_t dy, Double_t* fpar); // Fit
71  virtual void CheckLHMemory(); // Check consistency of stored last hits
72  virtual void CleanLHMemory(); // Cleanup
73  virtual Bool_t AddNextChan(Int_t iSmType,
74  Int_t iSm,
75  Int_t iRpc,
76  Int_t iLastChan,
77  Double_t dLastPosX,
78  Double_t dLastPosY,
79  Double_t dLastTime,
80  Double_t dLastTot); // needed for time based data
81  virtual void
82  LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm, CbmTofHit* pHit);
83 
84 private:
85  // Variables used for histo filling
86 
87  Bool_t IsChannelNameAllowed(std::string channelName);
88 
89  Bool_t InitWorkspace();
90  Bool_t InitContainers();
91  Bool_t LoadGeometry();
92  Bool_t InitRootOutput();
93 
94  Bool_t ReInitContainers();
95  void CreateHistograms();
96  void WriteHistograms();
97 
98  Bool_t MonitorPulser();
99  Bool_t ApplyPulserCorrection();
100  Bool_t InitCalibParameter();
101  Bool_t BuildClusters();
102  Bool_t InspectRawDigis();
103  Bool_t CalibRawDigis();
104  Bool_t FillDigiStor();
105  Bool_t BuildHits();
106  Bool_t MergeClusters();
107  Bool_t FillHistos();
108  Bool_t SendHits();
109  Bool_t SendAll();
110 
111  uint64_t fNumMessages;
112  std::vector<std::string> fAllowedChannels = {"tofcomponent",
113  "parameters",
114  "tofdigis",
115  "tofhits",
116  "syscmd"};
117  CbmTofDigiExp* fDigi;
118 
119  TGeoManager* fGeoMan;
120  // ToF geometry variables
126  // Input variables
127  TClonesArray* fTofDigisColl; // TOF Digis
128  CbmTofDigiExp* pDigiIn;
129  Int_t fiNDigiIn;
130  std::vector<CbmTofDigiExp> fvDigiIn;
131  std::vector<int> fEventHeader;
132  FairEventHeader* fEvtHeader;
133 
134  // Output variables
135  TClonesArray* fTofCalDigisColl; // Calibrated TOF Digis
136  TClonesArray* fTofHitsColl; // TOF hits
137  TClonesArray* fTofDigiMatchColl; // TOF Digi Links
138  TClonesArray* fTofCalDigisCollOut; // Calibrated TOF Digis
139  TClonesArray* fTofHitsCollOut; // TOF hits
140  TClonesArray* fTofDigiMatchCollOut; // TOF Digi Links
141  Int_t fiNbHits; // Index of the CbmTofHit TClonesArray
142 
143  // Constants or setting parameters
144  Int_t fiNevtBuild;
145  Int_t fiMsgCnt;
146 
147  Double_t fdTOTMax;
148  Double_t fdTOTMin;
149  Double_t fdTTotMean;
150 
151  Double_t
152  fdMaxTimeDist; // Isn't this just a local variable? Why make it global and preset?!?
153  Double_t
154  fdMaxSpaceDist; // Isn't this just a local variable? Why make it global and preset?!?
155 
156  Double_t fdEvent;
157  Int_t fiMaxEvent;
158  Int_t fiRunId;
159 
162  Int_t fiFileIndex;
163 
164  // Intermediate storage variables
165  std::vector<std::vector<std::vector<std::vector<CbmTofDigi*>>>>
166  fStorDigi; //[nbType][nbSm*nbRpc][nbCh][nDigis]
167  std::vector<std::vector<std::vector<std::vector<CbmTofDigiExp*>>>>
168  fStorDigiExp; //[nbType][nbSm*nbRpc][nbCh][nDigis]
169  std::vector<std::vector<std::vector<std::vector<Int_t>>>>
170  fStorDigiInd; //[nbType][nbSm*nbRpc][nbCh][nDigis]
171  std::vector<Int_t> vDigiIndRef;
172 
173  std::vector<std::vector<std::vector<Int_t>>>
174  fviClusterMul; //[nbType][nbSm][nbRpc]
175  std::vector<std::vector<std::vector<Int_t>>>
176  fviClusterSize; //[nbType][nbRpc][nClusters]
177  std::vector<std::vector<std::vector<Int_t>>>
178  fviTrkMul; //[nbType][nbRpc][nClusters]
179  std::vector<std::vector<std::vector<Double_t>>>
180  fvdX; //[nbType][nbRpc][nClusters]
181  std::vector<std::vector<std::vector<Double_t>>>
182  fvdY; //[nbType][nbRpc][nClusters]
183  std::vector<std::vector<std::vector<Double_t>>>
184  fvdDifX; //[nbType][nbRpc][nClusters]
185  std::vector<std::vector<std::vector<Double_t>>>
186  fvdDifY; //[nbType][nbRpc][nClusters]
187  std::vector<std::vector<std::vector<Double_t>>>
188  fvdDifCh; //[nbType][nbRpc][nClusters]
189 
190  // Intermediate calibration variables
191  std::vector<std::vector<std::vector<std::vector<Double_t>>>>
192  fvCPDelTof; //[nSMT][nRpc][nbClDelTofBinX][nbSel]
193  std::vector<std::vector<std::vector<std::vector<Double_t>>>>
194  fvCPTOff; //[nSMT][nRpc][nCh][nbSide]
195  std::vector<std::vector<std::vector<std::vector<Double_t>>>>
196  fvCPTotGain; //[nSMT][nRpc][nCh][nbSide]
197  std::vector<std::vector<std::vector<std::vector<Double_t>>>>
198  fvCPTotOff; //[nSMT][nRpc][nCh][nbSide]
199  std::vector<std::vector<std::vector<std::vector<std::vector<Double_t>>>>>
200  fvCPWalk; //[nSMT][nRpc][nCh][nbSide][nbWalkBins]
201  std::vector<std::vector<std::vector<std::vector<std::list<CbmTofHit*>>>>>
202  fvLastHits; //[nSMT[nSm][nRpc][nCh][NHits]
203  std::vector<Int_t> fvDeadStrips; //[nbDet]
204 
205  std::vector<std::vector<Double_t>> fvPulserOffset; //[nbDet][nbSide]
206  const Int_t NPulserTimes = 10;
207  std::vector<std::vector<std::list<Double_t>>>
208  fvPulserTimes; //[nbDet][nbSide][NPulserTimes]
209 
210 
211  // histograms
213  TH1* fhPulMul;
215  std::vector<TProfile*> fhPulserTimeRawEvo;
219 
220  std::vector<TH2*> fhRpcDigiTot; //[nbDet]
221  std::vector<TH2*> fhRpcDigiCor; //[nbDet]
222  std::vector<TH1*> fhRpcCluMul; //[nbDet]
223  std::vector<TH1*> fhRpcCluRate; //[nbDet]
224  std::vector<TH2*> fhRpcCluPosition; //[nbDet]
225  std::vector<TH2*> fhRpcCluDelPos; //[nbDet]
226  std::vector<TH2*> fhRpcCluDelMatPos; //[nbDet]
227  std::vector<TH2*> fhRpcCluTOff; //[nbDet]
228  std::vector<TH2*> fhRpcCluDelTOff; //[nbDet]
229  std::vector<TH2*> fhRpcCluDelMatTOff; //[nbDet]
230  std::vector<TH2*> fhRpcCluTrms; //[nbDet]
231  std::vector<TH2*> fhRpcCluTot; //[nbDet]
232  std::vector<TH2*> fhRpcCluSize; //[nbDet]
233  std::vector<TH2*> fhRpcCluAvWalk; //[nbDet]
234  std::vector<TH2*> fhRpcCluAvLnWalk; //[nbDet]
235  std::vector<std::vector<std::vector<TH2*>>>
236  fhRpcCluWalk; // [nbDet][nbCh][nSide]
237  std::vector<TH2*> fhSmCluPosition; //[nbSmTypes]
238  std::vector<TH2*> fhSmCluTOff;
239  std::vector<TProfile*> fhSmCluSvel;
240  std::vector<std::vector<TProfile*>> fhSmCluFpar;
241  std::vector<TH1*> fhRpcDTLastHits; //[nbDet]
242  std::vector<TH1*> fhRpcDTLastHits_Tot; //[nbDet]
243  std::vector<TH1*> fhRpcDTLastHits_CluSize; //[nbDet]
244 
245  std::vector<std::vector<TH1*>> fhTRpcCluMul; //[nbDet][nbSel]
246  std::vector<std::vector<TH2*>> fhTRpcCluPosition; //[nbDet][nbSel]
247  std::vector<std::vector<TH2*>> fhTRpcCluTOff; //[nbDet] [nbSel]
248  std::vector<std::vector<TH2*>> fhTRpcCluTot; // [nbDet][nbSel]
249  std::vector<std::vector<TH2*>> fhTRpcCluSize; // [nbDet][nbSel]
250  std::vector<std::vector<TH2*>> fhTRpcCluAvWalk; // [nbDet][nbSel]
251  std::vector<std::vector<TH2*>> fhTRpcCluDelTof; // [nbDet][nbSel]
252  std::vector<std::vector<TH2*>> fhTRpcCludXdY; // [nbDet][nbSel]
253  std::vector<std::vector<std::vector<std::vector<TH2*>>>>
254  fhTRpcCluWalk; // [nbDet][nbSel][nbCh][nSide]
255 
256  std::vector<std::vector<TH2*>> fhTSmCluPosition; //[nbSmTypes][nbSel]
257  std::vector<std::vector<TH2*>> fhTSmCluTOff; //[nbSmTypes][nbSel]
258  std::vector<std::vector<TH2*>> fhTSmCluTRun; //[nbSmTypes][nbSel]
259  std::vector<std::vector<TH2*>> fhTRpcCluTOffDTLastHits;
260  std::vector<std::vector<TH2*>> fhTRpcCluTotDTLastHits;
261  std::vector<std::vector<TH2*>> fhTRpcCluSizeDTLastHits;
262  std::vector<std::vector<TH2*>> fhTRpcCluMemMulDTLastHits;
263 
264  std::vector<TH1*> fhSeldT; //[nbSel]
265 
266  // Calibration control variables
267  Double_t dTRef;
268  Double_t fdTRefMax;
269  Int_t fCalMode;
270  Int_t fCalSel;
271  Int_t fCalSmAddr;
272  Double_t fdCaldXdYMax;
273  Int_t fiCluMulMax;
274  Int_t fTRefMode;
275  Int_t fTRefHits;
276  Int_t fDutId;
277  Int_t fDutSm;
278  Int_t fDutRpc;
279  Int_t fDutAddr;
280  Int_t fSelId;
281  Int_t fSelSm;
282  Int_t fSelRpc;
283  Int_t fSelAddr;
285  Int_t fiBeamRefSm;
290  Int_t fSel2Id;
291  Int_t fSel2Sm;
292  Int_t fSel2Rpc;
293  Int_t fSel2Addr;
294  Int_t fiMode;
296  uint64_t fiPulMulMin;
297  uint64_t fiPulDetRef;
298  uint64_t fiPulTotMin;
299  uint64_t fiPulTotMax;
300 
301  std::map<UInt_t, UInt_t> fDetIdIndexMap;
302  std::vector<Int_t> fviDetId;
303 
304  Double_t fPosYMaxScal;
305  Double_t fTRefDifMax;
306  Double_t fTotMax;
307  Double_t fTotMin;
308  Double_t fTotOff;
309  Double_t fTotMean;
310  Double_t fdDelTofMax;
311  Double_t fTotPreRange;
312  Double_t fMaxTimeDist;
314  Double_t fdMemoryTime;
315  Double_t fdYFitMin;
316 
319  Bool_t fbPs2Ns; // convert input raw digis from ps to ns
320 
321  TString fCalParFileName; // name of the file name with Calibration Parameters
322  TString
323  fOutHstFileName; // name of the histogram output file name with Calibration Parameters
324  TString fOutRootFileName; // name of the output file name with Digis & Hits
325  TFile* fCalParFile; // pointer to Calibration Parameter file
326  TFile* fOutRootFile; // pointer to root output file
327  TTree* fRootEvent; // pointer to root event tree
328 };
329 
330 // special class to expose protected TMessage constructor
331 class CbmMQTMessage : public TMessage {
332 public:
333  CbmMQTMessage(void* buf, Int_t len) : TMessage(buf, len) {
334  ResetBit(kIsOwner);
335  }
336 };
337 
338 #endif /* CBMDEVICEHITBUILDERTOF_H_ */
CbmDeviceHitBuilderTof::fiPulserMode
Int_t fiPulserMode
Definition: CbmDeviceHitBuilderTof.h:295
CbmDeviceHitBuilderTof::fDutSm
Int_t fDutSm
Definition: CbmDeviceHitBuilderTof.h:277
CbmDeviceHitBuilderTof::fTRefHits
Int_t fTRefHits
Definition: CbmDeviceHitBuilderTof.h:275
CbmDeviceHitBuilderTof::fSel2Rpc
Int_t fSel2Rpc
Definition: CbmDeviceHitBuilderTof.h:292
CbmDeviceHitBuilderTof::fhTRpcCluSize
std::vector< std::vector< TH2 * > > fhTRpcCluSize
Definition: CbmDeviceHitBuilderTof.h:249
CbmMatch
Definition: CbmMatch.h:22
CbmDeviceHitBuilderTof::CbmDeviceHitBuilderTof
CbmDeviceHitBuilderTof()
Definition: CbmDeviceHitBuilderTof.cxx:78
CbmDeviceHitBuilderTof::fhRpcCluPosition
std::vector< TH2 * > fhRpcCluPosition
Definition: CbmDeviceHitBuilderTof.h:224
CbmDeviceHitBuilderTof::fSelId
Int_t fSelId
Definition: CbmDeviceHitBuilderTof.h:280
CbmDeviceHitBuilderTof::fhSmCluSvel
std::vector< TProfile * > fhSmCluSvel
Definition: CbmDeviceHitBuilderTof.h:239
CbmDeviceHitBuilderTof::fdChannelDeadtime
Double_t fdChannelDeadtime
Definition: CbmDeviceHitBuilderTof.h:313
CbmDeviceHitBuilderTof::fdCaldXdYMax
Double_t fdCaldXdYMax
Definition: CbmDeviceHitBuilderTof.h:272
CbmDeviceHitBuilderTof::fTotMax
Double_t fTotMax
Definition: CbmDeviceHitBuilderTof.h:306
CbmDeviceHitBuilderTof::fdEvent
Double_t fdEvent
Definition: CbmDeviceHitBuilderTof.h:156
CbmDeviceHitBuilderTof::fStorDigi
std::vector< std::vector< std::vector< std::vector< CbmTofDigi * > > > > fStorDigi
Definition: CbmDeviceHitBuilderTof.h:166
CbmDeviceHitBuilderTof::fCalSel
Int_t fCalSel
Definition: CbmDeviceHitBuilderTof.h:270
CbmDeviceHitBuilderTof::fiNevtBuild
Int_t fiNevtBuild
Definition: CbmDeviceHitBuilderTof.h:144
CbmDeviceHitBuilderTof::fvdDifX
std::vector< std::vector< std::vector< Double_t > > > fvdDifX
Definition: CbmDeviceHitBuilderTof.h:184
CbmDeviceHitBuilderTof::fMaxTimeDist
Double_t fMaxTimeDist
Definition: CbmDeviceHitBuilderTof.h:312
CbmDeviceHitBuilderTof::fhPulserTimeRawEvo
std::vector< TProfile * > fhPulserTimeRawEvo
Definition: CbmDeviceHitBuilderTof.h:215
CbmDeviceHitBuilderTof::BuildHits
Bool_t BuildHits()
Definition: CbmDeviceHitBuilderTof.cxx:2279
CbmDeviceHitBuilderTof::fvdDifY
std::vector< std::vector< std::vector< Double_t > > > fvdDifY
Definition: CbmDeviceHitBuilderTof.h:186
CbmDeviceHitBuilderTof::fhEvDetMul
TH1 * fhEvDetMul
Definition: CbmDeviceHitBuilderTof.h:212
CbmDeviceHitBuilderTof::vDigiIndRef
std::vector< Int_t > vDigiIndRef
Definition: CbmDeviceHitBuilderTof.h:171
CbmDeviceHitBuilderTof::fGeoHandler
CbmTofGeoHandler * fGeoHandler
Definition: CbmDeviceHitBuilderTof.h:121
CbmDeviceHitBuilderTof::InitRootOutput
Bool_t InitRootOutput()
Definition: CbmDeviceHitBuilderTof.cxx:348
CbmDeviceHitBuilderTof::fvDeadStrips
std::vector< Int_t > fvDeadStrips
Definition: CbmDeviceHitBuilderTof.h:203
CbmDeviceHitBuilderTof::fdDelTofMax
Double_t fdDelTofMax
Definition: CbmDeviceHitBuilderTof.h:310
CbmDeviceHitBuilderTof
Definition: CbmDeviceHitBuilderTof.h:57
CbmDeviceHitBuilderTof::fvCPDelTof
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPDelTof
Definition: CbmDeviceHitBuilderTof.h:192
CbmDeviceHitBuilderTof::fiBeamAddRefMul
Int_t fiBeamAddRefMul
Definition: CbmDeviceHitBuilderTof.h:289
CbmDeviceHitBuilderTof::fdMemoryTime
Double_t fdMemoryTime
Definition: CbmDeviceHitBuilderTof.h:314
CbmDeviceHitBuilderTof::fhRpcCluDelPos
std::vector< TH2 * > fhRpcCluDelPos
Definition: CbmDeviceHitBuilderTof.h:225
CbmDeviceHitBuilderTof::fSel2Sm
Int_t fSel2Sm
Definition: CbmDeviceHitBuilderTof.h:291
CbmDeviceHitBuilderTof::CheckLHMemory
virtual void CheckLHMemory()
Definition: CbmDeviceHitBuilderTof.cxx:3154
CbmDeviceHitBuilderTof::fiPulTotMin
uint64_t fiPulTotMin
Definition: CbmDeviceHitBuilderTof.h:298
CbmDeviceHitBuilderTof::fhRpcCluAvWalk
std::vector< TH2 * > fhRpcCluAvWalk
Definition: CbmDeviceHitBuilderTof.h:233
CbmDeviceHitBuilderTof::fPosYMaxScal
Double_t fPosYMaxScal
Definition: CbmDeviceHitBuilderTof.h:304
CbmDeviceHitBuilderTof::fhPulMul
TH1 * fhPulMul
Definition: CbmDeviceHitBuilderTof.h:213
CbmDeviceHitBuilderTof::InitContainers
Bool_t InitContainers()
Definition: CbmDeviceHitBuilderTof.cxx:383
CbmDeviceHitBuilderTof::fhTSmCluTOff
std::vector< std::vector< TH2 * > > fhTSmCluTOff
Definition: CbmDeviceHitBuilderTof.h:257
CbmDeviceHitBuilderTof::fhDigiTimesRaw
TH2 * fhDigiTimesRaw
Definition: CbmDeviceHitBuilderTof.h:217
CbmDeviceHitBuilderTof::fhRpcDTLastHits
std::vector< TH1 * > fhRpcDTLastHits
Definition: CbmDeviceHitBuilderTof.h:241
CbmDeviceHitBuilderTof::fhRpcCluDelMatPos
std::vector< TH2 * > fhRpcCluDelMatPos
Definition: CbmDeviceHitBuilderTof.h:226
CbmDeviceHitBuilderTof::pDigiIn
CbmTofDigiExp * pDigiIn
Definition: CbmDeviceHitBuilderTof.h:128
CbmDeviceHitBuilderTof::fhRpcDTLastHits_CluSize
std::vector< TH1 * > fhRpcDTLastHits_CluSize
Definition: CbmDeviceHitBuilderTof.h:243
CbmDeviceHitBuilderTof::fvdY
std::vector< std::vector< std::vector< Double_t > > > fvdY
Definition: CbmDeviceHitBuilderTof.h:182
CbmDeviceHitBuilderTof::fhRpcCluRate
std::vector< TH1 * > fhRpcCluRate
Definition: CbmDeviceHitBuilderTof.h:223
CbmDeviceHitBuilderTof::fit_ybox
virtual void fit_ybox(const char *hname)
Definition: CbmDeviceHitBuilderTof.cxx:3467
CbmDeviceHitBuilderTof::fTofId
CbmTofDetectorId * fTofId
Definition: CbmDeviceHitBuilderTof.h:122
CbmDeviceHitBuilderTof::fhPulserTimesRaw
TH2 * fhPulserTimesRaw
Definition: CbmDeviceHitBuilderTof.h:214
CbmDeviceHitBuilderTof::fhTRpcCluTot
std::vector< std::vector< TH2 * > > fhTRpcCluTot
Definition: CbmDeviceHitBuilderTof.h:248
CbmDeviceHitBuilderTof::fCalSmAddr
Int_t fCalSmAddr
Definition: CbmDeviceHitBuilderTof.h:271
CbmDeviceHitBuilderTof::fDigiPar
CbmTofDigiPar * fDigiPar
Definition: CbmDeviceHitBuilderTof.h:123
CbmDeviceHitBuilderTof::FillDigiStor
Bool_t FillDigiStor()
Definition: CbmDeviceHitBuilderTof.cxx:3692
CbmMQTMessage
Definition: CbmDeviceEventBuilderEtofStar2019.h:96
CbmDeviceHitBuilderTof::fiCluMulMax
Int_t fiCluMulMax
Definition: CbmDeviceHitBuilderTof.h:273
CbmDeviceHitBuilderTof::fiNbHits
Int_t fiNbHits
Definition: CbmDeviceHitBuilderTof.h:141
CbmDeviceHitBuilderTof::fvdDifCh
std::vector< std::vector< std::vector< Double_t > > > fvdDifCh
Definition: CbmDeviceHitBuilderTof.h:188
CbmDeviceHitBuilderTof::fviTrkMul
std::vector< std::vector< std::vector< Int_t > > > fviTrkMul
Definition: CbmDeviceHitBuilderTof.h:178
CbmDeviceHitBuilderTof::fhTSmCluTRun
std::vector< std::vector< TH2 * > > fhTSmCluTRun
Definition: CbmDeviceHitBuilderTof.h:258
CbmDeviceHitBuilderTof::fhRpcCluDelMatTOff
std::vector< TH2 * > fhRpcCluDelMatTOff
Definition: CbmDeviceHitBuilderTof.h:229
CbmMQTMessage::CbmMQTMessage
CbmMQTMessage(void *buf, Int_t len)
Definition: CbmDeviceHitBuilderTof.h:333
CbmDeviceHitBuilderTof::fDetIdIndexMap
std::map< UInt_t, UInt_t > fDetIdIndexMap
Definition: CbmDeviceHitBuilderTof.h:301
CbmDeviceHitBuilderTof::HandleData
bool HandleData(FairMQParts &, int)
Definition: CbmDeviceHitBuilderTof.cxx:498
CbmDeviceHitBuilderTof::fTotPreRange
Double_t fTotPreRange
Definition: CbmDeviceHitBuilderTof.h:311
CbmDeviceHitBuilderTof::fiBeamRefSm
Int_t fiBeamRefSm
Definition: CbmDeviceHitBuilderTof.h:285
CbmDeviceHitBuilderTof::WriteHistograms
void WriteHistograms()
Definition: CbmDeviceHitBuilderTof.cxx:1850
CbmDeviceHitBuilderTof::fhTRpcCluMul
std::vector< std::vector< TH1 * > > fhTRpcCluMul
Definition: CbmDeviceHitBuilderTof.h:245
CbmDeviceHitBuilderTof::fhTRpcCluTOffDTLastHits
std::vector< std::vector< TH2 * > > fhTRpcCluTOffDTLastHits
Definition: CbmDeviceHitBuilderTof.h:259
CbmDeviceHitBuilderTof::fEnableMatchPosScaling
Bool_t fEnableMatchPosScaling
Definition: CbmDeviceHitBuilderTof.h:317
CbmDeviceHitBuilderTof::fRootEvent
TTree * fRootEvent
Definition: CbmDeviceHitBuilderTof.h:327
CbmDeviceHitBuilderTof::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmDeviceHitBuilderTof.cxx:490
CbmDeviceHitBuilderTof::fTRefMode
Int_t fTRefMode
Definition: CbmDeviceHitBuilderTof.h:274
CbmDeviceHitBuilderTof::fOutHstFileName
TString fOutHstFileName
Definition: CbmDeviceHitBuilderTof.h:323
CbmDeviceHitBuilderTof::fdTTotMean
Double_t fdTTotMean
Definition: CbmDeviceHitBuilderTof.h:149
CbmTofGeoHandler.h
CbmDeviceHitBuilderTof::fiMode
Int_t fiMode
Definition: CbmDeviceHitBuilderTof.h:294
CbmDeviceHitBuilderTof::fCalParFile
TFile * fCalParFile
Definition: CbmDeviceHitBuilderTof.h:325
CbmDeviceHitBuilderTof::fhTRpcCluAvWalk
std::vector< std::vector< TH2 * > > fhTRpcCluAvWalk
Definition: CbmDeviceHitBuilderTof.h:250
CbmDeviceHitBuilderTof::fiRunId
Int_t fiRunId
Definition: CbmDeviceHitBuilderTof.h:158
CbmDeviceHitBuilderTof::fSelRpc
Int_t fSelRpc
Definition: CbmDeviceHitBuilderTof.h:282
CbmDeviceHitBuilderTof::fdTRefMax
Double_t fdTRefMax
Definition: CbmDeviceHitBuilderTof.h:268
CbmDeviceHitBuilderTof::fEnableAvWalk
Bool_t fEnableAvWalk
Definition: CbmDeviceHitBuilderTof.h:318
CbmDeviceHitBuilderTof::fEventHeader
std::vector< int > fEventHeader
Definition: CbmDeviceHitBuilderTof.h:131
CbmDeviceHitBuilderTof::fhRpcCluWalk
std::vector< std::vector< std::vector< TH2 * > > > fhRpcCluWalk
Definition: CbmDeviceHitBuilderTof.h:236
CbmHistManager
Histogram manager.
Definition: CbmHistManager.h:41
CbmDeviceHitBuilderTof::fSel2Addr
Int_t fSel2Addr
Definition: CbmDeviceHitBuilderTof.h:293
CbmDeviceHitBuilderTof::CreateHistograms
void CreateHistograms()
Definition: CbmDeviceHitBuilderTof.cxx:974
CbmDeviceHitBuilderTof::HandleMessage
bool HandleMessage(FairMQMessagePtr &, int)
Definition: CbmDeviceHitBuilderTof.cxx:644
h
Data class with information on a STS local track.
CbmDeviceHitBuilderTof::fhTSmCluPosition
std::vector< std::vector< TH2 * > > fhTSmCluPosition
Definition: CbmDeviceHitBuilderTof.h:256
CbmDeviceHitBuilderTof::fCalParFileName
TString fCalParFileName
Definition: CbmDeviceHitBuilderTof.h:321
CbmDeviceHitBuilderTof::AddNextChan
virtual Bool_t AddNextChan(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iLastChan, Double_t dLastPosX, Double_t dLastPosY, Double_t dLastTime, Double_t dLastTot)
Definition: CbmDeviceHitBuilderTof.cxx:3263
CbmTofGeoHandler
Definition: CbmTofGeoHandler.h:30
CbmDeviceHitBuilderTof::fhSmCluPosition
std::vector< TH2 * > fhSmCluPosition
Definition: CbmDeviceHitBuilderTof.h:237
CbmDeviceHitBuilderTof::fiMsgCnt
Int_t fiMsgCnt
Definition: CbmDeviceHitBuilderTof.h:145
CbmDeviceHitBuilderTof::fhSmCluFpar
std::vector< std::vector< TProfile * > > fhSmCluFpar
Definition: CbmDeviceHitBuilderTof.h:240
CbmDeviceHitBuilderTof::fiNDigiIn
Int_t fiNDigiIn
Definition: CbmDeviceHitBuilderTof.h:129
CbmDeviceHitBuilderTof::fhTRpcCluDelTof
std::vector< std::vector< TH2 * > > fhTRpcCluDelTof
Definition: CbmDeviceHitBuilderTof.h:251
CbmTofCell
Definition: CbmTofCell.h:8
CbmDeviceHitBuilderTof::fviClusterSize
std::vector< std::vector< std::vector< Int_t > > > fviClusterSize
Definition: CbmDeviceHitBuilderTof.h:176
CbmDeviceHitBuilderTof::fhPulserTimesCor
TH2 * fhPulserTimesCor
Definition: CbmDeviceHitBuilderTof.h:216
CbmDeviceHitBuilderTof::fTRefDifMax
Double_t fTRefDifMax
Definition: CbmDeviceHitBuilderTof.h:305
CbmDeviceHitBuilderTof::fbPs2Ns
Bool_t fbPs2Ns
Definition: CbmDeviceHitBuilderTof.h:319
CbmVertex
Definition: CbmVertex.h:26
CbmDeviceHitBuilderTof::fviDetId
std::vector< Int_t > fviDetId
Definition: CbmDeviceHitBuilderTof.h:302
CbmDeviceHitBuilderTof::fDutAddr
Int_t fDutAddr
Definition: CbmDeviceHitBuilderTof.h:279
CbmDeviceHitBuilderTof::fhTRpcCluMemMulDTLastHits
std::vector< std::vector< TH2 * > > fhTRpcCluMemMulDTLastHits
Definition: CbmDeviceHitBuilderTof.h:262
CbmTofAddress.h
CbmDeviceHitBuilderTof::fDigi
CbmTofDigiExp * fDigi
Definition: CbmDeviceHitBuilderTof.h:117
CbmDeviceHitBuilderTof::fhRpcCluTrms
std::vector< TH2 * > fhRpcCluTrms
Definition: CbmDeviceHitBuilderTof.h:230
CbmDeviceHitBuilderTof::fiFileIndex
Int_t fiFileIndex
Definition: CbmDeviceHitBuilderTof.h:162
CbmDeviceHitBuilderTof::fvCPTotOff
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotOff
Definition: CbmDeviceHitBuilderTof.h:198
CbmDeviceHitBuilderTof::fTofHitsCollOut
TClonesArray * fTofHitsCollOut
Definition: CbmDeviceHitBuilderTof.h:139
CbmDeviceHitBuilderTof::fiBeamRefDet
Int_t fiBeamRefDet
Definition: CbmDeviceHitBuilderTof.h:286
CbmTofDigiBdfPar
Parameters class for the CBM ToF digitizer using beam data distributions.
Definition: CbmTofDigiBdfPar.h:30
CbmDeviceHitBuilderTof::dTRef
Double_t dTRef
Definition: CbmDeviceHitBuilderTof.h:267
CbmDeviceHitBuilderTof::fhSmCluTOff
std::vector< TH2 * > fhSmCluTOff
Definition: CbmDeviceHitBuilderTof.h:238
CbmDeviceHitBuilderTof::MonitorPulser
Bool_t MonitorPulser()
Definition: CbmDeviceHitBuilderTof.cxx:4740
CbmDeviceHitBuilderTof::fbSwapChannelSides
Bool_t fbSwapChannelSides
Definition: CbmDeviceHitBuilderTof.h:160
CbmDeviceHitBuilderTof::InspectRawDigis
Bool_t InspectRawDigis()
Definition: CbmDeviceHitBuilderTof.cxx:1881
CbmDeviceHitBuilderTof::fhSeldT
std::vector< TH1 * > fhSeldT
Definition: CbmDeviceHitBuilderTof.h:264
CbmDeviceHitBuilderTof::fTofHitsColl
TClonesArray * fTofHitsColl
Definition: CbmDeviceHitBuilderTof.h:136
CbmDeviceHitBuilderTof::fhTRpcCludXdY
std::vector< std::vector< TH2 * > > fhTRpcCludXdY
Definition: CbmDeviceHitBuilderTof.h:252
CbmDeviceHitBuilderTof::fdMaxTimeDist
Double_t fdMaxTimeDist
Definition: CbmDeviceHitBuilderTof.h:152
CbmTofDigi
Data class for expanded digital TOF information.
Definition: CbmTofDigi.h:38
CbmDeviceHitBuilderTof::BuildClusters
Bool_t BuildClusters()
Definition: CbmDeviceHitBuilderTof.cxx:1871
CbmDeviceHitBuilderTof::SendHits
Bool_t SendHits()
Definition: CbmDeviceHitBuilderTof.cxx:3741
CbmDeviceHitBuilderTof::~CbmDeviceHitBuilderTof
virtual ~CbmDeviceHitBuilderTof()
Definition: CbmDeviceHitBuilderTof.cxx:232
CbmDeviceHitBuilderTof::fSel2Id
Int_t fSel2Id
Definition: CbmDeviceHitBuilderTof.h:290
CbmDeviceHitBuilderTof::fTotOff
Double_t fTotOff
Definition: CbmDeviceHitBuilderTof.h:308
CbmDeviceHitBuilderTof::fhTRpcCluTOff
std::vector< std::vector< TH2 * > > fhTRpcCluTOff
Definition: CbmDeviceHitBuilderTof.h:247
CbmDeviceHitBuilderTof::fCalMode
Int_t fCalMode
Definition: CbmDeviceHitBuilderTof.h:269
CbmDeviceHitBuilderTof::fEvtHeader
FairEventHeader * fEvtHeader
Definition: CbmDeviceHitBuilderTof.h:132
CbmDeviceHitBuilderTof::fvPulserTimes
std::vector< std::vector< std::list< Double_t > > > fvPulserTimes
Definition: CbmDeviceHitBuilderTof.h:208
CbmDeviceHitBuilderTof::fNumMessages
uint64_t fNumMessages
Definition: CbmDeviceHitBuilderTof.h:111
CbmDeviceHitBuilderTof::fvCPTotGain
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotGain
Definition: CbmDeviceHitBuilderTof.h:196
CbmDeviceHitBuilderTof::FillHistos
Bool_t FillHistos()
Definition: CbmDeviceHitBuilderTof.cxx:3797
CbmDeviceHitBuilderTof::fiPulTotMax
uint64_t fiPulTotMax
Definition: CbmDeviceHitBuilderTof.h:299
CbmDeviceHitBuilderTof::fTofDigiMatchColl
TClonesArray * fTofDigiMatchColl
Definition: CbmDeviceHitBuilderTof.h:137
CbmDeviceHitBuilderTof::LoadGeometry
Bool_t LoadGeometry()
Definition: CbmDeviceHitBuilderTof.cxx:3524
CbmDeviceHitBuilderTof::CleanLHMemory
virtual void CleanLHMemory()
Definition: CbmDeviceHitBuilderTof.cxx:3208
CbmDeviceHitBuilderTof::InitWorkspace
Bool_t InitWorkspace()
Definition: CbmDeviceHitBuilderTof.cxx:294
CbmDeviceHitBuilderTof::fTofDigisColl
TClonesArray * fTofDigisColl
Definition: CbmDeviceHitBuilderTof.h:127
CbmDeviceHitBuilderTof::fTofCalDigisCollOut
TClonesArray * fTofCalDigisCollOut
Definition: CbmDeviceHitBuilderTof.h:138
CbmDeviceHitBuilderTof::fhRpcCluDelTOff
std::vector< TH2 * > fhRpcCluDelTOff
Definition: CbmDeviceHitBuilderTof.h:228
CbmDeviceHitBuilderTof::fSelAddr
Int_t fSelAddr
Definition: CbmDeviceHitBuilderTof.h:283
CbmDeviceHitBuilderTof::fiPulMulMin
uint64_t fiPulMulMin
Definition: CbmDeviceHitBuilderTof.h:296
CbmTofDigiPar
Definition: CbmTofDigiPar.h:18
CbmDeviceHitBuilderTof::fiMaxEvent
Int_t fiMaxEvent
Definition: CbmDeviceHitBuilderTof.h:157
CbmDeviceHitBuilderTof::fTotMin
Double_t fTotMin
Definition: CbmDeviceHitBuilderTof.h:307
CbmDeviceHitBuilderTof::fDigiBdfPar
CbmTofDigiBdfPar * fDigiBdfPar
Definition: CbmDeviceHitBuilderTof.h:125
CbmEvent
Class characterising one event by a collection of links (indices) to data objects,...
Definition: CbmEvent.h:30
CbmDeviceHitBuilderTof::CalibRawDigis
Bool_t CalibRawDigis()
Definition: CbmDeviceHitBuilderTof.cxx:2083
CbmDeviceHitBuilderTof::fStorDigiInd
std::vector< std::vector< std::vector< std::vector< Int_t > > > > fStorDigiInd
Definition: CbmDeviceHitBuilderTof.h:170
CbmDeviceHitBuilderTof::fviClusterMul
std::vector< std::vector< std::vector< Int_t > > > fviClusterMul
Definition: CbmDeviceHitBuilderTof.h:174
CbmDeviceHitBuilderTof::fvPulserOffset
std::vector< std::vector< Double_t > > fvPulserOffset
Definition: CbmDeviceHitBuilderTof.h:205
CbmDeviceHitBuilderTof::fStorDigiExp
std::vector< std::vector< std::vector< std::vector< CbmTofDigiExp * > > > > fStorDigiExp
Definition: CbmDeviceHitBuilderTof.h:168
CbmDeviceHitBuilderTof::fhTRpcCluSizeDTLastHits
std::vector< std::vector< TH2 * > > fhTRpcCluSizeDTLastHits
Definition: CbmDeviceHitBuilderTof.h:261
CbmDeviceHitBuilderTof::NPulserTimes
const Int_t NPulserTimes
Definition: CbmDeviceHitBuilderTof.h:206
CbmDeviceHitBuilderTof::fvCPTOff
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTOff
Definition: CbmDeviceHitBuilderTof.h:194
CbmDeviceHitBuilderTof::InitTask
virtual void InitTask()
Definition: CbmDeviceHitBuilderTof.cxx:244
CbmDeviceHitBuilderTof::fhTRpcCluTotDTLastHits
std::vector< std::vector< TH2 * > > fhTRpcCluTotDTLastHits
Definition: CbmDeviceHitBuilderTof.h:260
CbmDeviceHitBuilderTof::fGeoMan
TGeoManager * fGeoMan
Definition: CbmDeviceHitBuilderTof.h:119
CbmDeviceHitBuilderTof::ApplyPulserCorrection
Bool_t ApplyPulserCorrection()
Definition: CbmDeviceHitBuilderTof.cxx:4954
CbmDeviceHitBuilderTof::fhRpcCluTOff
std::vector< TH2 * > fhRpcCluTOff
Definition: CbmDeviceHitBuilderTof.h:227
CbmDeviceHitBuilderTof::fTotMean
Double_t fTotMean
Definition: CbmDeviceHitBuilderTof.h:309
CbmDeviceHitBuilderTof::fdYFitMin
Double_t fdYFitMin
Definition: CbmDeviceHitBuilderTof.h:315
CbmDeviceHitBuilderTof::fhRpcCluTot
std::vector< TH2 * > fhRpcCluTot
Definition: CbmDeviceHitBuilderTof.h:231
CbmDeviceHitBuilderTof::fTofDigiMatchCollOut
TClonesArray * fTofDigiMatchCollOut
Definition: CbmDeviceHitBuilderTof.h:140
CbmTofHit
Definition: core/data/tof/CbmTofHit.h:26
CbmDeviceHitBuilderTof::fhDigiTimesCor
TH2 * fhDigiTimesCor
Definition: CbmDeviceHitBuilderTof.h:218
CbmDeviceHitBuilderTof::fdTOTMin
Double_t fdTOTMin
Definition: CbmDeviceHitBuilderTof.h:148
CbmDeviceHitBuilderTof::fChannelInfo
CbmTofCell * fChannelInfo
Definition: CbmDeviceHitBuilderTof.h:124
CbmDeviceHitBuilderTof::fiBeamRefAddr
Int_t fiBeamRefAddr
Definition: CbmDeviceHitBuilderTof.h:287
CbmDeviceHitBuilderTof::fDutRpc
Int_t fDutRpc
Definition: CbmDeviceHitBuilderTof.h:278
CbmDeviceHitBuilderTof::fvDigiIn
std::vector< CbmTofDigiExp > fvDigiIn
Definition: CbmDeviceHitBuilderTof.h:130
CbmTofDetectorId
Definition: CbmTofDetectorId.h:66
CbmDeviceHitBuilderTof::fiBeamRefMulMax
Int_t fiBeamRefMulMax
Definition: CbmDeviceHitBuilderTof.h:288
CbmDeviceHitBuilderTof::fdTOTMax
Double_t fdTOTMax
Definition: CbmDeviceHitBuilderTof.h:147
CbmDeviceHitBuilderTof::fOutRootFileName
TString fOutRootFileName
Definition: CbmDeviceHitBuilderTof.h:324
CbmDeviceHitBuilderTof::LH_store
virtual void LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm, CbmTofHit *pHit)
Definition: CbmDeviceHitBuilderTof.cxx:3084
CbmDeviceHitBuilderTof::fhTRpcCluPosition
std::vector< std::vector< TH2 * > > fhTRpcCluPosition
Definition: CbmDeviceHitBuilderTof.h:246
CbmDeviceHitBuilderTof::InitCalibParameter
Bool_t InitCalibParameter()
Definition: CbmDeviceHitBuilderTof.cxx:686
CbmDeviceHitBuilderTof::fhRpcCluSize
std::vector< TH2 * > fhRpcCluSize
Definition: CbmDeviceHitBuilderTof.h:232
CbmDeviceHitBuilderTof::fiBeamRefType
Int_t fiBeamRefType
Definition: CbmDeviceHitBuilderTof.h:284
CbmDeviceHitBuilderTof::fhRpcCluMul
std::vector< TH1 * > fhRpcCluMul
Definition: CbmDeviceHitBuilderTof.h:222
CbmDeviceHitBuilderTof::fhRpcDigiTot
std::vector< TH2 * > fhRpcDigiTot
Definition: CbmDeviceHitBuilderTof.h:220
CbmDeviceHitBuilderTof::fdMaxSpaceDist
Double_t fdMaxSpaceDist
Definition: CbmDeviceHitBuilderTof.h:154
CbmDeviceHitBuilderTof::IsChannelNameAllowed
Bool_t IsChannelNameAllowed(std::string channelName)
Definition: CbmDeviceHitBuilderTof.cxx:274
CbmDeviceHitBuilderTof::fhRpcDigiCor
std::vector< TH2 * > fhRpcDigiCor
Definition: CbmDeviceHitBuilderTof.h:221
CbmDeviceHitBuilderTof::fiOutputTreeEntry
Int_t fiOutputTreeEntry
Definition: CbmDeviceHitBuilderTof.h:161
CbmDeviceHitBuilderTof::fvdX
std::vector< std::vector< std::vector< Double_t > > > fvdX
Definition: CbmDeviceHitBuilderTof.h:180
CbmDeviceHitBuilderTof::fDutId
Int_t fDutId
Definition: CbmDeviceHitBuilderTof.h:276
CbmDeviceHitBuilderTof::fvCPWalk
std::vector< std::vector< std::vector< std::vector< std::vector< Double_t > > > > > fvCPWalk
Definition: CbmDeviceHitBuilderTof.h:200
CbmDeviceHitBuilderTof::fTofCalDigisColl
TClonesArray * fTofCalDigisColl
Definition: CbmDeviceHitBuilderTof.h:135
CbmDeviceHitBuilderTof::fSelSm
Int_t fSelSm
Definition: CbmDeviceHitBuilderTof.h:281
CbmDeviceHitBuilderTof::fvLastHits
std::vector< std::vector< std::vector< std::vector< std::list< CbmTofHit * > > > > > fvLastHits
Definition: CbmDeviceHitBuilderTof.h:202
CbmDeviceHitBuilderTof::SendAll
Bool_t SendAll()
Definition: CbmDeviceHitBuilderTof.cxx:3795
CbmDeviceHitBuilderTof::fhTRpcCluWalk
std::vector< std::vector< std::vector< std::vector< TH2 * > > > > fhTRpcCluWalk
Definition: CbmDeviceHitBuilderTof.h:254
CbmDeviceHitBuilderTof::fhRpcDTLastHits_Tot
std::vector< TH1 * > fhRpcDTLastHits_Tot
Definition: CbmDeviceHitBuilderTof.h:242
CbmDeviceHitBuilderTof::fhRpcCluAvLnWalk
std::vector< TH2 * > fhRpcCluAvLnWalk
Definition: CbmDeviceHitBuilderTof.h:234
CbmDeviceHitBuilderTof::fiPulDetRef
uint64_t fiPulDetRef
Definition: CbmDeviceHitBuilderTof.h:297
CbmDeviceHitBuilderTof::fOutRootFile
TFile * fOutRootFile
Definition: CbmDeviceHitBuilderTof.h:326
CbmDeviceHitBuilderTof::MergeClusters
Bool_t MergeClusters()
Definition: CbmDeviceHitBuilderTof.cxx:3082
CbmDeviceHitBuilderTof::fAllowedChannels
std::vector< std::string > fAllowedChannels
Definition: CbmDeviceHitBuilderTof.h:112