BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DedxCalib.h
Go to the documentation of this file.
1#ifndef DEDXCALIB_H
2#define DEDXCALIB_H
3
4#include "DedxCorrecSvc/DedxCorrecSvc.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/ISvcLocator.h"
7#include "MdcGeomSvc/MdcGeomSvc.h"
8
10
11class DedxCalib : public Algorithm {
12public:
13 DedxCalib( const std::string& name, ISvcLocator* pSvcLocator );
15
16 StatusCode initialize();
17 StatusCode execute();
18 StatusCode finalize();
19
20 virtual void genNtuple() = 0;
21 virtual void initializing() = 0;
22 virtual void BookHists() = 0;
23 virtual void FillHists() = 0;
24 virtual void AnalyseHists() = 0;
25 virtual void WriteHists() = 0;
26
27protected:
30
31 // do trunction to calculate dE/dx for each track
32 float truncate;
33 double cal_dedx_bitrunc( float truncate,
34 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
38 void getCurvePar();
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]:
42 // 0:data; 1:MC
43 void set_dEdx( int landau, float dEdx, int trkalg, int runflag, int dedxhit_use, float ptrk,
44 float theta, float pl_rp, int vflag[3], double t0 );
45 double m_dedx_exp[5];
46 double m_ex_sigma[5];
47 double m_pid_prob[5];
48 double m_chi_ex[5];
49
50 vector<string> m_recFileVector;
51 void ReadRecFileList();
52 int ParticleFlag; // particle type flag: 0: electron, 1:muon, 2: pion, 3:kaon, 4:proton
55 std::string m_eventType;
56 std::string m_recFileList;
57 std::string m_rootfile;
58 std::string m_curvefile;
59};
60#endif
std::string m_curvefile
Definition DedxCalib.h:58
double m_chi_ex[5]
Definition DedxCalib.h:48
StatusCode finalize()
Definition DedxCalib.cxx:65
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)
Definition DedxCalib.cxx:12
int ParticleFlag
Definition DedxCalib.h:52
void ReadRecFileList()
Definition DedxCalib.cxx:84
int m_phShapeFlag
Definition DedxCalib.h:54
std::string m_rootfile
Definition DedxCalib.h:57
std::string m_recFileList
Definition DedxCalib.h:56
int vFlag[3]
Definition DedxCalib.h:41
virtual void genNtuple()=0
Definition DedxCalib.cxx:74
vector< double > Sigma_Para
Definition DedxCalib.h:40
virtual void WriteHists()=0
Definition DedxCalib.cxx:82
void getCurvePar()
double m_pid_prob[5]
Definition DedxCalib.h:47
IDedxCorrecSvc * exsvc
Definition DedxCalib.h:29
vector< double > Curve_Para
Definition DedxCalib.h:39
virtual void AnalyseHists()=0
Definition DedxCalib.cxx:80
StatusCode execute()
Definition DedxCalib.cxx:53
double m_dedx_exp[5]
Definition DedxCalib.h:45
virtual void BookHists()=0
Definition DedxCalib.cxx:76
StatusCode initialize()
Definition DedxCalib.cxx:24
double cal_dedx_bitrunc(float truncate, std::vector< double > phlist)
double m_ex_sigma[5]
Definition DedxCalib.h:46
virtual void FillHists()=0
Definition DedxCalib.cxx:78
vector< string > m_recFileVector
Definition DedxCalib.h:50
virtual void initializing()=0
Definition DedxCalib.cxx:72
IMdcGeomSvc * geosvc
Definition DedxCalib.h:28
int m_calibflag
Definition DedxCalib.h:53
std::string m_eventType
Definition DedxCalib.h:55
float truncate
Definition DedxCalib.h:32