6 |
|
#include <iostream> |
7 |
|
|
8 |
|
#include "TLorentzVector.h" |
9 |
+ |
#include "TMath.h" |
10 |
|
|
11 |
|
namespace HbbAnalysis { |
12 |
|
|
140 |
|
}; |
141 |
|
|
142 |
|
struct SCVars { |
143 |
+ |
float eta; |
144 |
|
float sigmaEtaEta; |
145 |
|
float sigmaIEtaIEta; |
146 |
|
float e1x5; |
148 |
|
float e5x5; |
149 |
|
float eOverP; |
150 |
|
SCVars(): |
151 |
+ |
eta(0), |
152 |
|
sigmaEtaEta(0), |
153 |
|
sigmaIEtaIEta(0), |
154 |
|
e1x5(0), |
711 |
|
|
712 |
|
}; |
713 |
|
|
711 |
– |
|
712 |
– |
|
713 |
– |
|
714 |
|
double DeltaPhi(const double phi1, const double phi2); |
715 |
< |
|
715 |
> |
double DeltaR(const TLorentzVector & v1, const TLorentzVector & v2); |
716 |
> |
|
717 |
|
template <class T1, class T2> |
718 |
|
double DeltaR(const T1 & v1, const T2 & v2){ |
719 |
|
double dEta = v1.eta - v2.eta; |
720 |
< |
double dPhi = v1.phi - v2.phi; |
720 |
> |
double dPhi = fabs(v1.phi - v2.phi); |
721 |
> |
if (dPhi > TMath::Pi()) dPhi = (2.0*TMath::Pi() - dPhi); |
722 |
|
return sqrt(dEta*dEta+dPhi*dPhi); |
723 |
|
} |
724 |
|
|
728 |
|
|
729 |
|
TLorentzVector FourMomentum(const BaseVars & v, const double scale=1) ; |
730 |
|
|
731 |
< |
double TransverseMass(const BaseVars & leg1, |
732 |
< |
const BaseVars & leg2, |
731 |
> |
double TransverseMass(const TLorentzVector & leg1, |
732 |
> |
const TLorentzVector & leg2, |
733 |
|
const double mEx, |
734 |
|
const double mEy); |
735 |
|
|
736 |
< |
double TransverseMass(const BaseVars & leg1, |
736 |
> |
double TransverseMass(const TLorentzVector & leg1, |
737 |
|
const double mEx, |
738 |
|
const double mEy); |
739 |
|
|
740 |
< |
TLorentzVector FourMomentumCDFmethod(const BaseVars & leg1, |
741 |
< |
const BaseVars & leg2, |
740 |
> |
TLorentzVector FourMomentumCDFmethod(const TLorentzVector & leg1, |
741 |
> |
const TLorentzVector & leg2, |
742 |
|
double mEx, |
743 |
|
double mEy); |
744 |
|
|
745 |
< |
TLorentzVector FourMomentumCollinearApprox(const BaseVars & leg1, |
746 |
< |
const BaseVars & leg2, |
745 |
> |
TLorentzVector FourMomentumCollinearApprox(const TLorentzVector & leg1, |
746 |
> |
const TLorentzVector & leg2, |
747 |
|
double mEx, |
748 |
|
double mEy); |
749 |
|
|