Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/** @file CbmTofCalibrator.h
** @author nh <N.Herrmann@gsi.de>
** @date 28.02.2020
**/
#ifndef CBMTOFCALIBRATOR_H
#define CBMTOFCALIBRATOR_H 1
// TOF Classes and includes
class CbmTofDigi;
class CbmTofHit;
class CbmMatch;
class CbmEvent;
class CbmVertex;
// Geometry
class CbmTofGeoHandler;
class CbmTofDetectorId;
class CbmTofDigiPar;
class CbmTofDigiBdfPar;
class CbmTofCell;
class CbmTofFindTracks;
class CbmDigiManager;
#include "CbmDigiManager.h"
#include "CbmTofEventClusterizer.h"
#include "CbmTofFindTracks.h"
#include "CbmTofTrackletParam.h"
#include "FairTrackParam.h"
#include "CbmTofDigi.h"
#include "CbmTofHit.h"
#include "CbmTofTracklet.h"
#include "CbmTofTrackletTools.h"
#include "TMath.h"
#include "TH1.h"
#include "TH2.h"
#include <vector>
class TClonesArray;
/** @class CbmTofCalibrator
** @brief contains filling and updating of calibration histos
** @author nh
**/
class CbmTofCalibrator: public FairTask
{
public:
/** Constructor **/
CbmTofCalibrator();
/** Destructor **/
virtual ~CbmTofCalibrator();
InitStatus Init();
Bool_t InitParameters();
Bool_t CreateCalHist();
void FillCalHist(CbmTofTracklet *pTrk);
Bool_t UpdateCalHist(Int_t iOpt);
void ReadHist(TFile *fhFile);
void WriteHist(TFile *fhFile);
inline void SetR0Lim(Double_t dVal) {fdR0Lim=dVal;}
private:
CbmDigiManager* fDigiMan;
CbmTofEventClusterizer* fTofClusterizer;
CbmTofFindTracks* fTofFindTracks;
CbmTofTrackletTools* fTrackletTools;
CbmTofDigiBdfPar* fDigiBdfPar;
TClonesArray* fTofDigiMatchColl; // TOF Digi Links
std::vector< TH2* > fhCalPos; // [nbDet]
std::vector< TH2* > fhCalTOff; // [nbDet]
std::vector< TH2* > fhCalTot; // [nbDet]
std::vector< std::vector< std::vector<TH2 *> > >fhCalWalk; // [nbDet][nbCh][nSide]
std::vector< TH1* > fhCorPos; // [nbDet]
std::vector< TH1* > fhCorTOff; // [nbDet]
std::vector< TH1* > fhCorTot; // [nbDet]
std::vector< TH1* > fhCorTotOff; // [nbDet]
std::vector< TH1* > fhCorSvel; // [nbDet]
std::vector< std::vector< std::vector<TH1 *> > >fhCorWalk; // [nbDet][nbCh][nSide]
std::map<UInt_t, UInt_t> fDetIdIndexMap;
CbmTofCalibrator(const CbmTofCalibrator&) = delete;
CbmTofCalibrator operator=(const CbmTofCalibrator&) = delete;
ClassDef(CbmTofCalibrator, 1);
};
#endif /* CBMTOFCALIBRATOR_H */