18{
19 TofDigiCol::iterator iter2;
20 for(iter2=tofDigiCol->begin();
21 iter2!=tofDigiCol->end();
22 iter2++,iter2++) {
23
28
29 if(!is_barrel) return;
30
35
36 double rand0 = (double)(rand()%100)/1000.-0.05;
37 double rand1 = (double)(rand()%100)/1000.-0.05;
38
39
40 adc0 *= (1+rand0);
41 adc1 *= (1+rand1);
42
44 zpos = 0.08331*(tdc1-tdc0);
45 if(fabs(zpos)>1.15) continue;
46
47
48 if((adc0>46.&&adc0<920.) && (adc1<=46.||adc1>=920.)) {
50 } else if((adc1>46.&&adc1<920.) && (adc0<=46.||adc0>=920.)) {
52 } else if((adc0>46.&&adc0<920.) && (adc1>46.&&adc1<920.)) {
53 e0 = adc0/
exp(2.783+0.3133*zpos);
54 e1 = adc1/
exp(2.784-0.3079*zpos);
56 } else if(adc0>=920.&&adc1>=920.) {
57 e0 = 920./
exp(2.783+0.3133*zpos);
58 e1 = 920./
exp(2.784-0.3079*zpos);
60 } else {
61 continue;
62 }
63
64 double phi,r;
65 if(layer==0) {
66 phi=(im+0.5)*CLHEP::twopi/88.;
67 r=838.5;
68 } else {
69 phi=im*CLHEP::twopi/88.;
70 r=895.5;
71 }
72
73 zpos*=1000;
75
77 }
78}
EvtComplex exp(const EvtComplex &c)
double sin(const BesAngle a)
double cos(const BesAngle a)
************Class m_ypar INTEGER m_KeyWgt INTEGER m_KeyIHVP INTEGER m_KeyGPS INTEGER m_IsBeamPolarized INTEGER m_EvtGenInterface DOUBLE PRECISION m_Emin DOUBLE PRECISION m_sphot DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_q2 DOUBLE PRECISION m_PolBeam2 DOUBLE PRECISION m_xErrPb *COMMON c_KK2f $ !CMS energy average $ !Spin Polarization vector first beam $ !Spin Polarization vector second beam $ !Beam energy spread[GeV] $ !minimum hadronization energy[GeV] $ !input READ never touch them !$ !debug facility $ !maximum weight $ !inverse alfaQED $ !minimum real photon energy
static double TofTime(unsigned int timeChannel)
static double TofCharge(unsigned int chargeChannel)
static bool is_barrel(const Identifier &id)
Test for barrel.
static int phi_module(const Identifier &id)
static int layer(const Identifier &id)