28 }
else if ( ee < w.ee ) {
55 double limit = std::fabs(pp.
dot(w.pp));
56 limit += .25*((ee+w.ee)*(ee+w.ee));
58 double delta = (pp - w.pp).
mag2();
59 delta += (ee-w.ee)*(ee-w.ee);
60 return (delta <= limit );
64 double wdw = std::fabs(pp.
dot(w.pp)) + .25*((ee+w.ee)*(ee+w.ee));
65 double delta = (pp - w.pp).
mag2() + (ee-w.ee)*(ee-w.ee);
66 if ( (wdw > 0) && (delta < wdw) ) {
67 return std::sqrt (delta/wdw);
68 }
else if ( (wdw == 0) && (delta == 0) ) {
83 double tTotal = (ee + w.ee);
85 double vTotal2 = vTotal.
mag2();
87 if ( vTotal2 >= tTotal*tTotal ) {
101 double tRecip = 1./tTotal;
112 double b2 = vTotal2*tRecip*tRecip;
114 double ggamma = std::sqrt(1./(1.-b2));
115 double boostDotV1 = bboost.
dot(pp);
116 double gm1_b2 = (ggamma-1)/b2;
119 ggamma * (ee + boostDotV1) );
121 double boostDotV2 = bboost.
dot(w.pp);
123 ggamma * (w.ee + boostDotV2) );
131 double tTotal = (ee + w.ee);
133 double vTotal2 = vTotal.
mag2();
135 if ( vTotal2 >= tTotal*tTotal ) {
147 if ( vTotal2 == 0 ) {
153 double tRecip = 1./tTotal;
164 double b2 = vTotal2*tRecip*tRecip;
169 double ggamma = std::sqrt(1./(1.-b2));
170 double boostDotV1 = bboost.
dot(pp);
171 double gm1_b2 = (ggamma-1)/b2;
174 ggamma * (ee + boostDotV1) );
176 double boostDotV2 = bboost.
dot(w.pp);
178 ggamma * (w.ee + boostDotV2) );
193 double a =
eta() - w.
eta();
196 return std::sqrt ( a*a + b*b );
241 return (x1 < 1) ? x1 : 1;
247 double twoT2 = 2*ee*ee;
double epsilon(double density, double temperature)
double dot(const Hep3Vector &) const
double deltaPhi(const Hep3Vector &v2) const
int compare(const Hep3Vector &v) const
bool isParallel(const HepLorentzVector &w, double epsilon=tolerance) const
bool isNearCM(const HepLorentzVector &w, double epsilon=tolerance) const
int compare(const HepLorentzVector &w) const
double howParallel(const HepLorentzVector &w) const
bool operator<=(const HepLorentzVector &w) const
double deltaR(const HepLorentzVector &v) const
double euclideanNorm() const
double howNear(const HepLorentzVector &w) const
double howLightlike() const
double howNearCM(const HepLorentzVector &w) const
bool operator<(const HepLorentzVector &w) const
double euclideanNorm2() const
bool isNear(const HepLorentzVector &w, double epsilon=tolerance) const
bool operator>(const HepLorentzVector &w) const
bool operator>=(const HepLorentzVector &w) const