6 #include <Math/VectorUtil.h> 14 for (
unsigned int i = 0;
i < gensize; ++
i) {
25 if (bosonId != 23 && bosonId != 24)
27 double bosonMass = boson->
mass();
28 double leptonMass = lepton.
mass();
29 double leptonEnergy = lepton.
energy();
30 double cosLeptonTheta =
cos(lepton.
theta());
31 double sinLeptonTheta =
sin(lepton.
theta());
32 double leptonPhi = lepton.
phi();
44 trueKey = otherleptonKey;
50 for (
unsigned int j = 0;
j < nDaughters; ++
j) {
55 double cosPhotonTheta =
cos(
photon->theta());
56 double sinPhotonTheta =
sin(
photon->theta());
59 sinLeptonTheta * sinPhotonTheta *
cos(leptonPhi -
photonPhi) + cosLeptonTheta * cosPhotonTheta;
63 double betaLepton =
sqrt(1 -
pow(leptonMass / leptonEnergy, 2));
65 (1 -
pow(leptonMass / bosonMass, 2)) / (4 -
pow(leptonMass / bosonMass, 2)) * leptonEnergy *
82 const double alphapi = 1 / 137.036 /
M_PI;
83 const double mass_e = 0.0005;
84 const double mass_mu = 0.106;
85 const double mass_tau = 1.777;
86 const double mass_Z = 91.2;
88 pigaga += alphapi * (2 *
log(
pt / mass_e) / 3. - 5. / 9.);
90 pigaga += alphapi * (2 *
log(
pt / mass_mu) / 3. - 5. / 9.);
92 pigaga += alphapi * (2 *
log(
pt / mass_tau) / 3. - 5. / 9.);
104 }
else if (
pt < 2.0) {
108 }
else if (
pt < 4.0) {
112 }
else if (
pt < 10.0) {
116 }
else if (
pt < mass_Z) {
120 }
else if (
pt < 10000.) {
132 return 1. / (1. - pigaga);
const Candidate * mother(size_type=0) const override
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode) ...
std::vector< reco::GenParticle > genParticles_
virtual double mass() const =0
mass
Sin< T >::type sin(const T &t)
size_t numberOfDaughters() const override
number of daughters
int status() const final
status word
size_t numberOfMothers() const override
number of mothers
double alphaRatio(double) const
daughters::value_type daughterRef(size_type i) const
reference to daughter at given position
int pdgId() const final
PDG identifier.
double theta() const final
momentum polar angle
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
TAKEN FROM http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/ElectroWeakAnalysis/Utilities/src/PdfWeig...
virtual int pdgId() const =0
PDG identifier.
double mass() const final
mass
double phi() const final
momentum azimuthal angle
Power< A, B >::type pow(const A &a, const B &b)
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
double energy() const final
energy