CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcCalibAlg/MdcCalibAlg-00-09-02/MdcCalibAlg/PreT0MdcCalib.h
Go to the documentation of this file.
1#ifndef PRET0MDCCALIB_H
2#define PRET0MDCCALIB_H
3
4#include "MdcCalibAlg/MdcCalib.h"
5#include "MdcCalibFunSvc/IMdcCalibFunSvc.h"
6#include "MdcCalibFunSvc/MdcCalibFunSvc.h"
7#include "MdcGeomSvc/IMdcGeomSvc.h"
8#include "MdcGeomSvc/MdcGeomSvc.h"
9
10#include "TGraph.h"
11#include <vector>
12
13
14class PreT0MdcCalib: public MdcCalib {
15public:
18 void initialize(TObjArray* hlist, IMdcGeomSvc* mdcGeomSvc,
19 IMdcCalibFunSvc* mdcFunSvc, IMdcUtilitySvc* mdcUtilitySvc);
20
21 void setParam(MdcCalParams& param);
22 int fillHist(MdcCalEvent* event);
23 int updateConst(MdcCalibConst* calconst);
24 void clear();
25
26private:
27
28 static Double_t funTmin(Double_t* x, Double_t* par);
29 static Double_t funTmax(Double_t* x, Double_t* par);
30 static Double_t xtfun(Double_t *x, Double_t *par);
31
32 MdcCalParams m_param;
33
34 TObjArray* m_hlist;
35 IMdcGeomSvc* m_mdcGeomSvc;
36 IMdcCalibFunSvc* m_mdcFunSvc;
37 IMdcUtilitySvc* m_mdcUtilitySvc;
38
39 int m_nzbin;
40 double m_zwid[MdcCalNLayer];
41 double m_zst[MdcCalNLayer];
42 double m_vp[MdcCalNLayer];
43
44 TFolder* m_fdTrec;
45 TFolder* m_fdTrecZ;
46 TH1F* m_hTrec[MdcCalNLayer][MdcCalLR];
47 TH1F* m_hTrecCosm[MdcCalNLayer][2];
48 TH1F* m_hTrecZ[MdcCalNLayer][MdcCalLR][11];
49};
50
51inline void PreT0MdcCalib::setParam(MdcCalParams& param){
52 MdcCalib::setParam(param);
53 m_param = param;
54}
55#endif /* PRET0MDCCALIB_H */
virtual void setParam(MdcCalParams &param)=0
int updateConst(MdcCalibConst *calconst)
int fillHist(MdcCalEvent *event)
void initialize(TObjArray *hlist, IMdcGeomSvc *mdcGeomSvc, IMdcCalibFunSvc *mdcFunSvc, IMdcUtilitySvc *mdcUtilitySvc)
void setParam(MdcCalParams &param)