13 float theta = 2.0 * atan( exp( -1 * eta ) );
21 gSystem->Load(
"libeicsmear");
36 Smear::Device eemcE(Smear::kE,
"sqrt(0.01*0.01*E*E + 0.025*0.025*E)");
37 eemcE.Accept.SetGenre(Smear::kElectromagnetic);
38 eemcE.Accept.AddZone(zone_eemc);
43 Smear::Device cemcE(Smear::kE,
"sqrt(0.05*0.05*E*E + 0.16*0.16*E)");
44 cemcE.Accept.SetGenre(Smear::kElectromagnetic);
45 cemcE.Accept.AddZone(zone_cemc);
50 Smear::Device femcE(Smear::kE,
"sqrt(0.02*0.02*E*E + 0.08*0.08*E)");
51 femcE.Accept.SetGenre(Smear::kElectromagnetic);
52 femcE.Accept.AddZone(zone_femc);
57 Smear::Device chcalE(Smear::kE,
"sqrt(0.12*0.12*E*E + 0.81*0.81*E)");
58 chcalE.Accept.SetGenre(Smear::kHadronic);
59 chcalE.Accept.AddZone(zone_chcal);
64 Smear::Device fhcalE(Smear::kE,
"sqrt(0.0*0.0*E*E + 0.70*0.70*E)");
65 fhcalE.Accept.SetGenre(Smear::kHadronic);
66 fhcalE.Accept.AddZone(zone_fhcal);
83 Smear::Device trackingMomentum(Smear::kP,
"(P*P*(0.0182031 + 0.00921047*pow((-log(tan(theta/2.0))), 2) - 0.00291243*pow((-log(tan(theta/2.0))), 4) + 0.000264353*pow((-log(tan(theta/2.0))), 6)) + P*(0.209681 + 0.275144*pow((-log(tan(theta/2.0))), 2) - 0.0436536*pow((-log(tan(theta/2.0))), 4) + 0.00367412*pow((-log(tan(theta/2.0))), 6)))*0.01");
84 trackingMomentum.Accept.SetCharge(Smear::kCharged);
85 trackingMomentum.Accept.AddZone(zone_tracking);
87 Smear::Device trackingTheta(Smear::kTheta,
"((1.0/(1.0*P))*(0.752935 + 0.280370*pow((-log(tan(theta/2.0))), 2) - 0.0359713*pow((-log(tan(theta/2.0))), 4) + 0.00200623*pow((-log(tan(theta/2.0))), 6)) + 0.0282315 - 0.00998623*pow((-log(tan(theta/2.0))), 2) + 0.00117487*pow((-log(tan(theta/2.0))), 4) - 0.0000443918*pow((-log(tan(theta/2.0))), 6))*0.001");
88 trackingTheta.Accept.SetCharge(Smear::kCharged);
89 trackingTheta.Accept.AddZone(zone_tracking);
91 Smear::Device trackingPhi(Smear::kPhi,
"((1.0/(1.0*P))*(0.743977 + 0.753393*pow((-log(tan(theta/2.0))), 2) + 0.0634184*pow((-log(tan(theta/2.0))), 4) + 0.0128001*pow((-log(tan(theta/2.0))), 6)) + 0.0308753 + 0.0480770*pow((-log(tan(theta/2.0))), 2) - 0.0129859*pow((-log(tan(theta/2.0))), 4) + 0.00109374*pow((-log(tan(theta/2.0))), 6))*0.001");
92 trackingPhi.Accept.SetCharge(Smear::kCharged);
93 trackingPhi.Accept.AddZone(zone_tracking);
98 Smear::ParticleID mRICH(
"mRICHPIDMatrix.dat");
99 mRICH.Accept.AddZone(zone_mRICH);
105 det.AddDevice(eemcE);
106 det.AddDevice(cemcE);
107 det.AddDevice(femcE);
109 det.AddDevice(chcalE);
110 det.AddDevice(fhcalE);
112 det.AddDevice(trackingMomentum);
113 det.AddDevice(trackingTheta);
114 det.AddDevice(trackingPhi);
116 det.AddDevice(mRICH);
118 det.SetEventKinematicsCalculator(
"NM JB DA");