CbmRoot
Loading...
Searching...
No Matches
CbmTofHitMaker.h
Go to the documentation of this file.
1/* Copyright (C) 2020 PI-UHd/GSI, Heidelberg/Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Norbert Herrmann [committer] */
4
15#ifndef CBMTOFHITMAKER_H
16#define CBMTOFHITMAKER_H 1
17
18// TOF Classes and includes
19// Input/Output
20//class CbmTofPoint;
21class CbmTofHit;
22class CbmMatch;
23class CbmEvent;
24class CbmVertex;
25// Geometry
28class CbmTofDigiPar;
30class CbmTofCell;
32class CbmDigiManager;
33
34class TTofCalibData;
35class TTrbHeader;
36
37// FAIR classes and includes
38#include "CbmTofAddress.h" // in cbmdata/tof
39#include "CbmTofDigi.h"
40#include "FairTask.h"
41
42// ROOT Classes and includes
43class TClonesArray;
44class TFile;
45class TF1;
46class TH1;
47class TH2;
48class TH3;
49class TProfile;
50class TString;
51#include "TTimeStamp.h"
52
53// C++ Classes and includes
54#include <list>
55#include <map>
56#include <vector>
57
58class CbmTofHitMaker : public FairTask {
59
60 friend class CbmTofAnaTestbeam;
61
62 public:
63 inline static CbmTofHitMaker* Instance() { return fInstance; }
64
69
73 CbmTofHitMaker(const char* name, Int_t verbose = 1, Bool_t writeDataInOut = kTRUE);
77 virtual ~CbmTofHitMaker();
78
82 virtual InitStatus Init();
83
87 virtual void SetParContainers();
88
92 virtual void Exec(Option_t* option);
93 virtual void ExecEvent(Option_t* option);
94
98 virtual void Finish();
99 virtual void Finish(Double_t calMode);
100
101 inline void SetCalMode(Int_t iMode) { fCalMode = iMode; }
102 inline void SetCalSel(Int_t iSel) { fCalSel = iSel; }
103 inline void SetCalSmType(Int_t iCalSmType) { fCalSmAddr = CbmTofAddress::GetUniqueAddress(0, 0, 0, 0, iCalSmType); }
104 inline void SetCalSmAddr(Int_t iCalSmAddr) { fCalSmAddr = iCalSmAddr; }
105 inline void SetCalRpc(Int_t iCalRpc)
106 {
107 if (iCalRpc != 0) {
108 Int_t iSign = iCalRpc / TMath::Abs(iCalRpc);
109 iCalRpc *= iSign; // always a positive number
110 Int_t iRpc = iCalRpc % 10;
111 iCalRpc = (iCalRpc - iRpc) / 10;
112 Int_t iSm = iCalRpc % 10;
113 iCalRpc = (iCalRpc - iSm) / 10;
114 if (fIdMode == 1) iRpc = 0; // ignore RPC number
115 fCalSmAddr = iSign * CbmTofAddress::GetUniqueAddress(iSm, iRpc, 0, 0, iCalRpc);
116 }
117 else {
118 fCalSmAddr = 0;
119 }
120 }
121 inline void SetCaldXdYMax(Double_t dCaldXdYMax) { fdCaldXdYMax = dCaldXdYMax; }
122 inline void SetCalCluMulMax(Int_t ival) { fiCluMulMax = ival; }
123 inline void SetTRefId(Int_t Id) { fTRefMode = Id; }
124 inline void SetIdMode(Int_t Id) { fIdMode = Id; }
125 inline void SetDutId(Int_t Id) { fDutId = Id; }
126 inline void SetDutSm(Int_t Id) { fDutSm = Id; }
127 inline void SetDutRpc(Int_t Id) { fDutRpc = Id; }
128 inline void SetSelId(Int_t Id) { fSelId = Id; }
129 inline void SetSelSm(Int_t Id) { fSelSm = Id; }
130 inline void SetSelRpc(Int_t Id) { fSelRpc = Id; }
131 inline void SetBeamRefId(Int_t Id) { fiBeamRefType = Id; }
132 inline void SetBeamRefSm(Int_t Id) { fiBeamRefSm = Id; }
133 inline void SetBeamRefDet(Int_t Id) { fiBeamRefDet = Id; }
134 inline void SetBeamRefMulMax(Int_t Id) { fiBeamRefMulMax = Id; }
135 inline void SetBeamAddRefMul(Int_t ival) { fiBeamAddRefMul = ival; }
136 inline void SetTRefDifMax(Double_t val) { fTRefDifMax = val; }
137 inline void SetdTRefMax(Double_t val) { fdTRefMax = val; }
138 inline void PosYMaxScal(Double_t val) { fPosYMaxScal = val; }
139 inline void SetTotMax(Double_t val) { fTotMax = val; }
140 inline void SetTotMin(Double_t val) { fTotMin = val; }
141 inline void SetTotMean(Double_t val) { fTotMean = val; }
142 inline void SetDelTofMax(Double_t val) { fdDelTofMax = val; }
143 inline void SetTotPreRange(Double_t val) { fTotPreRange = val; }
144 inline void SetMaxTimeDist(Double_t val) { fMaxTimeDist = val; }
145 inline void SetChannelDeadtime(Double_t val) { fdChannelDeadtime = val; }
146 inline void SetMemoryTime(Double_t val) { fdMemoryTime = val; }
147 inline void SetYFitMin(Double_t val) { fdYFitMin = val; }
148 inline void SetToDAv(Double_t val) { fdToDAv = val; }
149 inline void SetSel2Id(Int_t ival) { fSel2Id = ival; }
150 inline void SetSel2Sm(Int_t ival) { fSel2Sm = ival; }
151 inline void SetSel2Rpc(Int_t ival) { fSel2Rpc = ival; }
152 inline void SetSel2MulMax(Int_t Id) { fSel2MulMax = Id; }
153
154 inline void SetOutHstFileName(TString OutHstFileName) { fOutHstFileName = OutHstFileName; }
155 inline void SetCalParFileName(TString CalParFileName) { fCalParFileName = CalParFileName; }
156 inline TString GetCalParFileName() { return fCalParFileName; }
157
158 inline void SetEnableMatchPosScaling(Bool_t bval) { fEnableMatchPosScaling = bval; }
159 inline void SetEnableAvWalk(Bool_t bval) { fEnableAvWalk = bval; }
160 inline void SetPs2Ns(Bool_t bval) { fbPs2Ns = bval; }
161
162 //static Double_t f1_xboxe(double *x, double *par); // Fit function
163 virtual void fit_ybox(const char* hname); // Fit
164 virtual void fit_ybox(TH1* h, Double_t dy); // Fit
165 virtual void fit_ybox(TH1* h, Double_t dy, Double_t* fpar); // Fit
166 virtual void CheckLHMemory(); // Check consistency of stored last hits
167 virtual void CleanLHMemory(); // Cleanup
168 virtual Bool_t AddNextChan(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iLastChan, Double_t dLastPosX,
169 Double_t dLastPosY, Double_t dLastTime,
170 Double_t dLastTot); // needed for time based data
171 virtual void LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm, CbmTofHit* pHit);
172
173 void SwapChannelSides(Bool_t bSwap) { fbSwapChannelSides = bSwap; }
174 void SetFileIndex(Int_t iIndex) { fiFileIndex = iIndex; }
175 void SetWriteDigisInOut(Bool_t bDigis) { fbWriteDigisInOut = bDigis; }
176 void SetWriteHitsInOut(Bool_t bHits) { fbWriteHitsInOut = bHits; }
177 void SetAlternativeBranchNames(Bool_t bNames) { fbAlternativeBranchNames = bNames; }
178 void SetDeadStrips(Int_t iDet, Int_t ival);
179
180 protected:
181 private:
191
192 // Functions common for all clusters approximations
196 Bool_t RegisterInputs();
200 Bool_t RegisterOutputs();
204 Bool_t InitParameters();
208 Bool_t InitCalibParameter();
212 Bool_t LoadGeometry();
216 Bool_t DeleteGeometry();
217
218 // Histogramming functions
219 Bool_t CreateHistos();
220 Bool_t FillHistos();
221 Bool_t WriteHistos();
222 Bool_t DeleteHistos();
223
227 Bool_t BuildClusters();
228 Bool_t MergeClusters();
229 Bool_t BuildHits();
230 Bool_t CalibRawDigis();
232
233 // ToF geometry variables
239
241
242 // Input variables
243 TClonesArray* fTofPointsColl; // TOF MC points
244 TClonesArray* fMcTracksColl; // MC tracks
245 //TClonesArray * fTofDigisColl; // TOF Digis
246 std::vector<CbmTofDigi> fTofDigiVec{};
247 CbmDigiManager* fDigiMan; // TOF Input Digis
248 TClonesArray* fEventsColl; // CBMEvents (time based)
249
250 // Output variables
253 std::vector<CbmTofDigi>* fTofCalDigiVec = nullptr;
254 TClonesArray* fTofHitsColl; // TOF hits
255 TClonesArray* fTofDigiMatchColl; // TOF Digi Links
256 //TClonesArray * fTofCalDigisCollOut; // Calibrated TOF Digis
257 std::vector<CbmTofDigi>* fTofCalDigiVecOut = nullptr;
258 TClonesArray* fTofHitsCollOut; // TOF hits
259 TClonesArray* fTofDigiMatchCollOut; // TOF Digi Links
260 Int_t fiNbHits; // Index of the CbmTofHit TClonesArray
261
262 // Generic
263 Int_t fVerbose;
264
265 // Intermediate storage variables
266 std::vector<std::vector<std::vector<std::vector<CbmTofDigi*>>>> fStorDigi; //[nbType][nbSm*nbRpc][nbCh][nDigis]
267 std::vector<std::vector<std::vector<std::vector<Int_t>>>> fStorDigiInd; //[nbType][nbSm*nbRpc][nbCh][nDigis]
268 std::vector<Int_t> vDigiIndRef;
269
270 std::vector<std::vector<std::vector<Int_t>>> fviClusterMul; //[nbType][nbSm][nbRpc]
271 std::vector<std::vector<std::vector<Int_t>>> fviClusterSize; //[nbType][nbRpc][nClusters]
272 std::vector<std::vector<std::vector<Int_t>>> fviTrkMul; //[nbType][nbRpc][nClusters]
273 std::vector<std::vector<std::vector<Double_t>>> fvdX; //[nbType][nbRpc][nClusters]
274 std::vector<std::vector<std::vector<Double_t>>> fvdY; //[nbType][nbRpc][nClusters]
275 std::vector<std::vector<std::vector<Double_t>>> fvdDifX; //[nbType][nbRpc][nClusters]
276 std::vector<std::vector<std::vector<Double_t>>> fvdDifY; //[nbType][nbRpc][nClusters]
277 std::vector<std::vector<std::vector<Double_t>>> fvdDifCh; //[nbType][nbRpc][nClusters]
278
279 // Histograms
303
304 std::vector<TH2*> fhRpcDigiCor; //[nbDet]
305 std::vector<TH2*> fhRpcDigiMul; //[nbDet]
306 std::vector<TH2*> fhRpcDigiStatus; //[nbDet]
307 std::vector<TH2*> fhRpcDigiDTLD; //[nbDet]
308 std::vector<TH2*> fhRpcDigiDTFD; //[nbDet]
309 std::vector<TH2*> fhRpcDigiDTMul; //[nbDet]
310 std::vector<TH1*> fhRpcCluMul; //[nbDet]
311 std::vector<TH1*> fhRpcCluRate; //[nbDet]
312 std::vector<TH1*> fhRpcCluRate10s; //[nbDet]
313 std::vector<TH2*> fhRpcCluPosition; //[nbDet]
314 std::vector<TProfile*> fhRpcCluPositionEvol; //[nbDet]
315 std::vector<TProfile*> fhRpcCluTimeEvol; //[nbDet]
316 std::vector<TH2*> fhRpcCluDelPos; //[nbDet]
317 std::vector<TH2*> fhRpcCluDelMatPos; //[nbDet]
318 std::vector<TH2*> fhRpcCluTOff; //[nbDet]
319 std::vector<TH2*> fhRpcCluDelTOff; //[nbDet]
320 std::vector<TH2*> fhRpcCluDelMatTOff; //[nbDet]
321 std::vector<TH2*> fhRpcCluTrms; //[nbDet]
322 std::vector<TH2*> fhRpcCluTot; //[nbDet]
323 std::vector<TH2*> fhRpcCluSize; //[nbDet]
324 std::vector<TH2*> fhRpcCluAvWalk; //[nbDet]
325 std::vector<TH2*> fhRpcCluAvLnWalk; //[nbDet]
326 std::vector<std::vector<std::vector<TH2*>>> fhRpcCluWalk; // [nbDet][nbCh][nSide]
327 std::vector<TH2*> fhSmCluPosition; //[nbSmTypes]
328 std::vector<TH2*> fhSmCluTOff;
329 std::vector<TProfile*> fhSmCluSvel;
330 std::vector<std::vector<TProfile*>> fhSmCluFpar;
331 std::vector<TH1*> fhRpcDTLastHits; //[nbDet]
332 std::vector<TH1*> fhRpcDTLastHits_Tot; //[nbDet]
333 std::vector<TH1*> fhRpcDTLastHits_CluSize; //[nbDet]
334
335 std::vector<std::vector<TH1*>> fhTRpcCluMul; //[nbDet][nbSel]
336 std::vector<std::vector<TH2*>> fhTRpcCluPosition; //[nbDet][nbSel]
337 std::vector<std::vector<TH2*>> fhTRpcCluTOff; //[nbDet] [nbSel]
338 std::vector<std::vector<TH2*>> fhTRpcCluTofOff; //[nbDet] [nbSel]
339 std::vector<std::vector<TH2*>> fhTRpcCluTot; // [nbDet][nbSel]
340 std::vector<std::vector<TH2*>> fhTRpcCluSize; // [nbDet][nbSel]
341 std::vector<std::vector<TH2*>> fhTRpcCluAvWalk; // [nbDet][nbSel]
342 std::vector<std::vector<TH2*>> fhTRpcCluDelTof; // [nbDet][nbSel]
343 std::vector<std::vector<TH2*>> fhTRpcCludXdY; // [nbDet][nbSel]
344 std::vector<std::vector<std::vector<std::vector<TH2*>>>> fhTRpcCluWalk; // [nbDet][nbSel][nbCh][nSide]
345 std::vector<std::vector<TH3*>> fhTRpcCluWalk2; // [nbDet][nbSel]
346
347 std::vector<std::vector<TH2*>> fhTSmCluPosition; //[nbSmTypes][nbSel]
348 std::vector<std::vector<TH2*>> fhTSmCluTOff; //[nbSmTypes][nbSel]
349 std::vector<std::vector<TH2*>> fhTSmCluTRun; //[nbSmTypes][nbSel]
350 std::vector<std::vector<TH2*>> fhTRpcCluTOffDTLastHits;
351 std::vector<std::vector<TH2*>> fhTRpcCluTotDTLastHits;
352 std::vector<std::vector<TH2*>> fhTRpcCluSizeDTLastHits;
353 std::vector<std::vector<TH2*>> fhTRpcCluMemMulDTLastHits;
354
355 std::vector<TH1*> fhSeldT; //[nbSel]
356
357 std::vector<std::vector<std::vector<std::vector<Double_t>>>> fvCPDelTof; //[nSMT][nRpc][nbClDelTofBinX][nbSel]
358 std::vector<std::vector<std::vector<std::vector<Double_t>>>> fvCPTOff; //[nSMT][nRpc][nCh][nbSide]
359 std::vector<std::vector<std::vector<std::vector<Double_t>>>> fvCPTotGain; //[nSMT][nRpc][nCh][nbSide]
360 std::vector<std::vector<std::vector<std::vector<Double_t>>>> fvCPTotOff; //[nSMT][nRpc][nCh][nbSide]
361 std::vector<std::vector<std::vector<std::vector<std::vector<Double_t>>>>>
362 fvCPWalk; //[nSMT][nRpc][nCh][nbSide][nbWalkBins]
363
364 std::vector<std::vector<std::vector<std::vector<std::list<CbmTofHit*>>>>> fvLastHits; //[nSMT[nSm][nRpc][nCh][NHits]
365 std::vector<Int_t> fvDeadStrips; //[nbDet]
366 std::vector<std::vector<Double_t>> fvTimeLastDigi; //[nbDet][nChannel*2]
367 std::vector<std::vector<Double_t>> fvTimeFirstDigi; //[nbDet][nChannel*2]
368 std::vector<std::vector<Double_t>> fvMulDigi; //[nbDet][nChannel*2]
369
370 // Digis quality
374
375 // Control
376 TTimeStamp fStart;
377 TTimeStamp fStop;
378
379 // Calib
380 Double_t dTRef;
381 Double_t fdTRefMax;
382 Int_t fCalMode;
383 Int_t fCalSel;
385 Double_t fdCaldXdYMax;
389 Int_t fIdMode;
390 Int_t fDutId;
391 Int_t fDutSm;
392 Int_t fDutRpc;
393 Int_t fDutAddr;
394 Int_t fSelId;
395 Int_t fSelSm;
396 Int_t fSelRpc;
397 Int_t fSelAddr;
404 Int_t fSel2Id;
405 Int_t fSel2Sm;
406 Int_t fSel2Rpc;
409
410 std::map<UInt_t, UInt_t> fDetIdIndexMap;
411 std::vector<Int_t> fviDetId;
412
413 Double_t fPosYMaxScal;
414 Double_t fTRefDifMax;
415 Double_t fTotMax;
416 Double_t fTotMin;
417 Double_t fTotOff;
418 Double_t fTotMean;
419 Double_t fdDelTofMax;
420 Double_t fTotPreRange;
421 Double_t fMaxTimeDist;
423 Double_t fdMemoryTime;
424 Double_t fdYFitMin;
425 Double_t fdToDAv;
426
429 Bool_t fbPs2Ns; // convert input raw digis from ps to ns
430
431 TString fCalParFileName; // name of the file name with Calibration Parameters
432 TString fOutHstFileName; // name of the histogram output file name with Calibration Parameters
433 TFile* fCalParFile; // pointer to Calibration Parameter file
434
435 // Constants or setting parameters
437 Int_t fiMsgCnt;
438
439 Double_t fdTOTMax;
440 Double_t fdTOTMin;
441 Double_t fdTTotMean;
442
443 Double_t fdMaxTimeDist; // Isn't this just a local variable? Why make it global and preset?!?
444 Double_t fdMaxSpaceDist; // Isn't this just a local variable? Why make it global and preset?!?
445
446 Double_t fdEvent;
447
452
454};
455
456#endif // CBMTOFHITMAKER
CbmDigiManager.
Class characterising one event by a collection of links (indices) to data objects,...
Definition CbmEvent.h:34
Data class with information on a STS local track.
static uint32_t GetUniqueAddress(uint32_t Sm, uint32_t Rpc, uint32_t Channel, uint32_t Side=0, uint32_t SmType=0, uint32_t RpcType=0)
Parameters class for the CBM ToF digitizer using beam data distributions.
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTOff
std::vector< TH2 * > fhSmCluPosition
TClonesArray * fEventsColl
Double_t fdChannelDeadtime
CbmTofDigiBdfPar * fDigiBdfPar
void SetMaxTimeDist(Double_t val)
virtual InitStatus Init()
Inherited from FairTask.
std::vector< std::vector< TH2 * > > fhTSmCluTOff
virtual void Exec(Option_t *option)
Inherited from FairTask.
void SetDutSm(Int_t Id)
void SetDeadStrips(Int_t iDet, Int_t ival)
TClonesArray * fTofDigiMatchCollOut
Double_t fdCaldXdYMax
std::vector< std::vector< TH2 * > > fhTRpcCluTOff
Bool_t RegisterInputs()
Recover pointer on input TClonesArray: TofPoints, TofDigis...
void SetSelSm(Int_t Id)
void SetWriteHitsInOut(Bool_t bHits)
void SetYFitMin(Double_t val)
std::map< UInt_t, UInt_t > fDetIdIndexMap
TClonesArray * fTofDigiMatchColl
TClonesArray * fTofHitsCollOut
// Calibrated TOF Digis
std::vector< TH1 * > fhRpcDTLastHits_CluSize
void SetPs2Ns(Bool_t bval)
void SetBeamAddRefMul(Int_t ival)
std::vector< std::vector< std::vector< std::vector< Int_t > > > > fStorDigiInd
void SetIdMode(Int_t Id)
std::vector< std::vector< TH2 * > > fhTRpcCluMemMulDTLastHits
virtual void fit_ybox(const char *hname)
virtual void CheckLHMemory()
Bool_t fbSwapChannelSides
void SetCaldXdYMax(Double_t dCaldXdYMax)
std::vector< std::vector< TH2 * > > fhTRpcCluAvWalk
void SetSel2Rpc(Int_t ival)
TClonesArray * fMcTracksColl
std::vector< TH2 * > fhSmCluTOff
void SetCalMode(Int_t iMode)
Bool_t LoadGeometry()
Load the geometry: for now just resizing the Digis temporary vectors.
void SetdTRefMax(Double_t val)
Double_t fPosYMaxScal
void SetMemoryTime(Double_t val)
std::vector< std::vector< TH2 * > > fhTRpcCluTot
Double_t fTotPreRange
TTrbHeader * fTrbHeader
TString fOutHstFileName
std::vector< std::vector< TH2 * > > fhTRpcCluTotDTLastHits
void SetCalSmAddr(Int_t iCalSmAddr)
std::vector< std::vector< std::vector< Int_t > > > fviTrkMul
std::vector< TH2 * > fhRpcCluAvLnWalk
CbmTofDetectorId * fTofId
void SwapChannelSides(Bool_t bSwap)
std::vector< TH1 * > fhRpcDTLastHits
ClassDef(CbmTofHitMaker, 1)
std::vector< std::vector< std::vector< Double_t > > > fvdDifY
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPDelTof
std::vector< TH2 * > fhRpcCluDelMatPos
void SetChannelDeadtime(Double_t val)
void SetTotMax(Double_t val)
std::vector< Int_t > fvDeadStrips
void SetFileIndex(Int_t iIndex)
void SetBeamRefMulMax(Int_t Id)
CbmTofHitMaker(const CbmTofHitMaker &)
Copy constructor.
std::vector< Int_t > fviDetId
void SetSel2Id(Int_t ival)
void SetSelId(Int_t Id)
void SetCalCluMulMax(Int_t ival)
TClonesArray * fTofPointsColl
CbmTofCell * fChannelInfo
void SetEnableMatchPosScaling(Bool_t bval)
std::vector< TH1 * > fhRpcCluMul
Bool_t InitParameters()
Initialize other parameters not included in parameter classes.
std::vector< std::vector< TH2 * > > fhTRpcCluTofOff
std::vector< TProfile * > fhRpcCluPositionEvol
std::vector< TProfile * > fhRpcCluTimeEvol
std::vector< std::vector< std::vector< Double_t > > > fvdY
virtual ~CbmTofHitMaker()
Destructor.
std::vector< TH2 * > fhRpcCluPosition
std::vector< TH2 * > fhRpcCluDelTOff
std::vector< CbmTofDigi > * fTofCalDigiVecOut
std::vector< std::vector< std::vector< std::vector< std::list< CbmTofHit * > > > > > fvLastHits
std::vector< Int_t > vDigiIndRef
std::vector< TH2 * > fhRpcDigiDTLD
std::vector< TH2 * > fhRpcDigiMul
std::vector< std::vector< std::vector< std::vector< std::vector< Double_t > > > > > fvCPWalk
std::vector< TH1 * > fhRpcDTLastHits_Tot
void SetSelRpc(Int_t Id)
TString fCalParFileName
std::vector< std::vector< std::vector< Double_t > > > fvdDifCh
std::vector< std::vector< TH2 * > > fhTSmCluPosition
std::vector< std::vector< std::vector< TH2 * > > > fhRpcCluWalk
void SetSel2MulMax(Int_t Id)
void SetTotMin(Double_t val)
std::vector< TH2 * > fhRpcCluTrms
std::vector< TH2 * > fhRpcCluTot
void SetDelTofMax(Double_t val)
std::vector< std::vector< Double_t > > fvTimeFirstDigi
std::vector< CbmTofDigi > * fTofCalDigiVec
CbmTofHitMaker()
Constructor.
std::vector< TH2 * > fhRpcCluTOff
CbmDigiManager * fDigiMan
TOF Digis.
std::vector< TH2 * > fhRpcDigiDTMul
void SetWriteDigisInOut(Bool_t bDigis)
void SetCalParFileName(TString CalParFileName)
virtual void SetParContainers()
Inherited from FairTask.
std::vector< std::vector< TH2 * > > fhTSmCluTRun
std::vector< std::vector< TH2 * > > fhTRpcCluSizeDTLastHits
void SetAlternativeBranchNames(Bool_t bNames)
void SetDutRpc(Int_t Id)
void SetTRefId(Int_t Id)
virtual void CleanLHMemory()
std::vector< std::vector< Double_t > > fvTimeLastDigi
std::vector< std::vector< std::vector< Int_t > > > fviClusterSize
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)
void SetTotMean(Double_t val)
std::vector< TH1 * > fhRpcCluRate
CbmTofDigiPar * fDigiPar
void SetBeamRefSm(Int_t Id)
static CbmTofHitMaker * fInstance
CbmTofHitMaker & operator=(const CbmTofHitMaker &)
Copy operator.
void SetOutHstFileName(TString OutHstFileName)
Bool_t fbAlternativeBranchNames
std::vector< TProfile * > fhSmCluSvel
virtual void Finish()
Inherited from FairTask.
void SetTRefDifMax(Double_t val)
std::vector< TH2 * > fhRpcCluDelPos
TTimeStamp fStart
std::vector< std::vector< TH2 * > > fhTRpcCluPosition
void SetCalSel(Int_t iSel)
void SetBeamRefDet(Int_t Id)
Double_t fMaxTimeDist
Double_t fdMaxSpaceDist
TString GetCalParFileName()
std::vector< CbmTofDigi > fTofDigiVec
std::vector< std::vector< TH2 * > > fhTRpcCluTOffDTLastHits
std::vector< TH2 * > fhRpcDigiCor
std::vector< std::vector< std::vector< Double_t > > > fvdDifX
void SetTotPreRange(Double_t val)
std::vector< std::vector< TH1 * > > fhTRpcCluMul
void SetDutId(Int_t Id)
std::vector< std::vector< Double_t > > fvMulDigi
Bool_t fEnableMatchPosScaling
std::vector< std::vector< TH3 * > > fhTRpcCluWalk2
std::vector< std::vector< std::vector< Double_t > > > fvdX
void SetBeamRefId(Int_t Id)
virtual void LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm, CbmTofHit *pHit)
std::vector< TH2 * > fhRpcDigiDTFD
std::vector< TH1 * > fhRpcCluRate10s
std::vector< std::vector< TH2 * > > fhTRpcCluDelTof
std::vector< std::vector< std::vector< std::vector< CbmTofDigi * > > > > fStorDigi
CbmTofGeoHandler * fGeoHandler
static CbmTofHitMaker * Instance()
std::vector< std::vector< TH2 * > > fhTRpcCludXdY
std::vector< std::vector< TProfile * > > fhSmCluFpar
std::vector< TH2 * > fhRpcDigiStatus
void SetToDAv(Double_t val)
void PosYMaxScal(Double_t val)
std::vector< std::vector< std::vector< Int_t > > > fviClusterMul
std::vector< std::vector< TH2 * > > fhTRpcCluSize
TClonesArray * fTofHitsColl
// Calibrated TOF Digis
virtual void ExecEvent(Option_t *option)
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotOff
std::vector< TH2 * > fhRpcCluAvWalk
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotGain
std::vector< TH2 * > fhRpcCluDelMatTOff
void SetCalSmType(Int_t iCalSmType)
Bool_t InspectRawDigis()
Bool_t BuildClusters()
Build clusters out of ToF Digis and store the resulting info in a TofHit.
Bool_t InitCalibParameter()
Initialize other parameters not included in parameter classes.
Bool_t RegisterOutputs()
Create and register output TClonesArray of Tof Hits.
void SetEnableAvWalk(Bool_t bval)
void SetCalRpc(Int_t iCalRpc)
std::vector< std::vector< std::vector< std::vector< TH2 * > > > > fhTRpcCluWalk
Double_t fdMaxTimeDist
void SetSel2Sm(Int_t ival)
Bool_t DeleteGeometry()
Delete the geometry related arrays: for now just clearing the Digis temporary vectors.
std::vector< TH1 * > fhSeldT
std::vector< TH2 * > fhRpcCluSize
Double_t fdMemoryTime