BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DedxCalibParameters.h
Go to the documentation of this file.
1#include <vector>
2
3const long int RUN0 = 0;
4const long int RUN1 = 0;
5const long int RUN2 = 5459;
6const long int RUN3 = 8093;
7const long int RUN4 = 9947;
8const long int RUN5 = 11397;
9const long int RUN6 = 23455;
10const long int RUN7 = 25244;
11
12////runNO<5459, HV:2200
13const double HV1_curvep0 = 500.0 * 0.1165;
14const double HV1_curvep1 = 9.404;
15const double HV1_curvep2 = 0.009811;
16const double HV1_curvep3 = 1.621;
17const double HV1_curvep4 = 1.19;
18const double HV1_index_sin = 0;
19const double HV1_index_nhit = 0.9525;
20const double HV1_sigmap0 = 65;
21const double HV1_sigmap1 = 57.08;
22const double HV1_sigmap2 = 60.03;
23const double HV1_sigmap3 = -2.747;
24
25////runNO:5960-8093(6201)
26const double HV2_curvep0 = 550.0 * 0.0182604;
27const double HV2_curvep1 = 35.0428;
28const double HV2_curvep2 = 1.24185e-09;
29const double HV2_curvep3 = 2.25831;
30const double HV2_curvep4 = 5.81573;
31const double HV2_index_sin = 0.341267;
32const double HV2_index_nhit = 0.557516;
33const double HV2_sigmap0 = 33.0;
34const double HV2_sigmap1 = 33.1897;
35const double HV2_sigmap2 = 29.3308;
36const double HV2_sigmap3 = -2.11828;
37
38const double VR0CUT = 1.0;
39const double VZ0CUT = 10.0;
40const double PT0HighCut = 5.0;
41const double PT0LowCut = 0.05;
42
43#define NormalMean 550 // reference value
44
45#define NumHistBins 300 // set histogram range for gauss and landau distribution
46#define MinHistValue 10
47#define MaxHistValue 3000
48#define MinHistValue1 300
49#define MaxHistValue1 950
50#define MinChiValue -1
51#define MaxChiValue 1
52
53#define MinADCValuecut 10 // choose hits again in calibration
54#define MaxADCValuecut 35000
55#define RPhi_PathMaxCut 3
56#define Iner_RPhi_PathMinCut 0.24
57#define Out_RPhi_PathMinCut 0.32
58#define Iner_DriftDistCut 0.75
59#define Out_DriftDistCut 1.0
60
61#define NumSlices 100
62#define NumSlicesDoca 40
63#define NumSlicesEAng 40
64#define DocaMin -1.1
65#define DocaMax 1.1
66#define PhiMin -0.25
67#define PhiMax 0.25
68
69#define NumBinCostheta 80
70#define CosthetaMin -1.00
71#define CosthetaMax 1.00
72
73#define NumBinCalT0 35
74#define NumBinTzero 135
75#define TzeroMin 150
76#define TzeroMax 1500
77
78static const double doca_norm[43] = {
79 0.585, 0.615, 0.63, 0.61, 0.59, 0.57, 0.565, 0.61, 0.8, 0.855, 0.8,
80 0.855, 0.805, 0.845, 0.8, 0.845, 0.785, 0.825, 0.785, 0.815, 0.765, 0.795,
81 0.82, 0.855, 0.8, 0.82, 0.86, 0.895, 0.77, 0.805, 0.83, 0.87, 0.75,
82 0.78, 0.8, 0.82, 0.8, 0.815, 0.83, 0.87, 0.77, 0.795, 0.8 };
83
84static const double Eangle_value_cut[15] = { -0.25, -0.06, -0.04, -0.03, -0.02,
85 -0.01, -0.005, 0, 0.005, 0.01,
86 0.02, 0.03, 0.04, 0.06, 0.25 };
87
88static const double Eangle_cut_bin[14] = { 1, 1, 2, 6, 6, 2, 2, 2, 2, 6, 6, 2, 1, 1 };
89
90static const double tzero_bin_value[35] = {
91 275, 575, 610, 630, 650, 670, 690, 710, 730, 750, 770, 790,
92 810, 830, 850, 870, 890, 910, 930, 950, 970, 990, 1010, 1030,
93 1050, 1070, 1090, 1110, 1130, 1150, 1170, 1190, 1225, 1275, 1400 };
94
95double mylan( double* x, double* par );
96double landaun( double* x, double* par );
97double Landau( double* x, double* par );
98double Vavilov( double* x, double* par );
99double AsymGauss( double* x, double* par );
100
101void dedx_pid_exp_old( int landau, int runflag, float dedx, int Nohit, float mom, float theta,
102 float t0, float lsamp, double dedx_exp[5], double ex_sigma[5],
103 double pid_prob[5], double chi_dedx[5] );
104
105void dedx_pid_exp( int vflag[3], float dedx, int trkalg, int Nohit, float mom, float theta,
106 float t0, float lsamp, double dedx_exp[5], double ex_sigma[5],
107 double pid_prob[5], double chi_dedx[5], std::vector<double>& par,
108 std::vector<double>& sig_par );
109
110double SpaceChargeCorrec( double m_theta, double mom, int Particle, double dEdx );
111
112#define NumEvtBlocksInRun 30 // the maximum number of blocks of events in a run
113#define NumEvtInBlocks 1000000 // the number of events in a block
114#define MaxNumEvt 1000000000 // the maximum number of events in a run
const double HV2_curvep2
const double HV2_index_nhit
const double HV2_curvep0
double Landau(double *x, double *par)
const long int RUN5
const double VZ0CUT
const double HV2_sigmap3
const double HV2_sigmap0
const double HV1_curvep1
const double PT0HighCut
const double HV1_sigmap0
double Vavilov(double *x, double *par)
void dedx_pid_exp_old(int landau, int runflag, float dedx, int Nohit, float mom, float theta, float t0, float lsamp, double dedx_exp[5], double ex_sigma[5], double pid_prob[5], double chi_dedx[5])
const double HV2_curvep3
const double HV2_sigmap1
const long int RUN6
const double HV1_sigmap3
const long int RUN2
const long int RUN7
double landaun(double *x, double *par)
double AsymGauss(double *x, double *par)
const double HV1_index_nhit
const long int RUN1
const double HV1_sigmap1
const double HV2_curvep1
const double HV2_curvep4
const double HV1_sigmap2
const double HV1_curvep3
const double HV2_sigmap2
const long int RUN4
void dedx_pid_exp(int vflag[3], float dedx, int trkalg, int Nohit, float mom, float theta, float t0, float lsamp, double dedx_exp[5], double ex_sigma[5], double pid_prob[5], double chi_dedx[5], std::vector< double > &par, std::vector< double > &sig_par)
const double HV1_curvep0
const double HV1_index_sin
const double VR0CUT
const double PT0LowCut
const double HV1_curvep4
double mylan(double *x, double *par)
const double HV2_index_sin
const long int RUN3
const double HV1_curvep2
const long int RUN0
double SpaceChargeCorrec(double m_theta, double mom, int Particle, double dEdx)
HepMC::GenParticle Particle