BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/DedxCalibAlg/DedxCalibAlg-00-01-15/DedxCalibAlg/DedxCalib.h
Go to the documentation of this file.
1#ifndef DEDXCALIB_H
2#define DEDXCALIB_H
3
4#include "GaudiKernel/Algorithm.h"
5#include "GaudiKernel/ISvcLocator.h"
6#include "MdcGeomSvc/MdcGeomSvc.h"
7#include "DedxCorrecSvc/DedxCorrecSvc.h"
8
9#include "DedxCalibAlg/DedxCalibParameters.h"
10
11class DedxCalib : public Algorithm
12{
13 public:
14 DedxCalib (const std::string& name, ISvcLocator* pSvcLocator);
16
17 StatusCode initialize();
18 StatusCode execute();
19 StatusCode finalize();
20
21 virtual void genNtuple() = 0;
22 virtual void initializing() = 0;
23 virtual void BookHists() = 0;
24 virtual void FillHists() = 0;
25 virtual void AnalyseHists() = 0;
26 virtual void WriteHists() = 0;
27
28 protected:
31
32 //do trunction to calculate dE/dx for each track
33 float truncate;
34 double cal_dedx_bitrunc(float truncate, std::vector<double> phlist); //do low and high side truncation
35 double cal_dedx(float truncate, std::vector<double> phlist); //no low side truncation
36
37 //calculate chi dE/dx
39 vector<double> Curve_Para;
40 vector<double> Sigma_Para;
41 int vFlag[3];//vFlag[0]:dedx curve version; vFlag[1]:dedx sigma version; vFlag[2]: 0:data; 1:MC
42 void set_dEdx( int landau, float dEdx, int trkalg, int runflag, int dedxhit_use, float ptrk, float theta, float pl_rp, int vflag[3] , double t0);
43 double m_dedx_exp[5];
44 double m_ex_sigma[5];
45 double m_pid_prob[5];
46 double m_chi_ex[5];
47
48 vector<string> m_recFileVector;
50 int ParticleFlag; //particle type flag: 0: electron, 1:muon, 2: pion, 3:kaon, 4:proton
51 int m_calibflag;
52 int m_phShapeFlag;
53 std::string m_eventType;
54 std::string m_recFileList;
55 std::string m_rootfile;
56 std::string m_curvefile;
57};
58#endif
StatusCode finalize()
virtual void genNtuple()=0
void set_dEdx(int landau, float dEdx, int trkalg, int runflag, int dedxhit_use, float ptrk, float theta, float pl_rp, int vflag[3], double t0)
double cal_dedx(float truncate, std::vector< double > phlist)
DedxCalib(const std::string &name, ISvcLocator *pSvcLocator)
void ReadRecFileList()
virtual void initializing()=0
virtual void FillHists()=0
void getCurvePar()
StatusCode execute()
StatusCode initialize()
double cal_dedx_bitrunc(float truncate, std::vector< double > phlist)
virtual void AnalyseHists()=0
virtual void BookHists()=0
virtual void WriteHists()=0