1 #define CM_ENERGY 7000.0 2 #include "TLorentzVector.h" 13 TLorentzVector
Q(mu + mubar);
20 double muplus = 1.0 /
sqrt(2.0) * (mu.E() + mu.Z());
21 double muminus = 1.0 /
sqrt(2.0) * (mu.E() - mu.Z());
23 double mubarplus = 1.0 /
sqrt(2.0) * (mubar.E() + mubar.Z());
24 double mubarminus = 1.0 /
sqrt(2.0) * (mubar.E() - mubar.Z());
27 2.0 / Q.Mag() /
sqrt(
pow(Q.Mag(), 2) +
pow(Q.Pt(), 2)) * (muplus * mubarminus - muminus * mubarplus);
36 TLorentzVector
D(mu - mubar);
37 double dt_qt = D.X() * Q.X() + D.Y() * Q.Y();
39 pow(D.Pt() / Q.Mag(), 2) - 1.0 /
pow(Q.Mag(), 2) / (
pow(Q.Mag(), 2) +
pow(Q.Pt(), 2)) *
pow(dt_qt, 2);
47 TVector3
R = Pbeam.Vect().Cross(Q.Vect());
48 TVector3 Runit = R.Unit();
51 TVector3 Qt = Q.Vect();
53 TVector3 Qtunit = Qt.Unit();
55 TVector3 Dt = D.Vect();
57 double tanphi =
sqrt(
pow(Q.Mag(), 2) +
pow(Q.Pt(), 2)) / Q.Mag() * Dt.Dot(Runit) / Dt.Dot(Qtunit);
void swap(Association< C > &lhs, Association< C > &rhs)
DecomposeProduct< arg, typename Div::arg > D
void calCSVariables(TLorentzVector mu, TLorentzVector mubar, double *res, bool swap)
Power< A, B >::type pow(const A &a, const B &b)