Definition at line 15 of file WprimeWZFlatPtMass6.cxx.
◆ WprimeWZFlatPtMass6()
Pythia8::WprimeWZFlatPtMass6::WprimeWZFlatPtMass6 |
( |
| ) |
|
|
inline |
◆ ~WprimeWZFlatPtMass6()
Pythia8::WprimeWZFlatPtMass6::~WprimeWZFlatPtMass6 |
( |
| ) |
|
|
inline |
◆ breitWignerDenom()
double Pythia8::WprimeWZFlatPtMass6::breitWignerDenom |
( |
double |
mFrac | ) |
|
|
inlineprivate |
Definition at line 182 of file WprimeWZFlatPtMass6.cxx.
187 if(mFrac < 0.0425)
return 1
e-12/(-1.293+1.098e+2*mFrac-2.800e+3*mFrac*mFrac+2.345e+4*mFrac*mFrac*mFrac);
188 if(mFrac < 0.073)
return 1.248e-12*(
exp(1.158+18.34*mFrac));
190 return 5.733e-10*
pow(mFrac,-3.798-0.6555*
log(mFrac))/
pow(1.427-mFrac,30.017);
◆ canModifySigma()
virtual bool Pythia8::WprimeWZFlatPtMass6::canModifySigma |
( |
| ) |
|
|
inlinevirtual |
◆ canVetoProcessLevel()
bool Pythia8::WprimeWZFlatPtMass6::canVetoProcessLevel |
( |
| ) |
|
|
inline |
◆ doVetoProcessLevel()
bool Pythia8::WprimeWZFlatPtMass6::doVetoProcessLevel |
( |
Event & |
process | ) |
|
|
inline |
veto the event since pT not large enough.
rescale W boson px,py and mass components
rescale accordingly Z boson px,py and mass components
Definition at line 55 of file WprimeWZFlatPtMass6.cxx.
66 bool isVetoed =
false;
72 if (
v.idAbs() != 34)
continue;
77 if(d_W.idAbs() !=24 ){
83 Vec4 pv_W_orig = d_W.p();
84 Vec4 pv_Z_orig = d_Z.p();
85 double pTW = sqrt(
pow(pv_W.px(),2) +
pow(pv_W.py(),2));
86 double mW = sqrt(
pow(pv_W.e(),2) -
pow(pv_W.px(),2) -
pow(pv_W.py(),2) -
pow(pv_W.pz(),2));
87 double mZ = sqrt(
pow(pv_Z.e(),2) -
pow(pv_Z.px(),2) -
pow(pv_Z.py(),2) -
pow(pv_Z.pz(),2));
90 if((
pow(mWflat,2) -
pow(mW,2))/
pow(pTW,2) < 1.0){
91 apT = sqrt(1 - (
pow(mWflat,2) -
pow(mW,2))/
pow(pTW,2));
97 pv_W.px(apT*pv_W.px());
98 pv_W.py(apT*pv_W.py());
103 pv_Z.px(apT*pv_Z.px());
104 pv_Z.py(apT*pv_Z.py());
106 d_Z.m(sqrt(
pow(pv_Z.e(),2) -
pow(pv_Z.px(),2) -
pow(pv_Z.py(),2) -
pow(pv_Z.pz(),2)));
107 double mZref = d_Z.m();
◆ getFlatmW()
double Pythia8::WprimeWZFlatPtMass6::getFlatmW |
( |
double |
mW | ) |
|
|
inlineprivate |
◆ multiplySigmaBy()
virtual double Pythia8::WprimeWZFlatPtMass6::multiplySigmaBy |
( |
const SigmaProcess * |
sigmaProcessPtr, |
|
|
const PhaseSpace * |
phaseSpacePtr, |
|
|
bool |
|
|
) |
| |
|
inlinevirtual |
Definition at line 29 of file WprimeWZFlatPtMass6.cxx.
33 if (sigmaProcessPtr->nFinal() != 1)
return 0.;
40 int idRes = sigmaProcessPtr->resonanceA();
41 double mRes = particleDataPtr->m0(idRes);
42 double wRes = particleDataPtr->mWidth(idRes);
43 double m2Res = mRes*mRes;
44 double gamMRat = wRes/mRes;
45 double sHat = phaseSpacePtr->sHat();
46 double weightBW = m2Res*m2Res + sHat*sHat*(1 + gamMRat*gamMRat) - 2.*sHat*m2Res;
47 double rH = sqrt(sHat);
◆ pTWeight()
double Pythia8::WprimeWZFlatPtMass6::pTWeight |
( |
double |
rH | ) |
|
|
inlineprivate |
Definition at line 193 of file WprimeWZFlatPtMass6.cxx.
195 double pe0 = 9.705/2000.;
196 double pe1 = -1.27668e-03;
198 double weightHighpT =1./(
exp(pe0+pe1*rH));
200 double p0 = 0.00405295;
201 double p1 = -1.15389e-06;
202 double p2 = -8.83305e-10;
203 double p3 = 1.02983e-12;
204 double p4 = -3.64486e-16;
205 double p5 = 6.05783e-20;
206 double p6 = -4.74988e-24;
207 double p7 = 1.40627e-28;
210 if(rH < 400.) weightFinal *= 0.5;
212 return weightHighpT * weightFinal;
◆ RescaleDaughters()
void Pythia8::WprimeWZFlatPtMass6::RescaleDaughters |
( |
Particle & |
d1_W, |
|
|
Particle & |
d2_W, |
|
|
Vec4 |
pv_W, |
|
|
Vec4 |
pv_W_orig, |
|
|
double |
mW, |
|
|
double |
mWflat |
|
) |
| |
|
inlineprivate |
boost to the W boson rest-frame
boost back to the lab frame using edited pvW
Definition at line 145 of file WprimeWZFlatPtMass6.cxx.
147 Vec4 pd1_W = d1_W.p();
148 Vec4 pd2_W = d2_W.p();
150 pd1_W.bstback(pv_W_orig);
151 pd2_W.bstback(pv_W_orig);
153 double m1_W_orig = sqrt(
pow(pd1_W.e(),2) -
pow(pd1_W.px(),2) -
pow(pd1_W.py(),2) -
pow(pd1_W.pz(),2));
154 double m2_W_orig = sqrt(
pow(pd2_W.e(),2) -
pow(pd2_W.px(),2) -
pow(pd2_W.py(),2) -
pow(pd2_W.pz(),2));
155 double mWchild = sqrt(
pow(pd1_W.e()+pd2_W.e(),2)-
pow(pd1_W.px()+pd2_W.px(),2)-
pow(pd1_W.py()+pd2_W.py(),2)-
pow(pd1_W.pz()+pd2_W.pz(),2));
157 double r_W_orig = 1 - (
pow(m1_W_orig,2) +
pow(m2_W_orig,2))/
pow(mW,2);
158 double r_W_flat = 1 - (
pow(m1_W_orig,2) +
pow(m2_W_orig,2))/
pow(mWflat,2);
159 double mR_W = (mWflat*r_W_flat)/(mWchild*r_W_orig);
162 pd1_W.px(mR_W*pd1_W.px());
163 pd1_W.py(mR_W*pd1_W.py());
164 pd1_W.pz(mR_W*pd1_W.pz());
165 pd1_W.e(sqrt(
pow(pd1_W.px(),2)+
pow(pd1_W.py(),2)+
pow(pd1_W.pz(),2)+
pow(m1_W_orig,2)));
167 pd2_W.px(mR_W*pd2_W.px());
168 pd2_W.py(mR_W*pd2_W.py());
169 pd2_W.pz(mR_W*pd2_W.pz());
170 pd2_W.e(sqrt(
pow(pd2_W.px(),2)+
pow(pd2_W.py(),2)+
pow(pd2_W.pz(),2)+
pow(m2_W_orig,2)));
173 pd1_W.bst(pv_W); d1_W.p(pd1_W);
174 pd2_W.bst(pv_W); d2_W.p(pd2_W);
175 double m1_W = sqrt(
pow(pd1_W.e(),2) -
pow(pd1_W.px(),2) -
pow(pd1_W.py(),2) -
pow(pd1_W.pz(),2));
176 double m2_W = sqrt(
pow(pd2_W.e(),2) -
pow(pd2_W.px(),2) -
pow(pd2_W.py(),2) -
pow(pd2_W.pz(),2));
◆ m_flatMass
◆ m_flatpT
The documentation for this class was generated from the following file: