|
|
|||
File indexing completed on 2026-08-06 09:24:16
0001 // -*- C++ -*- 0002 #ifndef HERWIG_MEPP2VVPowheg_H 0003 #define HERWIG_MEPP2VVPowheg_H 0004 // 0005 // This is the declaration of the MEPP2VVPowheg class. 0006 // 0007 0008 #include "Herwig/MatrixElement/Hadron/MEPP2VV.h" 0009 #include "Herwig/MatrixElement/Powheg/VVKinematics.h" 0010 #include "Herwig/Utilities/Maths.h" 0011 #include "Herwig/Models/StandardModel/StandardCKM.h" 0012 #include "Herwig/Shower/ShowerAlpha.h" 0013 0014 namespace Herwig { 0015 using namespace ThePEG; 0016 using Math::ReLi2; 0017 using Constants::pi; 0018 0019 /** 0020 * Here is the documentation of the MEPP2VVPowheg class. 0021 * 0022 * @see \ref MEPP2VVPowhegInterfaces "The interfaces" 0023 * defined for MEPP2VVPowheg. 0024 */ 0025 class MEPP2VVPowheg: public MEPP2VV { 0026 0027 public: 0028 0029 /** 0030 * The default constructor. 0031 */ 0032 MEPP2VVPowheg(); 0033 0034 /** @name Member functions for the generation of hard QCD radiation */ 0035 //@{ 0036 /** 0037 * Has a POWHEG style correction 0038 */ 0039 virtual POWHEGType hasPOWHEGCorrection() {return ISR;} 0040 0041 /** 0042 * Apply the POWHEG style correction 0043 */ 0044 virtual RealEmissionProcessPtr generateHardest(RealEmissionProcessPtr, 0045 ShowerInteraction inter); 0046 //@} 0047 0048 public: 0049 0050 /** 0051 * Generate internal degrees of freedom given nDim() uniform 0052 * random numbers in the interval \f$ ]0,1[ \f$. To help the phase space 0053 * generator, the dSigHatDR should be a smooth function of these 0054 * numbers, although this is not strictly necessary. 0055 * @param r a pointer to the first of nDim() consecutive random numbers. 0056 * @return true if the generation succeeded, otherwise false. 0057 */ 0058 virtual bool generateKinematics(const double * r); 0059 0060 /** 0061 * The number of internal degrees of freedom used in the matrix 0062 * element. 0063 */ 0064 virtual int nDim() const; 0065 0066 /** 0067 * The matrix element for the kinematical configuration 0068 * previously provided by the last call to setKinematics(), suitably 0069 * scaled by sHat() to give a dimension-less number. 0070 * @return the matrix element scaled with sHat() to give a 0071 * dimensionless number. 0072 */ 0073 virtual double me2() const; 0074 0075 /** 0076 * Return the scale associated with the last set phase space point. 0077 */ 0078 virtual Energy2 scale() const; 0079 0080 /** 0081 * This member check the collinear limits of the 0082 * real emission matrix elements are equal to the 0083 * appropriate combinations of Born ME's multiplied 0084 * by the splitting functions. 0085 */ 0086 bool sanityCheck() const; 0087 0088 /** 0089 * Return the CKM matrix elements. 0090 */ 0091 Complex CKM(int ix,int iy) const { return ckm_[ix][iy]; } 0092 0093 public: 0094 0095 /** @name Functions used by the persistent I/O system. */ 0096 //@{ 0097 /** 0098 * Function used to write out object persistently. 0099 * @param os the persistent output stream written to. 0100 */ 0101 void persistentOutput(PersistentOStream & os) const; 0102 0103 /** 0104 * Function used to read in object persistently. 0105 * @param is the persistent input stream read from. 0106 * @param version the version number of the object when written. 0107 */ 0108 void persistentInput(PersistentIStream & is, int version); 0109 //@} 0110 0111 /** 0112 * The standard Init function used to initialize the interfaces. 0113 * Called exactly once for each class by the class description system 0114 * before the main function starts or 0115 * when this class is dynamically loaded. 0116 */ 0117 static void Init(); 0118 0119 protected: 0120 0121 /** @name Standard Interfaced functions. */ 0122 //@{ 0123 /** 0124 * Initialize this object after the setup phase before saving an 0125 * EventGenerator to disk. 0126 * @throws InitException if object could not be initialized properly. 0127 */ 0128 virtual void doinit(); 0129 //@} 0130 0131 public: 0132 0133 /** 0134 * Function to set the born variables. 0135 */ 0136 void getKinematics(double xt, double y, double theta2); 0137 0138 /** 0139 * Calculate the correction weight with which leading-order 0140 * configurations are re-weighted. 0141 */ 0142 double NLOweight() const; 0143 0144 /** 0145 * Calculate the ratio of the NLO luminosity to the LO 0146 * luminosity function for the \f$q\bar{q}\f$ initiated channel. 0147 */ 0148 double Lhat_ab(tcPDPtr a, tcPDPtr b, realVVKinematics Kinematics) const; 0149 0150 /** 0151 * Calculate the universal soft-virtual contribution to the NLO weight. 0152 */ 0153 double Vtilde_universal(realVVKinematics S) const; 0154 0155 /** 0156 * Function for calculation of the \f$q\bar{q}\f$ initiated real 0157 * contribution. 0158 */ 0159 double Ctilde_Ltilde_qq_on_x(tcPDPtr a,tcPDPtr b,realVVKinematics C) const; 0160 0161 /** 0162 * Function for calculation of the \f$gq\f$ initiated real 0163 * contribution. 0164 */ 0165 double Ctilde_Ltilde_gq_on_x(tcPDPtr a,tcPDPtr b,realVVKinematics C) const; 0166 0167 /** 0168 * Function for calculation of the \f$q\bar{q}\f$ initiated real 0169 * contribution. 0170 */ 0171 double Rtilde_Ltilde_qqb_on_x(tcPDPtr a,tcPDPtr b) const; 0172 0173 /** 0174 * Function for calculation of the \f$qg\f$ initiated real 0175 * contribution. 0176 */ 0177 double Rtilde_Ltilde_qg_on_x(tcPDPtr a,tcPDPtr b) const; 0178 0179 /** 0180 * Function for calculation of the \f$gqb\f$ initiated real 0181 * contribution. 0182 */ 0183 double Rtilde_Ltilde_gqb_on_x(tcPDPtr a,tcPDPtr b) const; 0184 0185 /** 0186 * The regular part of the virtual correction matrix element(s). 0187 * For WZ production this is given by Equation B.2 in NPB 383 (1992) 0188 * 3-44 *** modulo a factor 1/(2s) ***, which is a flux factor that 0189 * those authors absorb in the matrix element. 0190 */ 0191 double M_V_regular(realVVKinematics S) const; 0192 0193 /** 0194 * Member variable to store the 0195 * regular part of the virtual correction matrix element(s). 0196 * For WZ production this is given by Equation B.2 in NPB 383 (1992) 0197 * 3-44 *** modulo a factor 1/(2s) ***, which is a flux factor that 0198 * those authors absorb in the matrix element. 0199 */ 0200 mutable double M_V_regular_; 0201 0202 /** 0203 * The matrix element q + qb -> n + g times tk*uk 0204 */ 0205 Energy2 t_u_M_R_qqb(realVVKinematics R) const; 0206 0207 /** 0208 * Member variable to store the matrix element q + qb -> n + g times tk*uk 0209 */ 0210 mutable Energy2 t_u_M_R_qqb_; 0211 0212 /** 0213 * The matrix element q + g -> n + q times tk*uk 0214 */ 0215 Energy2 t_u_M_R_qg(realVVKinematics R) const; 0216 0217 /** 0218 * Member variable to store the matrix element q + g -> n + q times tk*uk 0219 */ 0220 mutable Energy2 t_u_M_R_qg_; 0221 0222 /** 0223 * The matrix element g + qb -> n + q times tk*uk 0224 */ 0225 Energy2 t_u_M_R_gqb(realVVKinematics R) const; 0226 0227 /** 0228 * Member variable to store the matrix element g + qb -> n + q times tk*uk 0229 */ 0230 mutable Energy2 t_u_M_R_gqb_; 0231 0232 /** 0233 * The matrix element q + qb -> n + g times (tk*uk)^2 - using helicity amplitudes 0234 */ 0235 Energy2 t_u_M_R_qqb_hel_amp(realVVKinematics R) const; 0236 0237 /** 0238 * Member variable to store the 0239 * matrix element q + qb -> n + g times (tk*uk)^2 - using helicity amplitudes 0240 */ 0241 mutable Energy2 t_u_M_R_qqb_hel_amp_; 0242 0243 /** 0244 * The matrix element q + g -> n + q times (tk*uk)^2 - using helicity amplitudes 0245 */ 0246 Energy2 t_u_M_R_qg_hel_amp(realVVKinematics R) const; 0247 0248 /** 0249 * Member variable to store the 0250 * matrix element q + g -> n + q times (tk*uk)^2 - using helicity amplitudes 0251 */ 0252 mutable Energy2 t_u_M_R_qg_hel_amp_; 0253 0254 /** 0255 * The matrix element g + qb -> n + qb times (tk*uk)^2 - using helicity amplitudes 0256 */ 0257 Energy2 t_u_M_R_gqb_hel_amp(realVVKinematics R) const; 0258 0259 /** 0260 * Member variable to store the 0261 * matrix element g + qb -> n + qb times (tk*uk)^2 - using helicity amplitudes 0262 */ 0263 mutable Energy2 t_u_M_R_gqb_hel_amp_; 0264 0265 /** 0266 * The leading order matrix element - using helicity amplitudes 0267 */ 0268 double lo_me() const; 0269 0270 /** 0271 * The Born matrix element as given in Equation 3.1 - 3.3 in NPB 383 0272 * (1992) *** modulo a factor 1/(2s) ***, which is a flux factor that 0273 * those authors absorb in the matrix element. 0274 */ 0275 double M_Born_WZ(bornVVKinematics B) const; 0276 0277 /** 0278 * Member variable to store the 0279 * Born matrix element as given in Equation 3.1 - 3.3 in NPB 383 0280 * (1992) *** modulo a factor 1/(2s) ***, which is a flux factor that 0281 * those authors absorb in the matrix element. 0282 */ 0283 mutable double M_Born_; 0284 0285 /** 0286 * The Born matrix element as given in Equation 2.18 - 2.19 in NPB 357 0287 * (1991) *** modulo a factor 1/(2s) ***, which is a flux factor that 0288 * those authors absorb in the matrix element. 0289 */ 0290 double M_Born_ZZ(bornVVKinematics B) const; 0291 0292 /** 0293 * M_V_regular_ZZ is the regular part of the one-loop ZZ matrix element 0294 * exactly as defined in Eqs. B.1 & B.2 of NPB 357(1991)409-438 *** 0295 * modulo a factor 1/(2s) ***, which is a flux factor that 0296 * those authors absorb in the matrix element. 0297 */ 0298 double M_V_regular_ZZ(realVVKinematics S) const; 0299 0300 /** 0301 * t_u_M_R_qqb_ZZ is the q + qb -> n + g times tk*uk real emission 0302 * matrix element as defined in Eq. C.1 of NPB 357(1991)409-438 *** 0303 * modulo a factor 1/(2s) ***, which is a flux factor that 0304 * those authors absorb in the matrix element. 0305 */ 0306 Energy2 t_u_M_R_qqb_ZZ(realVVKinematics R) const; 0307 0308 /** 0309 * The Born matrix element as given in Equation 3.2 - 3.8 in NPB 410 0310 * (1993) *** modulo a factor 1/(2s) ***, which is a flux factor that 0311 * those authors absorb in the matrix element. 0312 */ 0313 double M_Born_WW(bornVVKinematics B) const; 0314 0315 /** 0316 * M_V_regular_WW is the regular part of the one-loop WW matrix element 0317 * exactly as defined in Eqs. C.1 - C.7 of of NPB 410(1993)280-324 *** 0318 * modulo a factor 1/(2s) ***, which is a flux factor that 0319 * those authors absorb in the matrix element. 0320 */ 0321 double M_V_regular_WW(realVVKinematics S) const; 0322 0323 /** 0324 * t_u_M_R_qqb_WW is the q + qb -> n + g times tk*uk real emission 0325 * matrix element as defined in Eq. D.1-D.5 of NPB 410(1993)280-324 *** 0326 * modulo a factor 1/(2s) ***, which is a flux factor that 0327 * those authors absorb in the matrix element. 0328 */ 0329 Energy2 t_u_M_R_qqb_WW(realVVKinematics R) const; 0330 0331 /** 0332 * Return the factorion scale squared. 0333 */ 0334 Energy2 mu_F2() const; 0335 0336 /** 0337 * Return the renormalisation scale squared. 0338 */ 0339 Energy2 mu_UV2() const; 0340 0341 protected: 0342 0343 /** @name Clone Methods. */ 0344 //@{ 0345 /** 0346 * Make a simple clone of this object. 0347 * @return a pointer to the new object. 0348 */ 0349 inline virtual IBPtr clone() const { return new_ptr(*this); } 0350 0351 /** Make a clone of this object, possibly modifying the cloned object 0352 * to make it sane. 0353 * @return a pointer to the new object. 0354 */ 0355 inline virtual IBPtr fullclone() const { return new_ptr(*this); } 0356 //@} 0357 0358 private: 0359 0360 /** 0361 * The assignment operator is private and must never be called. 0362 * In fact, it should not even be implemented. 0363 */ 0364 MEPP2VVPowheg & operator=(const MEPP2VVPowheg &) = delete; 0365 0366 private: 0367 0368 /** 0369 * Parameters for the NLO weight 0370 */ 0371 //@{ 0372 0373 /** 0374 * Parameter to determine when to use limiting value of real emission 0375 * matrix elements, to avoid rounding error issues. 0376 */ 0377 double tiny; 0378 0379 /** 0380 * The BeamParticleData object for the plus and minus direction hadrons 0381 */ 0382 tcBeamPtr hadron_A_; 0383 tcBeamPtr hadron_B_; 0384 0385 /** 0386 * Born / virtual 2->2 kinematics. 0387 */ 0388 bornVVKinematics B_; 0389 0390 /** 0391 * Soft limit of the 2->3 real emission kinematics. 0392 */ 0393 realVVKinematics S_; 0394 0395 /** 0396 * Soft-collinear limit of the 2->3 kinematics (emission in +z direction). 0397 */ 0398 realVVKinematics SCp_; 0399 0400 /** 0401 * The collinear limit of the 2->3 kinematics (emission in -z direction). 0402 */ 0403 realVVKinematics SCm_; 0404 0405 /** 0406 * The collinear limit of the 2->3 kinematics (emission in +z direction). 0407 */ 0408 realVVKinematics Cp_; 0409 0410 /** 0411 * The collinear limit of the 2->3 kinematics (emission in -z direction). 0412 */ 0413 realVVKinematics Cm_; 0414 0415 /** 0416 * The resolved 2->3 real emission kinematics: 0417 */ 0418 realVVKinematics H_; 0419 0420 /** 0421 * The ParticleData object for the plus and minus lo partons 0422 */ 0423 tcPDPtr ab_, bb_; 0424 0425 /** 0426 * The ParticleData object for the quark and antiquark 0427 * (which can be in a different order to ab_ and bb_). 0428 */ 0429 tcPDPtr quark_, antiquark_; 0430 0431 /** 0432 * Values of the PDF's before radiation 0433 */ 0434 double lo_lumi_; 0435 0436 /** 0437 * The value of the leading order qqbar->VV matrix element 0438 */ 0439 mutable double lo_me2_; 0440 0441 /** 0442 * The CF_ colour factor 0443 */ 0444 double CF_; 0445 0446 /** 0447 * The TR_ colour factor 0448 */ 0449 double TR_; 0450 0451 /** 0452 * The number of colours 0453 */ 0454 double NC_; 0455 0456 /** 0457 * The weak coupling and the sin (squared) of the Weinberg angle 0458 */ 0459 mutable double gW_, sin2ThetaW_; 0460 0461 /** 0462 * The up and down, left handed, quark-boson couplings 0463 */ 0464 mutable double guL_, gdL_; 0465 0466 /** 0467 * The up and down, right handed, quark-boson couplings (for WW & ZZ) 0468 */ 0469 mutable double guR_, gdR_; 0470 0471 /** 0472 * The TGC coupling 0473 */ 0474 mutable double eZ_; 0475 0476 /** 0477 * The TGC coupling squared. This is useful for debugging purposes 0478 * when one wants to turn of t-channel * TGC interference contributions 0479 * but leave the pure TGC contributions intact. It is also needed in 0480 * order to transform WZ matrix elements into WW ones. 0481 */ 0482 mutable double eZ2_; 0483 0484 /** 0485 * The CKM factor (Fij^2) 0486 */ 0487 mutable double Fij2_; 0488 0489 /** 0490 * Whether to generate the positive, negative or leading order contribution 0491 */ 0492 unsigned int contrib_; 0493 0494 /** 0495 * Whether to generate all channels contributions or just qqb or just 0496 * qg+gqb contributions 0497 */ 0498 unsigned int channels_; 0499 0500 /** 0501 * Whether to use a fixed or a running QCD coupling for the NLO weight 0502 */ 0503 unsigned int nlo_alphaS_opt_; 0504 0505 /** 0506 * The value of alphaS to use for the nlo weight if nlo_alphaS_opt_=1 0507 */ 0508 double fixed_alphaS_; 0509 0510 /** 0511 * Flag to remove or multiply in MCFM branching fractions for testing 0512 */ 0513 unsigned int removebr_; 0514 0515 /** 0516 * Selects a dynamic (sHat) or fixed factorization scale 0517 */ 0518 unsigned int scaleopt_; 0519 0520 /** 0521 * The factorization scale 0522 */ 0523 Energy mu_F_; 0524 0525 /** 0526 * The renormalization scale 0527 */ 0528 Energy mu_UV_; 0529 0530 /** 0531 * The pT of V1 in a radiative event in the lab frame (for scale setting only) 0532 */ 0533 Energy2 k1r_perp2_lab_; 0534 0535 /** 0536 * The pT of V2 in a radiative event in the lab frame (for scale setting only) 0537 */ 0538 Energy2 k2r_perp2_lab_; 0539 0540 /** 0541 * The ckm matrix elements (unsquared, to allow interference) 0542 */ 0543 vector< vector<Complex> > ckm_; 0544 0545 /** 0546 * Option to impose helicity conservation on the real NLO ME's (greatly improves evaluation time). 0547 */ 0548 bool helicityConservation_; 0549 0550 /** 0551 * The q + qb -> v1 + v2 + g helicity amplitudes 0552 */ 0553 mutable ProductionMatrixElement qqb_hel_amps_; 0554 0555 /** 0556 * The q + g -> v1 + v2 + q helicity amplitudes 0557 */ 0558 mutable ProductionMatrixElement qg_hel_amps_; 0559 0560 /** 0561 * The g + qb -> v1 + v2 + qb helicity amplitudes 0562 */ 0563 mutable ProductionMatrixElement gqb_hel_amps_; 0564 //@} 0565 0566 /** 0567 * The vertices 0568 */ 0569 //@{ 0570 /** 0571 * The photon fermion-antifermion vertex 0572 */ 0573 AbstractFFVVertexPtr FFPvertex_; 0574 0575 /** 0576 * The W fermion-antifermion vertex 0577 */ 0578 AbstractFFVVertexPtr FFWvertex_; 0579 0580 /** 0581 * The Z fermion-antifermionvertex 0582 */ 0583 AbstractFFVVertexPtr FFZvertex_; 0584 0585 /** 0586 * The triple electroweak gauge boson vertex 0587 */ 0588 AbstractVVVVertexPtr WWWvertex_; 0589 0590 /** 0591 * The quark-antiquark gluon vertex 0592 */ 0593 AbstractFFVVertexPtr FFGvertex_; 0594 //@} 0595 0596 /** 0597 * The value of \f$\alpha_S\f$ used for the calculation 0598 */ 0599 mutable double alphaS_; 0600 0601 protected: 0602 0603 /** 0604 * Returns the matrix element for a given type of process, 0605 * rapidity of the jet \f$y_j\f$ and transverse momentum \f$p_T\f$ 0606 * @param emis_type the type of emission, 0607 * (0 is \f$q\bar{q}\to Vg\f$, 1 is \f$qg\to Vq\f$ and 2 is \f$g\bar{q}\to V\bar{q}\f$) 0608 * @param pT The transverse momentum of the jet 0609 * @param R The object containing the kinematics 0610 */ 0611 double getResult(int emis_type, realVVKinematics R, Energy pT); 0612 0613 /** 0614 * generates the hardest emission (yj,p) 0615 * @param pnew The momenta of the new particles 0616 * @param emissiontype The type of emission, as for getResult 0617 * @return Whether not an emission was generated 0618 */ 0619 bool getEvent(vector<Lorentz5Momentum> & pnew,unsigned int & emissiontype); 0620 0621 /** 0622 * sets the QCD, EW and PDF scales 0623 * @param pT The pT of the current step in the veto algorithm 0624 */ 0625 void setTheScales(Energy pT); 0626 0627 /** 0628 * The matrix element q + qb -> n + g times tk*uk 0629 */ 0630 Energy2 t_u_M_R_qqb_hel_amp(realVVKinematics R, bool getMatrix) const; 0631 0632 0633 /** 0634 * The matrix element q + g -> n + q times tk*uk 0635 */ 0636 Energy2 t_u_M_R_qg_hel_amp(realVVKinematics R, bool getMatrix) const; 0637 0638 /** 0639 * The matrix element g + qb -> n + q times tk*uk 0640 */ 0641 Energy2 t_u_M_R_gqb_hel_amp(realVVKinematics R, bool getMatrix) const; 0642 0643 /** 0644 * The matrix element for the kinematical configuration 0645 * previously provided by the last call to setKinematics(), suitably 0646 * scaled by sHat() to give a dimension-less number. 0647 * @return the matrix element scaled with sHat() to give a 0648 * dimensionless number. 0649 */ 0650 double lo_me(bool getMatrix) const; 0651 0652 /** 0653 * Recalculate hard vertex to include spin correlations for radiative events. 0654 */ 0655 void recalculateVertex(); 0656 0657 /** 0658 * Member which selects a two body decay mode for each vector 0659 * boson and distributes decay products isotropically 0660 */ 0661 bool isotropicDecayer(); 0662 0663 /** 0664 * The triangle function lambda(x,y,z)=sqrt(x^2+y^2+z^2-2*x*y-2*y*z-2*x*z) 0665 */ 0666 Energy2 triangleFn(Energy2,Energy2,Energy2); 0667 0668 private: 0669 0670 /** 0671 * If this boolean is true the n+1 body helicity amplitudes will be 0672 * used to calculate a hard vertex based on those kinematics for spin 0673 * correlations in the decays. 0674 */ 0675 bool realMESpinCorrelations_; 0676 0677 /** 0678 * The colour & spin averaged n-body (leading order) matrix element squared. 0679 */ 0680 double lo_me_; 0681 0682 /** 0683 * The resolved 2->3 real emission kinematics. 0684 */ 0685 realVVKinematics R_; 0686 0687 /** 0688 * This specifies the emitting configuration: 0689 * 1: q + qbar -> V1 + V2 + g 0690 * 2: q + g -> V1 + V2 + q 0691 * 3: g + qbar -> V1 + V2 + qbar. 0692 */ 0693 unsigned int channel_; 0694 0695 /** 0696 * Identifies the space-like mother of the branching 0697 * as quark (+1) or antiquark (-1): 0698 */ 0699 int fermionNumberOfMother_; 0700 0701 /** 0702 * Pointer to the object calculating the strong coupling 0703 */ 0704 ShowerAlphaPtr showerAlphaS_; 0705 0706 /** 0707 * Constants for the sampling. The distribution is assumed to have the 0708 * form \f$\frac{c}{{\rm GeV}}\times\left(\frac{{\rm GeV}}{p_T}\right)^n\f$ 0709 */ 0710 //@{ 0711 /** 0712 * The power, \f$n\f$, for the sampling 0713 */ 0714 double power_; 0715 0716 /** 0717 * The prefactor, \f$c\f$ for the \f$q\bar{q}\f$ channel 0718 */ 0719 double preqqbar_; 0720 0721 /** 0722 * The prefactor, \f$c\f$ for the \f$qg\f$ channel 0723 */ 0724 double preqg_; 0725 0726 /** 0727 * The prefactor, \f$c\f$ for the \f$g\bar{q}\f$ channel 0728 */ 0729 double pregqbar_; 0730 0731 /** 0732 * The QCD beta function divided by 4pi, (11-2/3*nf)/4/pi, with nf = 5. 0733 */ 0734 double b0_; 0735 0736 /** 0737 * The fundamental QCD scale in the one-loop alpha_{S} used for the crude 0738 * (not the very crude) overestimate of the Sudakov exponent. The default 0739 * value is set so such that alphaS(MZ), neglecting all flavour threshold 0740 * effects i.e. MZ*exp(-1/2/b0_/alphaS(MZ)). 0741 */ 0742 Energy LambdaQCD_; 0743 0744 /** 0745 * The prefactors as a vector for easy use 0746 */ 0747 vector<double> prefactor_; 0748 //@} 0749 0750 /** 0751 * Properties of the incoming particles 0752 */ 0753 //@{ 0754 /** 0755 * Pointers to the ShowerProgenitor objects for the partons 0756 */ 0757 PPtr qProgenitor_; 0758 PPtr qbProgenitor_; 0759 0760 /** 0761 * Pointers to the Shower particle objects for the partons 0762 */ 0763 PPtr showerQuark_; 0764 PPtr showerAntiquark_; 0765 0766 /** 0767 * Pointers to the BeamParticleData objects 0768 */ 0769 tcBeamPtr qHadron_; 0770 tcBeamPtr qbHadron_; 0771 //@} 0772 0773 /** 0774 * Properties of the boson and jets 0775 */ 0776 //@{ 0777 /** 0778 * Pointers to the Shower particle objects for the partons 0779 */ 0780 PPtr gluon_; 0781 PPtr V1_; 0782 PPtr V2_; 0783 vector<PPtr> children_; 0784 0785 /** 0786 * Flag indicating if the q & qbar are flipped or not i.e. this 0787 * is true if q enters from the -z direction in the lab frame. 0788 */ 0789 bool flipped_; 0790 0791 /** 0792 * the rapidity of the jet 0793 */ 0794 double Yk_; 0795 0796 /** 0797 * The transverse momentum of the jet 0798 */ 0799 Energy pT_; 0800 //@} 0801 0802 /** 0803 * The transverse momentum of the jet 0804 */ 0805 Energy min_pT_; 0806 0807 // Work out the scales we want to use in the matrix elements and the pdfs: 0808 /** 0809 * Scale for alpha_S: pT^2 of the diboson system. 0810 */ 0811 Energy2 QCDScale_; 0812 0813 /** 0814 * Scale for real emission PDF: 0815 */ 0816 Energy2 PDFScale_; 0817 0818 /** 0819 * Scale of electroweak vertices: mVV^2 the invariant mass of the diboson system. 0820 */ 0821 Energy2 EWScale_; 0822 0823 /** 0824 * A matrix to hold the home-grown production matrix element 0825 */ 0826 mutable Complex productionMatrix_[3][3][3][3]; 0827 0828 }; 0829 0830 } 0831 0832 #endif /* HERWIG_MEPP2VVPowheg_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|