47 bool is_reconstructed = Efficiency(geanttype, mom);
50 double pt_res, theta_res, phi_res;
51 GetResolution(geanttype, mom, pt_res, theta_res, phi_res);
58 double pt_new=-1.0, theta_new=-1.0, phi_new=-1.0;
60 while(pt_new<=0.0) pt_new = mom.Perp()*(1.0 + rnd.Gaus(0.0, pt_res));
61 while(theta_new<=0.0 || theta_new>M_PI)theta_new = mom.Theta() + rnd.Gaus(0.0, theta_res)/1000.0;
62 phi_new = mom.Phi() + rnd.Gaus(0.0, phi_res)/1000.0;
63 while(phi_new<-M_PI)phi_new+=M_PI;
64 while(phi_new>=M_PI)phi_new-=M_PI;
67 mom.SetMagThetaPhi(pt_new/
sin(theta_new), theta_new, phi_new);
69 return is_reconstructed;
90 double eff = GetEfficiency(geanttype, mom);
92 double s = rnd.Rndm();
virtual ~DTrackingResolution()
bool Efficiency(int geanttype, const TVector3 &mom)
bool Smear(int geanttype, TVector3 &mom)