11 #ifndef Pythia8_PhaseSpace_H 12 #define Pythia8_PhaseSpace_H 14 #include "Pythia8/Basics.h" 15 #include "Pythia8/BeamParticle.h" 16 #include "Pythia8/Info.h" 17 #include "Pythia8/LesHouches.h" 18 #include "Pythia8/MultipartonInteractions.h" 19 #include "Pythia8/ParticleData.h" 20 #include "Pythia8/PartonDistributions.h" 21 #include "Pythia8/PhysicsBase.h" 22 #include "Pythia8/PythiaStdlib.h" 23 #include "Pythia8/SigmaProcess.h" 24 #include "Pythia8/SigmaTotal.h" 25 #include "Pythia8/Settings.h" 26 #include "Pythia8/StandardModel.h" 27 #include "Pythia8/UserHooks.h" 28 #include "Pythia8/GammaKinematics.h" 50 void init(
bool isFirst, SigmaProcessPtr sigmaProcessPtrIn);
54 idB = beamBPtr->
id(); mA = beamAPtr->m(); mB = beamBPtr->m();
58 void newECM(
double eCMin) {eCM = eCMin; s = eCM * eCM;}
69 virtual bool trialKin(
bool inEvent =
true,
bool repeatSame =
false) = 0;
80 double sigmaMax()
const {
return sigmaMx;}
81 double biasSelectionWeight()
const {
return biasWt;}
83 void setSigmaMax(
double sigmaMaxIn) {sigmaMx = sigmaMaxIn;}
87 sigmaMx = sigmaNw;
return sigmaMx;}
93 Vec4 p(
int i)
const {
return pH[i];}
94 double m(
int i)
const {
return mH[i];}
100 double ecm()
const {
return eCM;}
101 double x1()
const {
return x1H;}
102 double x2()
const {
return x2H;}
103 double sHat()
const {
return sH;}
104 double tHat()
const {
return tH;}
105 double uHat()
const {
return uH;}
106 double pTHat()
const {
return pTH;}
107 double thetaHat()
const {
return theta;}
108 double phiHat()
const {
return phi;}
109 double runBW3()
const {
return runBW3H;}
110 double runBW4()
const {
return runBW4H;}
111 double runBW5()
const {
return runBW5H;}
119 virtual void rescaleMomenta(
double){}
133 showViolation(), increaseMaximum(), hasQ2Min(), gmZmodeGlobal(),
134 mHatGlobalMin(), mHatGlobalMax(), pTHatGlobalMin(),
135 pTHatGlobalMax(), Q2GlobalMin(), Q2GlobalMax(), pTHatMinDiverge(),
136 minWidthBreitWigners(), minWidthNarrowBW(),
idA(), idB(),
137 idAold(), idBold(), idAgm(), idBgm(), mA(), mB(), eCM(), s(),
138 sigmaMxGm(), hasLeptonBeamA(), hasLeptonBeamB(),
139 hasOneLeptonBeam(), hasTwoLeptonBeams(), hasPointGammaA(),
140 hasPointGammaB(), hasOnePointParticle(), hasTwoPointParticles(),
141 hasGamma(), hasVMD(),
newSigmaMx(), canModifySigma(),
142 canBiasSelection(), canBias2Sel(), gmZmode(), bias2SelPow(),
143 bias2SelRef(), wtBW(), sigmaNw(), sigmaMx(), sigmaPos(),
144 sigmaNeg(), biasWt(),
mHatMin(), mHatMax(), sHatMin(), sHatMax(),
145 pTHatMin(), pTHatMax(), pT2HatMin(), pT2HatMax(),
x1H(), x2H(),
146 m3(), m4(), m5(), s3(), s4(), s5(), mHat(), sH(), tH(), uH(),
147 pAbs(), p2Abs(), pTH(), theta(), phi(), betaZ(), mH(),
idResA(),
148 idResB(), mResA(), mResB(), GammaResA(), GammaResB(), tauResA(),
150 hasNegZ(), hasPosZ(), tau(), y(), z(), tauMin(), tauMax(), yMax(),
151 zMin(), zMax(), ratio34(), unity34(), zNeg(), zPos(), wtTau(),
152 wtY(), wtZ(), wt3Body(), runBW3H(), runBW4H(), runBW5H(),
153 intTau0(), intTau1(), intTau2(), intTau3(), intTau4(), intTau5(),
154 intTau6(), intY0(), intY12(), intY34(), intY56(), mTchan1(),
155 sTchan1(), mTchan2(), sTchan2(), frac3Flat(), frac3Pow1(),
156 frac3Pow2(), zNegMin(), zNegMax(), zPosMin(), zPosMax(),
nTau(),
157 nY(), nZ(), tauCoef(), yCoef(), zCoef(), tauCoefSum(), yCoefSum(),
158 zCoefSum(),
useBW(), useNarrowBW(), idMass(), mPeak(), sPeak(),
159 mWidth(), mMin(), mMax(), mw(), wmRat(), mLower(), mUpper(),
160 sLower(), sUpper(), fracFlatS(), fracFlatM(), fracInv(),
161 fracInv2(), atanLower(), atanUpper(), intBW(), intFlatS(),
162 intFlatM(), intInv(), intInv2(),
doTopPair(), topThresholdModel(),
163 topThresholdWidth(), eThreshold(), m3Threshold(), m4Threshold() {}
170 LEPTONXMAX, LEPTONXLOGMIN, LEPTONXLOGMAX, LEPTONTAUMIN,
184 increaseMaximum, hasQ2Min;
186 double mHatGlobalMin, mHatGlobalMax, pTHatGlobalMin, pTHatGlobalMax,
187 Q2GlobalMin, Q2GlobalMax, pTHatMinDiverge, minWidthBreitWigners,
191 int idA, idB, idAold, idBold, idAgm, idBgm;
192 double mA, mB, eCM, s, sigmaMxGm;
193 bool hasLeptonBeamA, hasLeptonBeamB, hasOneLeptonBeam, hasTwoLeptonBeams,
194 hasPointGammaA, hasPointGammaB, hasOnePointParticle,
195 hasTwoPointParticles, hasGamma, hasVMD;
198 bool newSigmaMx, canModifySigma, canBiasSelection, canBias2Sel;
200 double bias2SelPow, bias2SelRef, wtBW, sigmaNw, sigmaMx, sigmaPos,
204 double mHatMin, mHatMax, sHatMin, sHatMax, pTHatMin, pTHatMax,
205 pT2HatMin, pT2HatMax;
208 double x1H, x2H, m3, m4, m5, s3, s4, s5, mHat, sH, tH, uH, pAbs, p2Abs,
209 pTH, theta, phi, betaZ;
223 bool trialKin123(
bool is2,
bool is3,
bool inEvent =
true);
227 double mResA, mResB, GammaResA, GammaResB, tauResA, tauResB, widResA,
233 double tau, y, z, tauMin, tauMax, yMax, zMin, zMax, ratio34, unity34,
234 zNeg, zPos, wtTau, wtY, wtZ, wt3Body, runBW3H, runBW4H, runBW5H,
235 intTau0, intTau1, intTau2, intTau3, intTau4, intTau5, intTau6,
236 intY0, intY12, intY34, intY56, mTchan1, sTchan1, mTchan2, sTchan2,
237 frac3Flat, frac3Pow1, frac3Pow2, zNegMin, zNegMax, zPosMin, zPosMax;
238 Vec4 p3cm, p4cm, p5cm;
242 double tauCoef[8], yCoef[8], zCoef[8], tauCoefSum[8], yCoefSum[8],
251 void selectTau(
int iTau,
double tauVal,
bool is2);
252 void selectY(
int iY,
double yVal);
253 void selectZ(
int iZ,
double zVal);
257 void solveSys(
int n,
int bin[8],
double vec[8],
double mat[8][8],
263 double mPeak[6], sPeak[6], mWidth[6], mMin[6], mMax[6], mw[6], wmRat[6],
264 mLower[6], mUpper[6], sLower[6], sUpper[6], fracFlatS[6],
265 fracFlatM[6], fracInv[6], fracInv2[6], atanLower[6], atanUpper[6],
266 intBW[6], intFlatS[6], intFlatM[6], intInv[6], intInv2[6];
270 int topThresholdModel;
271 double topThresholdWidth, eThreshold, m3Threshold, m4Threshold;
283 pair<double,double>
tRange(
double sIn,
double s1In,
double s2In,
284 double s3In,
double s4In) {
285 double lambda12 =
pow2( sIn - s1In - s2In) - 4. * s1In * s2In;
286 double lambda34 =
pow2( sIn - s3In - s4In) - 4. * s3In * s4In;
287 if (lambda12 < 0. || lambda34 < 0.)
return make_pair( 0., 0.);
288 double tLow = -0.5 * (sIn - (s1In + s2In + s3In + s4In) + (s1In - s2In)
289 * (s3In - s4In) / sIn +
sqrtpos(lambda12 * lambda34) / sIn);
290 double tUpp = ( (s3In - s1In) * (s4In - s2In) + (s1In + s4In - s2In - s3In)
291 * (s1In * s4In - s2In * s3In) / sIn ) / tLow;
292 return make_pair( tLow, tUpp); }
293 bool tInRange(
double tIn,
double sIn,
double s1In,
double s2In,
294 double s3In,
double s4In) {
295 pair<double, double> tRng =
tRange( sIn, s1In, s2In, s3In, s4In);
296 return (tIn > tRng.first && tIn < tRng.second); }
322 virtual bool trialKin(
bool inEvent =
true,
bool =
false) {wtBW = 1.;
351 virtual bool trialKin(
bool inEvent =
true,
bool =
false) {
352 if (!trialMasses())
return false;
360 virtual void rescaleMomenta (
double sHatNew);
377 bool constrainedM3M4();
378 bool constrainedM3();
379 bool constrainedM4();
393 lambda12S(), lambda12(), lambda34(), tempA(), tempB(), tempC(),
394 tLow(), tUpp(), bSlope1(), bSlope2(), sigRef1(), sigRef2(),
395 sigRef(), sigNorm1(), sigNorm2(), sigNorm3(), sigNormSum(), rel2() {}
399 virtual bool trialKin(
bool inEvent =
true,
bool =
false);
408 static const int NTRY;
409 static const double BNARROW, BWIDE, WIDEFRAC, TOFFSET;
412 bool isOneExp, useCoulomb;
413 double s1, s2, alphaEM0, lambda12S, lambda12, lambda34, tempA, tempB, tempC,
414 tLow, tUpp, bSlope1, bSlope2, sigRef1, sigRef2, sigRef,
415 sigNorm1, sigNorm2, sigNorm3, sigNormSum, rel2;
429 : isDiffA(isDiffAin), isDiffB(isDiffBin), splitxit(), m3ElDiff(),
430 m4ElDiff(), s1(), s2(), xiMin(), xiMax(), xiNow(), sigNow(), sigMax(),
431 sigMaxNow(), lambda12(), lambda34(), bNow(), tempA(), tempB(), tempC(),
432 tLow(), tUpp(), tWeight(), fWid1(), fWid2(), fWid3(), fWid4(), fbWid1(),
433 fbWid2(), fbWid3(), fbWid4(), fbWid1234() {isSD = !isDiffA || !isDiffB;}
437 virtual bool trialKin(
bool inEvent =
true,
bool =
false);
446 static const int NTRY;
447 static const double BWID1, BWID2, BWID3, BWID4, FWID1SD, FWID2SD, FWID3SD,
448 FWID4SD, FWID1DD, FWID2DD, FWID3DD, FWID4DD, MAXFUDGESD,
449 MAXFUDGEDD, MAXFUDGET, DIFFMASSMARGIN, SPROTON;
452 bool isDiffA, isDiffB, isSD, splitxit;
458 double m3ElDiff, m4ElDiff, s1, s2, xiMin, xiMax, xiNow, sigNow, sigMax,
459 sigMaxNow, lambda12, lambda34, bNow, tempA, tempB, tempC,
460 tLow, tUpp, tWeight, fWid1, fWid2, fWid3, fWid4, fbWid1, fbWid2,
461 fbWid3, fbWid4, fbWid1234;
476 s5min(), sigNow(), sigMax(), sigMaxNow(), xiMin(), xi1(), xi2(), fWid1(),
477 fWid2(), fWid3(), fbWid1(), fbWid2(), fbWid3(), fbWid123() {}
481 virtual bool trialKin(
bool inEvent =
true,
bool =
false);
490 static const int NTRY;
491 static const double BWID1, BWID2, BWID3, BWID4, FWID1, FWID2, FWID3,
492 MAXFUDGECD, MAXFUDGET, DIFFMASSMARGIN;
498 double s1, s2, m5min, s5min, sigNow, sigMax, sigMaxNow, xiMin, xi1, xi2,
499 fWid1, fWid2, fWid3, fbWid1, fbWid2, fbWid3, fbWid123;
500 Vec4 p1, p2, p3, p4, p5;
518 virtual bool trialKin(
bool ,
bool =
false);
543 virtual bool trialKin(
bool inEvent =
true,
bool =
false) {
544 if (!trialMasses())
return false;
553 static const int NITERNR;
575 RsepMin(), R2sepMin(), hasBaryonBeams(), pT3Min(), pT3Max(), pT5Min(),
576 pT5Max(), y3Max(), y4Max(), y5Max(), pT3(), pT4(), pT5(), phi3(), phi4(),
577 phi5(), y3(), y4(), y5(), dphi() {}
583 virtual bool trialKin(
bool inEvent =
true,
bool =
false);
591 double pTHat3Min, pTHat3Max, pTHat5Min, pTHat5Max, RsepMin, R2sepMin;
595 double pT3Min, pT3Max, pT5Min, pT5Max, y3Max, y4Max, y5Max,
596 pT3, pT4, pT5, phi3, phi4, phi5, y3, y4, y5, dphi;
611 xMaxAbsSum(), xSecSgnSum(), sigmaSgn() {}
617 virtual bool trialKin(
bool ,
bool repeatSame =
false);
628 static const double CONVERTPB2MB;
631 int strategy, stratAbs, nProc, idProcSave;
632 double xMaxAbsSum, xSecSgnSum, sigmaSgn;
634 vector<double> xMaxAbsProc;
665 double genPoint(
double eCM,
int nOut, vector<Vec4>& pOut);
670 double genPoint(
double eCM, vector<double> mIn, vector<Vec4>& pOut);
void decayKinematicsStep(Event &process, int iRes)
Reselect decay products momenta isotropically in phase space.
Definition: PhaseSpace.cc:303
A derived class with 2 -> 2 kinematics set up for diffractive scattering.
Definition: PhaseSpace.h:423
constexpr double pow2(const double &x)
Powers of small integers - for balance speed/code clarity.
Definition: PythiaStdlib.h:173
virtual double weightGammaPDFApprox()
Calculate the weight for over-estimated cross section.
Definition: PhaseSpace.h:122
Vec4 p(int i) const
Give back constructed four-vectors and known masses.
Definition: PhaseSpace.h:93
static const double SAMEMASS
Special optimization treatment when two resonances at almost same mass.
Definition: PhaseSpace.h:167
void decayKinematics(Event &process)
Allow for nonisotropic decays when ME's available.
Definition: PhaseSpace.cc:245
static const double EXTRABWWTMAX
When using Breit-Wigners in 2 -> 2 raise maximum weight estimate.
Definition: PhaseSpace.h:167
static const double SAFETYMARGIN
Maximum cross section increase, just in case true maximum not found.
Definition: PhaseSpace.h:167
virtual bool trialKin(bool inEvent=true, bool=false)
Construct the trial kinematics.
Definition: PhaseSpace.h:351
PhaseSpace2to2tauyz()
Constructor.
Definition: PhaseSpace.h:344
A derived class for Les Houches events.
Definition: PhaseSpace.h:605
bool useBW[6]
Properties specific to resonance mass selection in 2 -> 2 and 2 -> 3.
Definition: PhaseSpace.h:261
double ecm() const
Give back other event properties.
Definition: PhaseSpace.h:100
bool select3Body()
Definition: PhaseSpace.cc:1575
Definition: PhysicsBase.h:26
Definition: PhaseSpace.h:506
bool doTopPair
Properties specific to top threshold enhancement.
Definition: PhaseSpace.h:269
void setupMass1(int iM)
Setup mass selection for one resonance at a time. Split in two parts.
Definition: PhaseSpace.cc:1780
void trialMass(int iM)
Do mass selection and find the associated weight.
Definition: PhaseSpace.cc:1875
bool limitTau(bool is2, bool is3)
Calculate kinematical limits for 2 -> 1/2/3.
Definition: PhaseSpace.cc:1149
The Event class holds all info on the generated event.
Definition: Event.h:408
A derived class with 2 -> 1 kinematics set up in tau, y.
Definition: PhaseSpace.h:310
PhaseSpace2to3tauycyl()
Constructor.
Definition: PhaseSpace.h:536
static const int NTRY3BODY
Number of three-body trials in phase space optimization.
Definition: PhaseSpace.h:166
A derived class with 2 -> 2 kinematics set up for elastic scattering.
Definition: PhaseSpace.h:387
static const double SHATMINZ
Safety to avoid division with unreasonably small value for z selection.
Definition: PhaseSpace.h:167
static const double LEPTONXMIN
Definition: PhaseSpace.h:167
double sigmaMaxSwitch()
New value for switched beam identity or energy (for SoftQCD processes).
Definition: PhaseSpace.h:86
virtual bool setupSampling()
Optimize subsequent kinematics selection.
Definition: PhaseSpace.h:347
bool newSigmaMx
Cross section information.
Definition: PhaseSpace.h:198
virtual bool setupSampling()
Optimize subsequent kinematics selection.
Definition: PhaseSpace.h:318
virtual bool trialKin(bool inEvent=true, bool=false)
Construct the trial kinematics.
Definition: PhaseSpace.h:322
Rndm * rndmPtr
Pointer to the random number generator.
Definition: PhysicsBase.h:97
void setupMass2(int iM, double distToThresh)
Setup mass selection for one resonance at a time - part 2.
Definition: PhaseSpace.cc:1824
virtual double sigmaSumSigned() const
For Les Houches with negative event weight needs.
Definition: PhaseSpace.h:90
bool limitZ()
Find range of allowed z = cos(theta) values.
Definition: PhaseSpace.cc:1206
virtual bool isResolved() const
Inform whether beam particles are resolved in partons or scatter directly.
Definition: PhaseSpace.h:114
void newECM(double eCMin)
Update the CM energy of the event.
Definition: PhaseSpace.h:58
static const double THRESHOLDSIZE
Size of Breit-Wigner threshold region, for mass selection biasing.
Definition: PhaseSpace.h:167
virtual bool setupSampling()
Optimize subsequent kinematics selection.
Definition: PhaseSpace.h:539
virtual void setGammaKinPtr(GammaKinematics *gammaKinPtrIn)
Set the GammaKinematics pointer needed for soft photoproduction.
Definition: PhaseSpace.h:125
GammaKinematics * gammaKinPtr
Pointer to object that samples photon kinematics from leptons.
Definition: PhaseSpace.h:180
static const double MRESMINABS
Do not allow resonance to have mass below 2 m_e.
Definition: PhaseSpace.h:167
void init(bool isFirst, SigmaProcessPtr sigmaProcessPtrIn)
Perform simple initialization and store pointers.
Definition: PhaseSpace.cc:88
virtual bool finalKin()
Definition: PhaseSpace.h:519
PhaseSpace2to3yyycyl()
Constructor.
Definition: PhaseSpace.h:574
virtual bool isResolved() const
Are beam particles resolved in partons or scatter directly?
Definition: PhaseSpace.h:403
static const double SAMESIGMA
Two cross sections with a small relative error are assumed same.
Definition: PhaseSpace.h:167
static const double WTCORRECTION[11]
Definition: PhaseSpace.h:167
Rambo(Rndm *rndmPtrIn)
Initializing constructor.
Definition: PhaseSpace.h:655
PhaseSpaceLHA()
Constructor.
Definition: PhaseSpace.h:610
void solveSys(int n, int bin[8], double vec[8], double mat[8][8], double coef[8])
Solve equation system for better phase space coefficients in 2 -> 1/2/3.
Definition: PhaseSpace.cc:1703
virtual bool finalKin()
Set scale, alpha_s and alpha_em if not done.
Definition: PhaseSpace.h:620
Definition: PhaseSpace.h:470
int idResA
Presence and properties of any s-channel resonances.
Definition: PhaseSpace.h:226
bool useMirrorWeight
Kinematics properties specific to 2 -> 1/2/3.
Definition: PhaseSpace.h:232
int idA
Information on incoming beams.
Definition: PhaseSpace.h:191
virtual bool trialKin(bool inEvent=true, bool repeatSame=false)=0
virtual ~Rambo()
Destructor.
Definition: PhaseSpace.h:658
int nTau
Coefficients for optimized selection in 2 -> 1/2/3.
Definition: PhaseSpace.h:241
virtual ~PhaseSpace()
Destructor.
Definition: PhaseSpace.h:47
double weightMass(int iM)
Definition: PhaseSpace.cc:1919
PhaseSpace2to2diffractive(bool isDiffAin=false, bool isDiffBin=false)
Constructor.
Definition: PhaseSpace.h:428
static const int NMAXTRY
Constants: could only be changed in the code itself.
Definition: PhaseSpace.h:166
bool setupSampling123(bool is2, bool is3)
Determine how phase space should be sampled.
Definition: PhaseSpace.cc:506
PhaseSpace()
Constructor.
Definition: PhaseSpace.h:131
static const double EVENFRAC
Fraction of total weight that is shared evenly between all shapes.
Definition: PhaseSpace.h:167
PhaseSpace2to3diffractive()
Constructor.
Definition: PhaseSpace.h:475
Rambo flat phase-space generator.
Definition: PhaseSpace.h:647
void selectTau(int iTau, double tauVal, bool is2)
Select kinematical variable between defined limits for 2 -> 1/2/3.
Definition: PhaseSpace.cc:1256
void setP(int i, Vec4 pNew)
Reset the four-momentum.
Definition: PhaseSpace.h:97
int id() const
Member functions for output.
Definition: BeamParticle.h:195
LHAupPtr lhaUpPtr
Pointer to LHAup for generating external events.
Definition: PhaseSpace.h:177
PhaseSpace2to2elastic()
Constructor.
Definition: PhaseSpace.h:392
void selectY(int iY, double yVal)
Select y according to a choice of shapes.
Definition: PhaseSpace.cc:1373
PhaseSpace2to2nondiffractive()
Constructor.
Definition: PhaseSpace.h:514
static const double YRANGEMARGIN
Minimal rapidity range for allowed open range (in 2 -> 3).
Definition: PhaseSpace.h:167
static const double TINY
Small number to avoid division by zero.
Definition: PhaseSpace.h:167
Class to sample the virtuality and transverse momentum of emitted photons.
Definition: GammaKinematics.h:23
virtual double sigmaSumSigned() const
For Les Houches with negative event weight needs.
Definition: PhaseSpace.h:623
pair< double, double > tRange(double sIn, double s1In, double s2In, double s3In, double s4In)
Definition: PhaseSpace.h:283
virtual void rescaleSigma(double)
Definition: PhaseSpace.h:118
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
static const double PT2RATMINZ
Regularization for small pT2min in z = cos(theta) selection.
Definition: PhaseSpace.h:167
virtual bool isResolved() const
Are beam particles resolved in partons or scatter directly?
Definition: PhaseSpace.h:441
void setup3Body()
Much common code for normal 2 -> 1, 2 -> 2 and 2 -> 3 cases:
Definition: PhaseSpace.cc:482
Definition: PhaseSpace.h:531
bool limitY()
Find range of allowed y values.
Definition: PhaseSpace.cc:1183
virtual bool isResolved() const
Are beam particles resolved in partons or scatter directly?
Definition: PhaseSpace.h:485
Definition: PhaseSpace.h:42
void setLHAPtr(LHAupPtr lhaUpPtrIn)
Store or replace Les Houches pointer.
Definition: PhaseSpace.h:61
bool useBreitWigners
Initialization data, normally only set once.
Definition: PhaseSpace.h:183
static const double THRESHOLDSTEP
Step size in optimal-mass search, for mass selection biasing.
Definition: PhaseSpace.h:167
double mHatMin
Process-specific kinematics properties, almost always available.
Definition: PhaseSpace.h:204
virtual bool trialKin(bool inEvent=true, bool=false)
Construct the trial kinematics.
Definition: PhaseSpace.h:543
double x1H
Event-specific kinematics properties, almost always available.
Definition: PhaseSpace.h:208
static const double MASSMARGIN
Minimum phase space left when kinematics constraints are combined.
Definition: PhaseSpace.h:167
void updateBeamIDs()
Switch to new beam particle identities; for similar hadrons only.
Definition: PhaseSpace.h:53
bool trialKin123(bool is2, bool is3, bool inEvent=true)
Select a trial kinematics phase space point.
Definition: PhaseSpace.cc:1000
static const double WIDTHMARGIN
Do not include resonances peaked too far outside allowed mass region.
Definition: PhaseSpace.h:167
double sigmaNow() const
Give back current or maximum cross section, or set latter.
Definition: PhaseSpace.h:79
virtual bool finalKin()=0
Rambo()
Deafult constructor.
Definition: PhaseSpace.h:652
SigmaProcessPtr sigmaProcessPtr
Pointer to cross section.
Definition: PhaseSpace.h:174
PhaseSpace2to1tauy()
Constructor.
Definition: PhaseSpace.h:315
void selectZ(int iZ, double zVal)
Definition: PhaseSpace.cc:1453
double sqrtpos(const double &x)
Avoid problem with negative square root argument (from roundoff).
Definition: PythiaStdlib.h:182
void initPtr(Rndm *rndmPtrIn)
Initialize pointers.
Definition: PhaseSpace.h:661
A derived class with 2 -> 2 kinematics set up in tau, y, z = cos(theta).
Definition: PhaseSpace.h:339
virtual bool setupSampling()=0
bool finalize()
Save the accepted values for further use.
Definition: GammaKinematics.cc:319
Definition: PhaseSpace.h:569