CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
KalFitGemHit.cxx
Go to the documentation of this file.
1#include "KalFitAlg/KalFitGemHit.h"
2#include <cmath>
3
4const double a_stero[3] = {(45.94*3.1415926/180),(31.10*3.1415926/180),(32.99*3.1415926/180)};
5const double w_sheet[3] = {549.78,417.097,550.614};
6const double r_layer[3] = {87.5026,132.7686,175.2686};
7const double dmr_layer[3] = {79.838,125.104,167.604};
8const int l_layer[3] = {532,690,847};
9const int n_sheet[3] = {1,2,2};
10const double x_reso[3]={0.1372,0.1476,0.1412};
11const double v_reso[3]={0.1273,0.1326,0.1378};
12KalFitGemHit::KalFitGemHit(double phi, double v, int layer,int sheet)
13{
14 /*
15 myPhi=phi;
16 myZ=z;
17 myR=r;
18 myErrPhi=0.023/r; //error in r*phi/r (rad)
19 myErrZ=0.05; //error in z (cm)
20 myErrR=1.0; //error in R (cm)
21 */
22 myPhi=(phi+sheet*w_sheet[layer])/r_layer[layer];
23 //cout << "pos phi=" << myPhi*dmr_layer[layer] << endl;
24 //cout << "(v-(phi)*cos(a_stero[layer]))" << (v-(phi)*cos(a_stero[layer])) << endl;
25 //cout << "pos v=" << myPhi*dmr_layer[layer]*cos(a_stero[layer])+(v-(phi)*cos(a_stero[layer])) << endl;
26 //cout << "(phi+sheet*w_sheet[layer])/r_layer[layer]=" << (phi+sheet*w_sheet[layer])/r_layer[layer] << endl;
27 //cout <<"phi=" << myPhi << endl;
28 if(myPhi>3.1415926) myPhi=myPhi-6.2831852;
29 //cout << "new phi=" << myPhi << endl;
30 //cout << "first z=" << (v-(phi)*cos(a_stero[layer]))/sin(a_stero[layer]) << endl;
31 myZ=(((v-(phi)*cos(a_stero[layer]))/sin(a_stero[layer]))-0.5*l_layer[layer])/10.;
32 //cout << "second z="<< (v-(phi)*cos(a_stero[layer]))/sin(a_stero[layer])-0.5*l_layer[layer] << endl;
33 //cout << "third z=" << myZ << endl;
34 //cout << "v=" << v << endl;
35 //cout << "l_layer=" << l_layer[layer] << endl;
36 //cout << "0.5*l_layer=" << 0.5*l_layer[layer] << endl;
37
38 myR=dmr_layer[layer]/10.;
39 //double Dz,Cov,a,b;
40 //a=1./(sin(a_stero[layer])*sin(a_stero[layer]));
41 //b=1./(tan(a_stero[layer])*tan(a_stero[layer]));
42 //Cov=-1./(sin(a_stero[layer])*sin(a_stero[layer]));
43 //Dz=(a+2*Cov)*0.01467*0.01467+b*0.01349*0.01349;
44 //myErrZ=sqrt(Dz);
45 myErrZ=sqrt(0.01*v_reso[layer]*v_reso[layer]/(sin(a_stero[layer])*sin(a_stero[layer]))+0.01*x_reso[layer]*x_reso[layer]/(tan(a_stero[layer])*tan(a_stero[layer])));
46 myErrPhi=x_reso[layer]/r_layer[layer];
47}
48
const double a_stero[3]
const double r_layer[3]
const int l_layer[3]
const double w_sheet[3]
double tan(const BesAngle a)
double sin(const BesAngle a)
double cos(const BesAngle a)
const double dmr_layer[3]
Definition: KalFitAlg.cxx:87
const int n_sheet[3]
Definition: KalFitGemHit.cxx:9
const double a_stero[3]
Definition: KalFitGemHit.cxx:4
const double r_layer[3]
Definition: KalFitGemHit.cxx:6
const double dmr_layer[3]
Definition: KalFitGemHit.cxx:7
const int l_layer[3]
Definition: KalFitGemHit.cxx:8
const double x_reso[3]
const double v_reso[3]
const double w_sheet[3]
Definition: KalFitGemHit.cxx:5
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition: KarLud.h:35
KalFitGemHit(double phi, double v, int layer, int sheet)