JHUGen MELA  v2.4.1
Matrix element calculations as used in JHUGen. MELA is an important tool that was used for the Higgs boson discovery and for precise measurements of its structure and interactions. Please see the website https://spin.pha.jhu.edu/ and papers cited there for more details, and kindly cite those papers when using this code.
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TEvtProb Class Reference

#include <TEvtProb.hh>

Collaboration diagram for TEvtProb:
Collaboration graph
[legend]

Public Member Functions

 TEvtProb ()
 
 TEvtProb (const char *pathtoXSW, double ebeam, const char *pathtoPDFSet, int PDFMember=0, TVar::VerbosityLevel verbosity_=TVar::ERROR)
 
 TEvtProb (const TEvtProb &other)
 
 ~TEvtProb ()
 
void Set_LHAgrid (const char *path, int pdfmember=0)
 
void SetProcess (TVar::Process proc, TVar::MatrixElement me, TVar::Production prod)
 
void SetVerbosity (TVar::VerbosityLevel tmp)
 
void SetLeptonInterf (TVar::LeptonInterference tmp)
 
void SetCandidateDecayMode (TVar::CandidateDecayMode mode)
 
void SetCurrentCandidateFromIndex (unsigned int icand)
 
void SetCurrentCandidate (MELACandidate *cand)
 
void AllowSeparateWWCouplings (bool doAllow=false)
 
void ResetMass (double inmass, int ipart)
 
void ResetWidth (double inwidth, int ipart)
 
void SetZprimeMassWidth (double inmass, double inwidth)
 
void SetWprimeMassWidth (double inmass, double inwidth)
 
void ResetQuarkMasses ()
 
void ResetMCFM_EWKParameters (double ext_Gf, double ext_aemmz, double ext_mW, double ext_mZ, double ext_xW, int ext_ewscheme=3)
 
void ResetCouplings ()
 
void SetPrimaryHiggsMass (double mass)
 
void SetHiggsMass (double mass, double wHiggs=-1., int whichResonance=-1)
 
void SetRenFacScaleMode (TVar::EventScaleScheme renormalizationSch, TVar::EventScaleScheme factorizationSch, double ren_sf, double fac_sf)
 
void ResetRenFacScaleMode ()
 
void SetInputEvent (SimpleParticleCollection_t *pDaughters, SimpleParticleCollection_t *pAssociated=0, SimpleParticleCollection_t *pMothers=0, bool isGen=false)
 
void AppendTopCandidate (SimpleParticleCollection_t *TopDaughters)
 
void ResetInputEvent ()
 
void ResetIORecord ()
 
double XsecCalc_XVV ()
 
double XsecCalc_VVXVV ()
 
double XsecCalcXJJ ()
 
double XsecCalcXJ ()
 
double XsecCalc_VX (bool includeHiggsDecay)
 
double XsecCalc_TTX (int topProcess, int topDecay)
 
double GetXPropagator (TVar::ResonancePropagatorScheme scheme)
 
MELAHXSWidth const * GetHXSWidthEstimator () const
 
SpinZeroCouplingsGetSelfDSpinZeroCouplings ()
 
SpinOneCouplingsGetSelfDSpinOneCouplings ()
 
SpinTwoCouplingsGetSelfDSpinTwoCouplings ()
 
VprimeCouplingsGetSelfDVprimeCouplings ()
 
aTQGCCouplingsGetSelfDaTQGCCouplings ()
 
AZffCouplingsGetSelfDAZffCouplings ()
 
double GetPrimaryHiggsMass ()
 
double GetPrimaryMass (int ipart)
 
double GetPrimaryWidth (int ipart)
 
double GetHiggsWidthAtPoleMass (double mass)
 
MelaIOGetIORecord ()
 
MELACandidateGetCurrentCandidate ()
 
int GetCurrentCandidateIndex ()
 
int GetNCandidates ()
 
std::vector< MELATopCandidate_t * > * GetTopCandidates ()
 

Protected Member Functions

void InitializeMCFM ()
 
void InitializeJHUGen (const char *pathtoPDFSet, int PDFMember)
 
void CrossInitialize ()
 
bool CheckInputPresent ()
 
void SetRcdCandPtr ()
 
bool CheckSelfDCouplings_Hgg ()
 
bool CheckSelfDCouplings_Hqq ()
 
bool CheckSelfDCouplings_Htt ()
 
bool CheckSelfDCouplings_Hbb ()
 
bool CheckSelfDCouplings_HVV ()
 
bool CheckSelfDCouplings_aTQGC ()
 
bool CheckSelfDCouplings_AZff ()
 
void Build ()
 

Protected Attributes

const char * pathtoPDFSet_
 
int PDFMember_
 
TVar::Process process
 
TVar::MatrixElement matrixElement
 
TVar::Production production
 
TVar::VerbosityLevel verbosity
 
TVar::LeptonInterference leptonInterf
 
double PrimaryHMass
 
double _hmass
 
double _hwidth
 
double _h2mass
 
double _h2width
 
double EBEAM
 
MELAHXSWidth myCSW_
 
TVar::event_scales_type event_scales
 
SpinZeroCouplings selfDSpinZeroCoupl
 
SpinOneCouplings selfDSpinOneCoupl
 
SpinTwoCouplings selfDSpinTwoCoupl
 
VprimeCouplings selfDVprimeCoupl
 
aTQGCCouplings selfDaTQGCCoupl
 
AZffCouplings selfDAZffCoupl
 
MelaIO RcdME
 
MELACandidatemelaCand
 
std::vector< MELAParticle * > particleList
 
std::vector< MELACandidate * > candList
 
std::vector< MELATopCandidate_t * > topCandList
 

Detailed Description

Definition at line 48 of file TEvtProb.hh.

Constructor & Destructor Documentation

◆ TEvtProb() [1/3]

TEvtProb::TEvtProb ( )
inline

Definition at line 53 of file TEvtProb.hh.

53 {};

◆ TEvtProb() [2/3]

TEvtProb::TEvtProb ( const char *  pathtoXSW,
double  ebeam,
const char *  pathtoPDFSet,
int  PDFMember = 0,
TVar::VerbosityLevel  verbosity_ = TVar::ERROR 
)

Definition at line 26 of file TEvtProb.cc.

28  :
29  pathtoPDFSet_(pathtoPDFSet),
30  PDFMember_(PDFMember),
31  verbosity(verbosity_),
32  EBEAM(ebeam),
33  myCSW_(pathtoXSW)
34 {
35  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb constructor" << endl;
36 
37  /***** Build everything except MELAHXSWidth *****/
38  Build();
39 
40  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb constructor" << endl;
41 }

◆ TEvtProb() [3/3]

TEvtProb::TEvtProb ( const TEvtProb other)

Definition at line 42 of file TEvtProb.cc.

42  :
44 PDFMember_(other.PDFMember_),
45 verbosity(other.verbosity),
46 EBEAM(other.EBEAM),
47 myCSW_(other.myCSW_)
48 {
49 
50 }

◆ ~TEvtProb()

TEvtProb::~TEvtProb ( )

Definition at line 74 of file TEvtProb.cc.

74  {
75  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb destructor" << endl;
76 
78 
79  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb destructor" << endl;
80 }

Member Function Documentation

◆ AllowSeparateWWCouplings()

void TEvtProb::AllowSeparateWWCouplings ( bool  doAllow = false)

Definition at line 215 of file TEvtProb.cc.

◆ AppendTopCandidate()

void TEvtProb::AppendTopCandidate ( SimpleParticleCollection_t TopDaughters)

Definition at line 287 of file TEvtProb.cc.

287  {
288  if (!CheckInputPresent()){
289  if (verbosity>=TVar::INFO) MELAout << "TEvtProb::AppendTopCandidate: No MELACandidates are present to append this top!" << endl;
290  return;
291  }
293  TopDaughters,
294  &particleList, &topCandList // push_back is done automatically
295  );
296  if (cand) melaCand->addAssociatedTop(cand);
297 }

◆ Build()

void TEvtProb::Build ( )
protected

Definition at line 51 of file TEvtProb.cc.

51  {
52  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::Build" << endl;
53 
54  /***** Initialize lepton interference scheme *****/
56 
57  /***** Initialize MCFM *****/
59 
60  /***** Initialize JHUGen *****/
62 
63  /***** Cross-initializations *****/
65 
66  /***** Initialize input event properties *****/
69 
70  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::Build" << endl;
71 }

◆ CheckInputPresent()

bool TEvtProb::CheckInputPresent ( )
protected

Definition at line 389 of file TEvtProb.cc.

389  {
390  if (!melaCand){
392  << "TEvtProb::CheckInputPresent: melaCand==" << melaCand << " is nullPtr!"
393  << endl;
394  if (candList.empty()) return false;
395  else{
397  if (verbosity>=TVar::INFO) MELAout << "TEvtProb::CheckInputPresent: melaCand now points to the latest candidate (cand[" << (candList.size()-1) << "])" << endl;
398  }
399  }
400  SetRcdCandPtr(); // If input event is present, set the RcdME pointer to melaCand
401  return true;
402 }

◆ CheckSelfDCouplings_aTQGC()

bool TEvtProb::CheckSelfDCouplings_aTQGC ( )
protected

Definition at line 1140 of file TEvtProb.cc.

1140  {
1141  for (int vv = 0; vv < SIZE_ATQGC; vv++){
1142  if (
1143  (selfDaTQGCCoupl.aTQGCcoupl)[vv][1] != 0 || (selfDaTQGCCoupl.aTQGCcoupl)[vv][0] != 0
1144  ){
1145  return true;
1146  }
1147  }
1148  return false;
1149 }

◆ CheckSelfDCouplings_AZff()

bool TEvtProb::CheckSelfDCouplings_AZff ( )
protected

Definition at line 1150 of file TEvtProb.cc.

1150  {
1151  for (int vv = 0; vv < SIZE_AZff; vv++){
1152  if (
1153  (selfDAZffCoupl.AZffcoupl)[vv][1] != 0 || (selfDAZffCoupl.AZffcoupl)[vv][0] != 0
1154  ){
1155  return true;
1156  }
1157  }
1158  return false;
1159 }

◆ CheckSelfDCouplings_Hbb()

bool TEvtProb::CheckSelfDCouplings_Hbb ( )
protected

Definition at line 1090 of file TEvtProb.cc.

1090  {
1091  if (_hmass>=0. && _hwidth>0.){
1092  for (int vv = 0; vv < SIZE_HQQ; vv++){
1093  if (
1094  (selfDSpinZeroCoupl.Hbbcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hbbcoupl)[vv][0] != 0
1095  ||
1096  (selfDSpinZeroCoupl.Hb4b4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hb4b4coupl)[vv][0] != 0
1097  ){
1098  return true;
1099  }
1100  }
1101  }
1102  if (_h2mass>=0. && _h2width>0.){
1103  for (int vv = 0; vv < SIZE_HQQ; vv++){
1104  if (
1105  (selfDSpinZeroCoupl.H2bbcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2bbcoupl)[vv][0] != 0
1106  ||
1107  (selfDSpinZeroCoupl.H2b4b4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2b4b4coupl)[vv][0] != 0
1108  ){
1109  return true;
1110  }
1111  }
1112  }
1113  return false;
1114 }

◆ CheckSelfDCouplings_Hgg()

bool TEvtProb::CheckSelfDCouplings_Hgg ( )
protected

Definition at line 1019 of file TEvtProb.cc.

1019  {
1020  if (_hmass>=0. && _hwidth>0.){
1021  for (int vv = 0; vv < SIZE_HGG; vv++){
1022  if (
1023  (selfDSpinZeroCoupl.Hggcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hggcoupl)[vv][0] != 0
1024  ||
1025  (selfDSpinZeroCoupl.Hg4g4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hg4g4coupl)[vv][0] != 0
1026  ){
1027  return true;
1028  }
1029  }
1030  }
1031  if (_h2mass>=0. && _h2width>0.){
1032  for (int vv = 0; vv < SIZE_HGG; vv++){
1033  if (
1034  (selfDSpinZeroCoupl.H2ggcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2ggcoupl)[vv][0] != 0
1035  ||
1036  (selfDSpinZeroCoupl.H2g4g4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2g4g4coupl)[vv][0] != 0
1037  ){
1038  return true;
1039  }
1040  }
1041  }
1042  return false;
1043 }

◆ CheckSelfDCouplings_Hqq()

bool TEvtProb::CheckSelfDCouplings_Hqq ( )
protected

Definition at line 1044 of file TEvtProb.cc.

1044  {
1045  if (_hmass>=0. && _hwidth>0.){
1046  for (int vv = 0; vv < SIZE_HQQ; vv++){
1047  if (
1048  (selfDSpinZeroCoupl.Hqqcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hqqcoupl)[vv][0] != 0
1049  ){
1050  return true;
1051  }
1052  }
1053  }
1054  if (_h2mass>=0. && _h2width>0.){
1055  for (int vv = 0; vv < SIZE_HQQ; vv++){
1056  if (
1057  (selfDSpinZeroCoupl.H2qqcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2qqcoupl)[vv][0] != 0
1058  ){
1059  return true;
1060  }
1061  }
1062  }
1063  return false;
1064 }

◆ CheckSelfDCouplings_Htt()

bool TEvtProb::CheckSelfDCouplings_Htt ( )
protected

Definition at line 1065 of file TEvtProb.cc.

1065  {
1066  if (_hmass>=0. && _hwidth>0.){
1067  for (int vv = 0; vv < SIZE_HQQ; vv++){
1068  if (
1069  (selfDSpinZeroCoupl.Httcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Httcoupl)[vv][0] != 0
1070  ||
1071  (selfDSpinZeroCoupl.Ht4t4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Ht4t4coupl)[vv][0] != 0
1072  ){
1073  return true;
1074  }
1075  }
1076  }
1077  if (_h2mass>=0. && _h2width>0.){
1078  for (int vv = 0; vv < SIZE_HQQ; vv++){
1079  if (
1080  (selfDSpinZeroCoupl.H2ttcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2ttcoupl)[vv][0] != 0
1081  ||
1082  (selfDSpinZeroCoupl.H2t4t4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2t4t4coupl)[vv][0] != 0
1083  ){
1084  return true;
1085  }
1086  }
1087  }
1088  return false;
1089 }

◆ CheckSelfDCouplings_HVV()

bool TEvtProb::CheckSelfDCouplings_HVV ( )
protected

Definition at line 1115 of file TEvtProb.cc.

1115  {
1116  if (_hmass>=0. && _hwidth>0.){
1117  for (int vv = 0; vv < SIZE_HVV; vv++){
1118  if (
1119  (selfDSpinZeroCoupl.Hzzcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hzzcoupl)[vv][0] != 0
1120  ||
1121  (selfDSpinZeroCoupl.Hwwcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hwwcoupl)[vv][0] != 0
1122  ){
1123  return true;
1124  }
1125  } // No need to check c_q**2. If these are 0, z_q**2 do not have any effect.
1126  }
1127  if (_h2mass>=0. && _h2width>0.){
1128  for (int vv = 0; vv < SIZE_HVV; vv++){
1129  if (
1130  (selfDSpinZeroCoupl.H2zzcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2zzcoupl)[vv][0] != 0
1131  ||
1132  (selfDSpinZeroCoupl.H2wwcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2wwcoupl)[vv][0] != 0
1133  ){
1134  return true;
1135  }
1136  } // No need to check c_q**2. If these are 0, z_q**2 do not have any effect.
1137  }
1138  return false;
1139 }

◆ CrossInitialize()

void TEvtProb::CrossInitialize ( )
protected

Definition at line 149 of file TEvtProb.cc.

149  {
150  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::CrossInitialize" << endl;
151 
152  /**** Initialize alphaS *****/
153  const double GeV=1./100.;
154  double init_Q;
155  int init_nl, init_nf;
156  __modjhugenmela_MOD_getpdfconstants(&init_Q, &init_nl, &init_nf);
157  init_Q /= GeV;
158  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::TEvtProb: Initializing the PDF with initial Q=" << init_Q << ", nloops=" << init_nl << ", nf=" << init_nf << endl;
159  SetAlphaS(init_Q, init_Q, 1, 1, init_nl, init_nf, "cteq6_l"); // "cteq6_l" is just some dummy variable
160 
161  /**** Initialize MCFM CKM initializers in cabib.f using JHUGen defaults *****/
162  int i, j;
163  i=2; j=1;
164  cabib_.Vud = __modparameters_MOD_ckmbare(&i, &j);
165  i=2; j=3;
166  cabib_.Vus = __modparameters_MOD_ckmbare(&i, &j);
167  i=2; j=5;
168  cabib_.Vub = __modparameters_MOD_ckmbare(&i, &j);
169  i=4; j=1;
170  cabib_.Vcd = __modparameters_MOD_ckmbare(&i, &j);
171  i=4; j=3;
172  cabib_.Vcs = __modparameters_MOD_ckmbare(&i, &j);
173  i=4; j=5;
174  cabib_.Vcb = __modparameters_MOD_ckmbare(&i, &j);
175 
176  /***** Initialize schemes *****/
177  ResetCouplings();
179  SetPrimaryHiggsMass(125.); // Should come after InitializeMCFM and InitializeJHUGen
180 
181  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::CrossInitialize" << endl;
182 }

◆ GetCurrentCandidate()

MELACandidate * TEvtProb::GetCurrentCandidate ( )

Definition at line 376 of file TEvtProb.cc.

376 { return melaCand; }

◆ GetCurrentCandidateIndex()

int TEvtProb::GetCurrentCandidateIndex ( )

Definition at line 377 of file TEvtProb.cc.

377  {
378  if (!melaCand) return -1;
379  for (unsigned int icand=0; icand<candList.size(); icand++){
380  if (candList.at(icand)==melaCand) return (int)icand;
381  }
382  return -1;
383 }

◆ GetHiggsWidthAtPoleMass()

double TEvtProb::GetHiggsWidthAtPoleMass ( double  mass)

Definition at line 371 of file TEvtProb.cc.

371  {
372  if (mass>0.) return myCSW_.HiggsWidth(mass);
373  else return -1.;
374 }

◆ GetHXSWidthEstimator()

MELAHXSWidth const * TEvtProb::GetHXSWidthEstimator ( ) const

Definition at line 355 of file TEvtProb.cc.

355 { return &myCSW_; }

◆ GetIORecord()

MelaIO * TEvtProb::GetIORecord ( )

Definition at line 375 of file TEvtProb.cc.

375 { return RcdME.getRef(); }

◆ GetNCandidates()

int TEvtProb::GetNCandidates ( )

Definition at line 384 of file TEvtProb.cc.

384 { return (static_cast<int>(candList.size())); }

◆ GetPrimaryHiggsMass()

double TEvtProb::GetPrimaryHiggsMass ( )

Definition at line 362 of file TEvtProb.cc.

362 { return PrimaryHMass; }

◆ GetPrimaryMass()

double TEvtProb::GetPrimaryMass ( int  ipart)

Definition at line 363 of file TEvtProb.cc.

363  {
364  if (PDGHelpers::isAHiggs(ipart)) return GetPrimaryHiggsMass();
365  else return TUtil::GetMass(ipart);
366 }

◆ GetPrimaryWidth()

double TEvtProb::GetPrimaryWidth ( int  ipart)

Definition at line 367 of file TEvtProb.cc.

367  {
369  else return TUtil::GetDecayWidth(ipart);
370 }

◆ GetSelfDaTQGCCouplings()

aTQGCCouplings * TEvtProb::GetSelfDaTQGCCouplings ( )

Definition at line 360 of file TEvtProb.cc.

360 { return selfDaTQGCCoupl.getRef(); }

◆ GetSelfDAZffCouplings()

AZffCouplings * TEvtProb::GetSelfDAZffCouplings ( )

Definition at line 361 of file TEvtProb.cc.

361 { return selfDAZffCoupl.getRef(); }

◆ GetSelfDSpinOneCouplings()

SpinOneCouplings * TEvtProb::GetSelfDSpinOneCouplings ( )

Definition at line 357 of file TEvtProb.cc.

357 { return selfDSpinOneCoupl.getRef(); }

◆ GetSelfDSpinTwoCouplings()

SpinTwoCouplings * TEvtProb::GetSelfDSpinTwoCouplings ( )

Definition at line 358 of file TEvtProb.cc.

358 { return selfDSpinTwoCoupl.getRef(); }

◆ GetSelfDSpinZeroCouplings()

SpinZeroCouplings * TEvtProb::GetSelfDSpinZeroCouplings ( )

Definition at line 356 of file TEvtProb.cc.

356 { return selfDSpinZeroCoupl.getRef(); }

◆ GetSelfDVprimeCouplings()

VprimeCouplings * TEvtProb::GetSelfDVprimeCouplings ( )

Definition at line 359 of file TEvtProb.cc.

359 { return selfDVprimeCoupl.getRef(); }

◆ GetTopCandidates()

std::vector< MELATopCandidate_t * > * TEvtProb::GetTopCandidates ( )

Definition at line 385 of file TEvtProb.cc.

385 { return &topCandList; }

◆ GetXPropagator()

double TEvtProb::GetXPropagator ( TVar::ResonancePropagatorScheme  scheme)

Definition at line 1011 of file TEvtProb.cc.

1013  {
1014  if (!CheckInputPresent()) return 0.;
1015  return TUtil::ResonancePropagator(melaCand->m(), scheme);
1016 }

◆ InitializeJHUGen()

void TEvtProb::InitializeJHUGen ( const char *  pathtoPDFSet,
int  PDFMember 
)
protected

Definition at line 142 of file TEvtProb.cc.

142  {
143  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::InitializeJHUGen" << endl;
144 
145  InitJHUGenMELA(pathtoPDFSet, PDFMember, 2.*EBEAM);
146 
147  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::InitializeJHUGen" << endl;
148 }

◆ InitializeMCFM()

void TEvtProb::InitializeMCFM ( )
protected

Definition at line 82 of file TEvtProb.cc.

82  {
83  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::InitializeMCFM" << endl;
84 
85  mcfm_init_((char *)"input.DAT", (char *)"./");
86  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::TEvtProb: mcfm_init successful" << endl;
87  energy_.sqrts = 2.*EBEAM;
90  1.16639E-05, // Gf
91  1./128., // alpha_EW
92  80.399, // mW
93  91.1876, // mZ
94  0.23119, // xw=sin**2(thetaW)
95  3 // MCFM EW scheme
96  );
97  qlinit_();
98  // First resonance constant parameters
99  spinzerohiggs_anomcoupl_.LambdaBSM=1000;
100  spinzerohiggs_anomcoupl_.Lambda_Q=10000;
101  spinzerohiggs_anomcoupl_.Lambda_z1=10000;
102  spinzerohiggs_anomcoupl_.Lambda_z2=10000;
103  spinzerohiggs_anomcoupl_.Lambda_z3=10000;
104  spinzerohiggs_anomcoupl_.Lambda_z4=10000;
105  spinzerohiggs_anomcoupl_.Lambda_z11=100; spinzerohiggs_anomcoupl_.Lambda_z21=100; spinzerohiggs_anomcoupl_.Lambda_z31=100; spinzerohiggs_anomcoupl_.Lambda_z41=100;
106  spinzerohiggs_anomcoupl_.Lambda_z12=100; spinzerohiggs_anomcoupl_.Lambda_z22=100; spinzerohiggs_anomcoupl_.Lambda_z32=100; spinzerohiggs_anomcoupl_.Lambda_z42=100;
107  spinzerohiggs_anomcoupl_.Lambda_z10=100; spinzerohiggs_anomcoupl_.Lambda_z20=100; spinzerohiggs_anomcoupl_.Lambda_z30=100; spinzerohiggs_anomcoupl_.Lambda_z40=100;
108  spinzerohiggs_anomcoupl_.Lambda_zgs1=10000;
109  spinzerohiggs_anomcoupl_.Lambda_w1=10000;
110  spinzerohiggs_anomcoupl_.Lambda_w2=10000;
111  spinzerohiggs_anomcoupl_.Lambda_w3=10000;
112  spinzerohiggs_anomcoupl_.Lambda_w4=10000;
113  spinzerohiggs_anomcoupl_.Lambda_w11=100; spinzerohiggs_anomcoupl_.Lambda_w21=100; spinzerohiggs_anomcoupl_.Lambda_w31=100; spinzerohiggs_anomcoupl_.Lambda_w41=100;
114  spinzerohiggs_anomcoupl_.Lambda_w12=100; spinzerohiggs_anomcoupl_.Lambda_w22=100; spinzerohiggs_anomcoupl_.Lambda_w32=100; spinzerohiggs_anomcoupl_.Lambda_w42=100;
115  spinzerohiggs_anomcoupl_.Lambda_w10=100; spinzerohiggs_anomcoupl_.Lambda_w20=100; spinzerohiggs_anomcoupl_.Lambda_w30=100; spinzerohiggs_anomcoupl_.Lambda_w40=100;
116  // Second resonance constant parameters
117  spinzerohiggs_anomcoupl_.Lambda2BSM=1000;
118  spinzerohiggs_anomcoupl_.Lambda2_Q=10000;
119  spinzerohiggs_anomcoupl_.Lambda2_z1=10000;
120  spinzerohiggs_anomcoupl_.Lambda2_z2=10000;
121  spinzerohiggs_anomcoupl_.Lambda2_z3=10000;
122  spinzerohiggs_anomcoupl_.Lambda2_z4=10000;
123  spinzerohiggs_anomcoupl_.Lambda2_z11=100; spinzerohiggs_anomcoupl_.Lambda2_z21=100; spinzerohiggs_anomcoupl_.Lambda2_z31=100; spinzerohiggs_anomcoupl_.Lambda2_z41=100;
124  spinzerohiggs_anomcoupl_.Lambda2_z12=100; spinzerohiggs_anomcoupl_.Lambda2_z22=100; spinzerohiggs_anomcoupl_.Lambda2_z32=100; spinzerohiggs_anomcoupl_.Lambda2_z42=100;
125  spinzerohiggs_anomcoupl_.Lambda2_z10=100; spinzerohiggs_anomcoupl_.Lambda2_z20=100; spinzerohiggs_anomcoupl_.Lambda2_z30=100; spinzerohiggs_anomcoupl_.Lambda2_z40=100;
126  spinzerohiggs_anomcoupl_.Lambda2_zgs1=10000;
127  spinzerohiggs_anomcoupl_.Lambda2_w1=10000;
128  spinzerohiggs_anomcoupl_.Lambda2_w2=10000;
129  spinzerohiggs_anomcoupl_.Lambda2_w3=10000;
130  spinzerohiggs_anomcoupl_.Lambda2_w4=10000;
131  spinzerohiggs_anomcoupl_.Lambda2_w11=100; spinzerohiggs_anomcoupl_.Lambda2_w21=100; spinzerohiggs_anomcoupl_.Lambda2_w31=100; spinzerohiggs_anomcoupl_.Lambda2_w41=100;
132  spinzerohiggs_anomcoupl_.Lambda2_w12=100; spinzerohiggs_anomcoupl_.Lambda2_w22=100; spinzerohiggs_anomcoupl_.Lambda2_w32=100; spinzerohiggs_anomcoupl_.Lambda2_w42=100;
133  spinzerohiggs_anomcoupl_.Lambda2_w10=100; spinzerohiggs_anomcoupl_.Lambda2_w20=100; spinzerohiggs_anomcoupl_.Lambda2_w30=100; spinzerohiggs_anomcoupl_.Lambda2_w40=100;
134  // Switches for spin-0 Higgs couplings
135  spinzerohiggs_anomcoupl_.channeltoggle_stu=2; spinzerohiggs_anomcoupl_.vvhvvtoggle_vbfvh=2;
136  spinzerohiggs_anomcoupl_.AnomalCouplPR=1; spinzerohiggs_anomcoupl_.AnomalCouplDK=1;
137  // Constant parameters for all processes
138  qlfirst_.qlfirst=false;
139 
140  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::InitializeMCFM" << endl;
141 }

◆ ResetCouplings()

void TEvtProb::ResetCouplings ( )

Definition at line 328 of file TEvtProb.cc.

◆ ResetInputEvent()

void TEvtProb::ResetInputEvent ( )

Definition at line 338 of file TEvtProb.cc.

338  {
339  RcdME.melaCand = 0;
340  melaCand = 0;
341 
342  // Clear bookkeeping objects
343  // Clean MELACandidates first since they contain all other objects
344  for (MELACandidate* tmpPart:candList) delete tmpPart;
345  candList.clear();
346  // Clean MELATopCandidates next since they contain MELAParticles
347  for (MELATopCandidate_t* tmpPart:topCandList) delete tmpPart;
348  topCandList.clear();
349  // Clean all remaining MELAParticles
350  for (MELAParticle* tmpPart:particleList) delete tmpPart;
351  particleList.clear();
352 }

◆ ResetIORecord()

void TEvtProb::ResetIORecord ( )

Definition at line 310 of file TEvtProb.cc.

310 { RcdME.reset(); }

◆ ResetMass()

void TEvtProb::ResetMass ( double  inmass,
int  ipart 
)

Definition at line 312 of file TEvtProb.cc.

312 { TUtil::SetMass(inmass, ipart); }

◆ ResetMCFM_EWKParameters()

void TEvtProb::ResetMCFM_EWKParameters ( double  ext_Gf,
double  ext_aemmz,
double  ext_mW,
double  ext_mZ,
double  ext_xW,
int  ext_ewscheme = 3 
)

Definition at line 327 of file TEvtProb.cc.

327 { SetEwkCouplingParameters(ext_Gf, ext_aemmz, ext_mW, ext_mZ, ext_xW, ext_ewscheme); }

◆ ResetQuarkMasses()

void TEvtProb::ResetQuarkMasses ( )

Definition at line 316 of file TEvtProb.cc.

316  {
317  ResetMass(1e-3, 1); // d
318  ResetMass(5e-3, 2); // u
319  ResetMass(1e-1, 3); // s
320  ResetMass(1.275, 4); // c
321  ResetMass(4.75, 5); // b
322  ResetMass(173.2, 6); // t
323  ResetMass(1e5, 7); // bprime
324  ResetMass(1e5, 8); // tprime
325  //coupling_(); // Already called at b and t twice!
326 }

◆ ResetRenFacScaleMode()

void TEvtProb::ResetRenFacScaleMode ( )

Definition at line 311 of file TEvtProb.cc.

◆ ResetWidth()

void TEvtProb::ResetWidth ( double  inwidth,
int  ipart 
)

Definition at line 315 of file TEvtProb.cc.

315 { TUtil::SetDecayWidth(inwidth, ipart); }

◆ Set_LHAgrid()

void TEvtProb::Set_LHAgrid ( const char *  path,
int  pdfmember = 0 
)

Definition at line 185 of file TEvtProb.cc.

185  {
186  char path_nnpdf_c[200];
187  sprintf(path_nnpdf_c, "%s", path);
188  int pathLength = strlen(path_nnpdf_c);
189  nnpdfdriver_(path_nnpdf_c, &pathLength);
190  nninitpdf_(&pdfmember);
191 }

◆ SetCandidateDecayMode()

void TEvtProb::SetCandidateDecayMode ( TVar::CandidateDecayMode  mode)

Definition at line 208 of file TEvtProb.cc.

◆ SetCurrentCandidate()

void TEvtProb::SetCurrentCandidate ( MELACandidate cand)

Definition at line 303 of file TEvtProb.cc.

303  {
304  melaCand = cand;
305  if (verbosity>=TVar::INFO && !melaCand) MELAout << "TEvtProb::SetCurrentCandidate: BE CAREFUL! !melaCand!" << endl;
306  if (verbosity>=TVar::INFO && GetCurrentCandidateIndex()<0) MELAout << "TEvtProb::SetCurrentCandidate: The current candidate is not in the list of candidates. It is the users' responsibility to delete this candidate and all of its associated particles." << endl;
307 }

◆ SetCurrentCandidateFromIndex()

void TEvtProb::SetCurrentCandidateFromIndex ( unsigned int  icand)

Definition at line 299 of file TEvtProb.cc.

299  {
300  if (candList.size()>icand) melaCand = candList.at(icand);
301  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::SetCurrentCandidateFromIndex: icand=" << icand << ">=candList.size()=" << candList.size() << endl;
302 }

◆ SetHiggsMass()

void TEvtProb::SetHiggsMass ( double  mass,
double  wHiggs = -1.,
int  whichResonance = -1 
)

Definition at line 217 of file TEvtProb.cc.

217  {
218  // Regular, first resonance
219  if (whichResonance==1 || whichResonance==-1){
220  if (mass<0.){
221  _hmass = -1;
222  _hwidth = 0;
223  }
224  else if (wHiggs<0.){
225  _hmass = mass;
227  }
228  else{
229  _hmass = mass;
230  _hwidth = wHiggs;
231  }
232  masses_mcfm_.hmass = _hmass;
233  masses_mcfm_.hwidth = _hwidth;
234 
237  }
238 
239  // Second resonance
240  if (whichResonance==2){
241  if (mass<0.){
242  _h2mass = -1;
243  _h2width = 0;
244  }
245  else if (wHiggs<0.){
246  _h2mass = mass;
248  }
249  else{
250  _h2mass = mass;
251  _h2width = wHiggs;
252  }
255  //SetJHUGenHiggsMassWidth(_h2mass, _h2width); // Second resonance is not implemented in JHUGen yet.
256  }
257  else if (whichResonance==-1){
258  _h2mass = -1;
259  _h2width = 0;
262  //SetJHUGenHiggsMassWidth(_h2mass, _h2width); // Second resonance is not implemented in JHUGen yet.
263  }
264 
266  << "TEvtProb::SetHiggsMass(" << mass << ", " << wHiggs << ", " << whichResonance << "):\n"
267  << '\t' << "hmass: " << _hmass << ", " << _hwidth << '\n'
268  << '\t' << "h2mass: " << _h2mass << ", " << _h2width << '\n'
269  << '\t' << "MCFM hmass: " << masses_mcfm_.hmass << ", " << masses_mcfm_.hwidth << '\n'
270  << '\t' << "MCFM h2mass: " << spinzerohiggs_anomcoupl_.h2mass << ", " << spinzerohiggs_anomcoupl_.h2width << endl;
271 }

◆ SetInputEvent()

void TEvtProb::SetInputEvent ( SimpleParticleCollection_t pDaughters,
SimpleParticleCollection_t pAssociated = 0,
SimpleParticleCollection_t pMothers = 0,
bool  isGen = false 
)

Definition at line 272 of file TEvtProb.cc.

277  {
279  pDaughters,
280  pAssociated,
281  pMothers,
282  isGen,
283  &particleList, &candList // push_back is done automatically
284  );
285  if (cand) melaCand=cand;
286 }

◆ SetLeptonInterf()

void TEvtProb::SetLeptonInterf ( TVar::LeptonInterference  tmp)

Definition at line 207 of file TEvtProb.cc.

207 { leptonInterf = tmp; }

◆ SetPrimaryHiggsMass()

void TEvtProb::SetPrimaryHiggsMass ( double  mass)

Definition at line 216 of file TEvtProb.cc.

216 { PrimaryHMass=mass; SetHiggsMass(PrimaryHMass, -1., -1); }

◆ SetProcess()

void TEvtProb::SetProcess ( TVar::Process  proc,
TVar::MatrixElement  me,
TVar::Production  prod 
)

Definition at line 192 of file TEvtProb.cc.

192  {
193  matrixElement = me;
194  production = prod;
195  // In case s-channel processes are passed for JHUGen ME, flip them back to JHUGen-specific productions.
196  if (matrixElement == TVar::JHUGen){
203  }
204  process = proc;
205 }

◆ SetRcdCandPtr()

void TEvtProb::SetRcdCandPtr ( )
protected

Definition at line 298 of file TEvtProb.cc.

298 { RcdME.melaCand = melaCand; }

◆ SetRenFacScaleMode()

void TEvtProb::SetRenFacScaleMode ( TVar::EventScaleScheme  renormalizationSch,
TVar::EventScaleScheme  factorizationSch,
double  ren_sf,
double  fac_sf 
)

Definition at line 209 of file TEvtProb.cc.

209  {
210  event_scales.renomalizationScheme = renormalizationSch;
211  event_scales.factorizationScheme = factorizationSch;
214 }

◆ SetVerbosity()

void TEvtProb::SetVerbosity ( TVar::VerbosityLevel  tmp)

Definition at line 206 of file TEvtProb.cc.

206 { verbosity = tmp; }

◆ SetWprimeMassWidth()

void TEvtProb::SetWprimeMassWidth ( double  inmass,
double  inwidth 
)

Definition at line 314 of file TEvtProb.cc.

314 { this->ResetMass(inmass, 34); this->ResetWidth(inwidth, 34); }

◆ SetZprimeMassWidth()

void TEvtProb::SetZprimeMassWidth ( double  inmass,
double  inwidth 
)

Definition at line 313 of file TEvtProb.cc.

313 { this->ResetMass(inmass, 32); this->ResetWidth(inwidth, 32); }

◆ XsecCalc_TTX()

double TEvtProb::XsecCalc_TTX ( int  topProcess,
int  topDecay 
)

Definition at line 975 of file TEvtProb.cc.

977  {
978  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_TTX" << endl;
979  double dXsec = 0;
980  ResetIORecord();
981  if (!CheckInputPresent()) return dXsec;
982 
983  if (matrixElement == TVar::JHUGen){
984  double Hqqcoupl[SIZE_HQQ][2]={ { 0 } };
985  if (process == TVar::HSMHiggs) Hqqcoupl[gHIGGS_KAPPA][0] = 1.;
986  else if (process == TVar::H0minus) Hqqcoupl[gHIGGS_KAPPA_TILDE][0] = 1.;
987  else if (process == TVar::SelfDefine_spin0){
988  for (int i=0; i<SIZE_HQQ; i++){
989  for (int j=0; j<2; j++){
990  if ((selfDSpinZeroCoupl.Httcoupl)[i][j]!=0. && production == TVar::ttH) Hqqcoupl[i][j] = (selfDSpinZeroCoupl.Httcoupl)[i][j];
991  else if ((selfDSpinZeroCoupl.Hbbcoupl)[i][j]!=0. && production == TVar::bbH) Hqqcoupl[i][j] = (selfDSpinZeroCoupl.Hbbcoupl)[i][j];
992  else Hqqcoupl[i][j] = (selfDSpinZeroCoupl.Hqqcoupl)[i][j];
993  }
994  }
995  }
997 
998  if (production == TVar::ttH) dXsec = TTHiggsMatEl(process, production, matrixElement, &event_scales, &RcdME, EBEAM, topDecay, topProcess, verbosity);
1000  else if (verbosity >= TVar::ERROR) MELAout << "TEvtProb::XsecCalc_TTX only supports ttH and bbH productions for the moment." << endl;
1001  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_TTX: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
1002  }
1003  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_TTX: Non-JHUGen ttH MEs are not supported!" << endl;
1004 
1005  ResetCouplings();
1007  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_TTX" << endl;
1008  return dXsec;
1009 }

◆ XsecCalc_VVXVV()

double TEvtProb::XsecCalc_VVXVV ( )

Definition at line 729 of file TEvtProb.cc.

729  {
730  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_VVXVV" << endl;
731  double dXsec=0;
732  ResetIORecord();
733  if (!CheckInputPresent()) return dXsec;
734 
735  bool useMCFM = matrixElement == TVar::MCFM;
736  bool needBSMHiggs=false;
737  bool needATQGC=false;
738  bool calculateME=false;
739  if (useMCFM){
740  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_VVXVV: Try MCFM" << endl;
741  needBSMHiggs = CheckSelfDCouplings_HVV();
742  needATQGC = CheckSelfDCouplings_aTQGC();
743  if (needBSMHiggs || needATQGC) SetLeptonInterf(TVar::InterfOn); // All anomalous coupling computations have to use lepton interference
744 
745  calculateME = (
749  );
750  if (calculateME){
751  SetMCFMSpinZeroCouplings(needBSMHiggs, &selfDSpinZeroCoupl, false);
754  }
755  else if (verbosity>=TVar::INFO) MELAout << "TEvtProb::XsecCalc_VVXVV: MCFM_chooser failed to determine the process configuration." << endl;
756  }
757  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_VVXVV: Non-MCFM Mes are not supported." << endl;
758 
760  << "Process " << TVar::ProcessName(process)
761  << " TEvtProb::XsecCalc_VVXVV: dXsec=" << dXsec
762  << endl;
763 
764  ResetCouplings(); // Should come first
765  if (useMCFM){ // Set defaults. Should come next...
766  if (needBSMHiggs || needATQGC) SetLeptonInterf(TVar::DefaultLeptonInterf);
767  if (calculateME){
768  // ... because of these!
771  }
772  }
774  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_VVXVV" << endl;
775  return dXsec;
776 }

◆ XsecCalc_VX()

double TEvtProb::XsecCalc_VX ( bool  includeHiggsDecay)

Definition at line 899 of file TEvtProb.cc.

901  {
902  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_VX" << endl;
903  if (matrixElement == TVar::MCFM) return XsecCalc_VVXVV();
904  double dXsec = 0;
905  ResetIORecord();
906  if (!CheckInputPresent()) return dXsec;
907 
908  AllowSeparateWWCouplings(false); // HZZ couplings are used for both in spin-0
909 
910  if (matrixElement == TVar::JHUGen){
911  double Hvvcoupl[SIZE_HVV][2] ={ { 0 } };
912  double HvvLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
913  int HvvCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
914  double Hvvpcoupl[SIZE_HVV][2] = { { 0 } };
915  double Hvpvpcoupl[SIZE_HVV][2] = { { 0 } };
916  double Zpffcoupl[SIZE_Vpff][2] = { { 0 } };
917  double Wpffcoupl[SIZE_Vpff][2] = { { 0 } };
918  double M_Zprime = -1;
919  double Ga_Zprime = 0;
920  double M_Wprime = -1;
921  double Ga_Wprime = 0;
922 
923  for (int ic=0; ic<SIZE_HVV_LAMBDAQSQ; ic++){ for (int ik=0; ik<SIZE_HVV_CQSQ; ik++) HvvLambda_qsq[ic][ik]=100.; }
924 
925  if (process == TVar::HSMHiggs) Hvvcoupl[gHIGGS_VV_1][0] = 1.;
926  else if (process == TVar::H0_g1prime2) Hvvcoupl[gHIGGS_VV_1_PRIME2][0] = 1.;
927  else if (process == TVar::H0hplus) Hvvcoupl[gHIGGS_VV_2][0] = 1.;
928  else if (process == TVar::H0minus) Hvvcoupl[gHIGGS_VV_4][0] = 1.;
929  else if (process == TVar::H0_Zgsg1prime2) Hvvcoupl[gHIGGS_ZA_1_PRIME2][0] = 1.;
930  else if (process == TVar::H0_Zgs) Hvvcoupl[gHIGGS_ZA_2][0] = 1.;
931  else if (process == TVar::H0_Zgs_PS) Hvvcoupl[gHIGGS_ZA_4][0] = 1.;
932  else if (process == TVar::H0_gsgs) Hvvcoupl[gHIGGS_AA_2][0] = 1.;
933  else if (process == TVar::H0_gsgs_PS) Hvvcoupl[gHIGGS_AA_4][0] = 1.;
934  else if (process == TVar::SelfDefine_spin0){
935  for (int i=0; i<SIZE_HVV; i++){
936  for (int j=0; j<2; j++){
937  Hvvcoupl[i][j] = (selfDSpinZeroCoupl.Hzzcoupl)[i][j];
938 
939  Hvvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzzpcoupl)[i][j];
940  Hvpvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j];
941  }
942  }
943  for (int i=0; i<SIZE_Vpff; i++){
944  for (int j=0; j<2; j++){
945  Zpffcoupl[i][j] = (selfDVprimeCoupl.Zpffcoupl)[i][j];
946  Wpffcoupl[i][j] = (selfDVprimeCoupl.Wpffcoupl)[i][j];
947  }
948  }
949  M_Zprime = selfDVprimeCoupl.M_Zprime;
950  Ga_Zprime = selfDVprimeCoupl.Ga_Zprime;
951  M_Wprime = selfDVprimeCoupl.M_Wprime;
952  Ga_Wprime = selfDVprimeCoupl.Ga_Wprime;
953  for (int j=0; j<SIZE_HVV_CQSQ; j++){
954  for (int i=0; i<SIZE_HVV_LAMBDAQSQ; i++) HvvLambda_qsq[i][j] = (selfDSpinZeroCoupl.HzzLambda_qsq)[i][j];
955  HvvCLambda_qsq[j] = (selfDSpinZeroCoupl.HzzCLambda_qsq)[j];
956  }
957  }
958  SetJHUGenSpinZeroVVCouplings(Hvvcoupl, Hvvpcoupl, Hvpvpcoupl, HvvCLambda_qsq, HvvLambda_qsq, false);
959  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
960  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
961  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
962 
963  dXsec = VHiggsMatEl(process, production, matrixElement, &event_scales, &RcdME, EBEAM, includeHiggsDecay, verbosity);
964  if (verbosity >= TVar::DEBUG) MELAout << "TEVtProb::XsecCalc_VX: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
965  } // end of JHUGen matrix element calculations
966  else if (verbosity>=TVar::ERROR) MELAerr << "TEVtProb::XsecCalc_VX: Non-JHUGen VH MEs are not supported!" << endl;
967 
968  ResetCouplings();
970  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_VX" << endl;
971  return dXsec;
972 }

◆ XsecCalc_XVV()

double TEvtProb::XsecCalc_XVV ( )

Definition at line 407 of file TEvtProb.cc.

407  {
408  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_XVV" << endl;
409  double dXsec=0;
410  ResetIORecord();
411  if (!CheckInputPresent()) return dXsec;
412 
413  bool useMCFM = matrixElement == TVar::MCFM;
414  bool calculateME=false;
415  bool needBSMHiggs=false;
416  bool needAZff=CheckSelfDCouplings_AZff();
417  if (useMCFM){
418  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV: Try MCFM" << endl;
420  if (needBSMHiggs || needAZff) SetLeptonInterf(TVar::InterfOn); // All anomalous coupling computations have to use lepton interference
421 
422  calculateME = (
423  production == TVar::ZZGG ||
424  production == TVar::ZZQQB ||
429  (production == TVar::JJQCD && process == TVar::bkgZJets) // Allow Z+jets to be computed here.
430  );
431  if (calculateME){
432  SetMCFMSpinZeroCouplings(needBSMHiggs, &selfDSpinZeroCoupl, false);
435  }
436  else if (verbosity>=TVar::INFO) MELAout << "TEvtProb::XsecCalc_XVV: MCFM_chooser failed to determine the process configuration." << endl;
437  }
438  else if (matrixElement == TVar::JHUGen){
439  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV::Try JHUGen" << endl;
440  AllowSeparateWWCouplings(false); // HZZ couplings are used for both in spin-0
441  // all the possible couplings
442  double Hggcoupl[SIZE_HGG][2] ={ { 0 } };
443  double Hvvcoupl[SIZE_HVV][2] ={ { 0 } };
444  double HvvLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
445  int HvvCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
446 
447  double Hvvpcoupl[SIZE_HVV][2] = { { 0 } };
448  double Hvpvpcoupl[SIZE_HVV][2] = { { 0 } };
449 
450  double Zqqcoupl[SIZE_ZQQ][2] ={ { 0 } };
451  double Zvvcoupl[SIZE_ZVV][2] ={ { 0 } };
452 
453  double Gqqcoupl[SIZE_GQQ][2] ={ { 0 } };
454  double Gggcoupl[SIZE_GGG][2] ={ { 0 } };
455  double Gvvcoupl[SIZE_GVV][2] ={ { 0 } };
456  double Gvvpcoupl[SIZE_GVV][2] ={ { 0 } };
457  double Gvpvpcoupl[SIZE_GVV][2] ={ { 0 } };
458 
459  double Zpffcoupl[SIZE_Vpff][2] ={ { 0 } };
460  double Wpffcoupl[SIZE_Vpff][2] ={ { 0 } };
461  double M_Zprime = -1;
462  double Ga_Zprime = 0;
463  double M_Wprime = -1;
464  double Ga_Wprime = 0;
465 
466  double AZffcoupl[SIZE_AZff][2] ={ { 0 } };
467  for (int j=0; j<2; j++){
468  for (int i=0; i<SIZE_AZff; i++){
469  AZffcoupl[i][j] = (selfDAZffCoupl.AZffcoupl)[i][j];
470  }
471  }
472  SetJHUGenAZffCouplings(needAZff, AZffcoupl);
473 
474  //
475  // set spin 0 default numbers
476  //
477  // By default set the Spin 0 couplings for SM case (0+m)
478  Hggcoupl[gHIGGS_GG_2][0]=1.0;
479  for (int ic=0; ic<SIZE_HVV_LAMBDAQSQ; ic++){ for (int ik=0; ik<SIZE_HVV_CQSQ; ik++) HvvLambda_qsq[ic][ik]=100.; }
480  //
481  // set spin 1 default numbers
482  //
483  Zqqcoupl[gZPRIME_QQ_LEFT][0]=1.0;
484  Zqqcoupl[gZPRIME_QQ_RIGHT][0]=1.0;
485  //
486  // set spin 2 default numbers
487  //
488  Gqqcoupl[gGRAVITON_QQ_LEFT][0]=1.0;
489  Gqqcoupl[gGRAVITON_QQ_RIGHT][0]=1.0;
490 
491  bool isSpinZero = false;
492  bool isSpinOne = false;
493  bool isSpinTwo = false;
494 
495  // 0m+
496  if (process == TVar::HSMHiggs){
497  Hvvcoupl[gHIGGS_VV_1][0]=1.;
498  isSpinZero = true;
499  }
500  // 0+L1
501  else if (process == TVar::H0_g1prime2){
502  Hvvcoupl[gHIGGS_VV_1_PRIME2][0] = 1.;
503  isSpinZero = true;
504  }
505  // 0h+
506  else if (process == TVar::H0hplus){
507  Hvvcoupl[gHIGGS_VV_2][0] = 1.;
508  isSpinZero = true;
509  }
510  // 0-
511  else if (process == TVar::H0minus){
512  Hvvcoupl[gHIGGS_VV_4][0] = 1.;
513  isSpinZero = true;
514  }
515  else if (process == TVar::H0_Zgsg1prime2){
516  Hvvcoupl[gHIGGS_ZA_1_PRIME2][0] = 1.;
517  isSpinZero = true;
518  }
519  else if (process == TVar::H0_Zgs){
520  Hvvcoupl[gHIGGS_ZA_2][0] = 1.;
521  isSpinZero = true;
522  }
523  else if (process == TVar::H0_Zgs_PS){
524  Hvvcoupl[gHIGGS_ZA_4][0] = 1.;
525  isSpinZero = true;
526  }
527  else if (process == TVar::H0_gsgs){
528  Hvvcoupl[gHIGGS_AA_2][0] = 1.;
529  isSpinZero = true;
530  }
531  else if (process == TVar::H0_gsgs_PS){
532  Hvvcoupl[gHIGGS_AA_4][0] = 1.;
533  isSpinZero = true;
534  }
535  else if (process == TVar::SelfDefine_spin0){
536  for (int j=0; j<2; j++){
537  for (int i=0; i<SIZE_HGG; i++) Hggcoupl[i][j] = (selfDSpinZeroCoupl.Hggcoupl)[i][j];
538  for (int i=0; i<SIZE_HVV; i++){
539  Hvvcoupl[i][j] = (selfDSpinZeroCoupl.Hzzcoupl)[i][j];
540 
541  Hvvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzzpcoupl)[i][j];
542  Hvpvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j];
543  }
544  }
545  for (int j=0; j<SIZE_HVV_CQSQ; j++){
546  for (int i=0; i<SIZE_HVV_LAMBDAQSQ; i++) HvvLambda_qsq[i][j] = (selfDSpinZeroCoupl.HzzLambda_qsq)[i][j];
547  HvvCLambda_qsq[j] = (selfDSpinZeroCoupl.HzzCLambda_qsq)[j];
548  }
549 
551  for (int j=0; j<2; j++){
552  for (int i=0; i<SIZE_HGG; i++){ if ((selfDSpinZeroCoupl.Hggcoupl)[i][j]!=0.) MELAout << "Hggcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hggcoupl)[i][j] << endl; }
553  for (int i=0; i<SIZE_HVV; i++){
554  if ((selfDSpinZeroCoupl.Hzzcoupl)[i][j]!=0.) MELAout << "Hvvcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hzzcoupl)[i][j] << endl;
555 
556  if ((selfDSpinZeroCoupl.Hzzpcoupl)[i][j]!=0.) MELAout << "Hzzpcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hzzpcoupl)[i][j] << endl;
557  if ((selfDSpinZeroCoupl.Hzpzpcoupl)[i][j]!=0.) MELAout << "Hzpzpcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j] << endl;
558  }
559  }
560  for (int j=0; j<SIZE_HVV_CQSQ; j++){
561  for (int i=0; i<SIZE_HVV_LAMBDAQSQ; i++){ if ((selfDSpinZeroCoupl.HzzLambda_qsq)[i][j]!=0.) MELAout << "HvvLambda_qsq[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.HzzLambda_qsq)[i][j] << endl; }
562  if ((selfDSpinZeroCoupl.HzzCLambda_qsq)[j]!=0.) MELAout << "HvvCLambda_qsq[" << j << "] = " << (selfDSpinZeroCoupl.HzzCLambda_qsq)[j] << endl;
563  }
564  }
565 
566  isSpinZero = true;
567  }
568 
569  // 1-
570  else if (process == TVar::H1minus){
571  Zvvcoupl[gZPRIME_VV_1][0]=1.;
572  isSpinOne = true;
573  }
574  // 1+
575  else if (process == TVar::H1plus){
576  Zvvcoupl[gZPRIME_VV_2][0]=1.;
577  isSpinOne = true;
578  }
579  else if (process == TVar::SelfDefine_spin1){
580  for (int j=0; j<2; j++){
581  for (int i=0; i<SIZE_ZQQ; i++) Zqqcoupl[i][j] = (selfDSpinOneCoupl.Zqqcoupl)[i][j];
582  for (int i=0; i<SIZE_ZVV; i++) Zvvcoupl[i][j] = (selfDSpinOneCoupl.Zvvcoupl)[i][j];
583  }
584  isSpinOne = true;
585  }
586 
587  // 2m+
588  else if (process == TVar::H2_g1g5){
589  Gggcoupl[gGRAVITON_GG_1][0]=1.;
590  Gvvcoupl[gGRAVITON_VV_1][0]=1.;
591  Gvvcoupl[gGRAVITON_VV_5][0]=1.;
592  isSpinTwo = true;
593  }
594  // 2b+
595  else if (process == TVar::H2_g1){
596  Gggcoupl[gGRAVITON_GG_1][0]=1.;
597  Gvvcoupl[gGRAVITON_VV_1][0]=1.;
598  isSpinTwo = true;
599  }
600  else if (process == TVar::H2_g2){
601  Gggcoupl[gGRAVITON_GG_2][0]=1.;
602  Gvvcoupl[gGRAVITON_VV_2][0]=1.;
603  isSpinTwo = true;
604  }
605  // 2h3plus
606  else if (process == TVar::H2_g3){
607  Gggcoupl[gGRAVITON_GG_3][0]=1.;
608  Gvvcoupl[gGRAVITON_VV_3][0]=1.;
609  isSpinTwo = true;
610  }
611  // 2h+
612  else if (process == TVar::H2_g4){
613  Gggcoupl[gGRAVITON_GG_4][0]=1.;
614  Gvvcoupl[gGRAVITON_VV_4][0]=1.;
615  isSpinTwo = true;
616  }
617  // 2b+
618  else if (process == TVar::H2_g5){
619  Gggcoupl[gGRAVITON_GG_1][0]=1.;
620  Gvvcoupl[gGRAVITON_VV_5][0]=1.;
621  isSpinTwo = true;
622  }
623  // 2h6+
624  else if (process == TVar::H2_g6){
625  Gggcoupl[gGRAVITON_GG_1][0]=1.;
626  Gvvcoupl[gGRAVITON_VV_6][0]=1.;
627  isSpinTwo = true;
628  }
629  // 2h7plus
630  else if (process == TVar::H2_g7){
631  Gggcoupl[gGRAVITON_GG_1][0]=1.;
632  Gvvcoupl[gGRAVITON_VV_7][0]=1.;
633  isSpinTwo = true;
634  }
635  // 2h-
636  else if (process == TVar::H2_g8){
637  Gggcoupl[gGRAVITON_GG_5][0]=1.;
638  Gvvcoupl[gGRAVITON_VV_8][0]=1.;
639  isSpinTwo = true;
640  }
641  // 2h9minus
642  else if (process == TVar::H2_g9){
643  Gggcoupl[gGRAVITON_GG_5][0]=1.;
644  Gvvcoupl[gGRAVITON_VV_9][0]=1.;
645  isSpinTwo = true;
646  }
647  // 2h10minus
648  else if (process == TVar::H2_g10){
649  Gggcoupl[gGRAVITON_GG_5][0]=1.;
650  Gvvcoupl[gGRAVITON_VV_10][0]=1.;
651  isSpinTwo = true;
652  }
653  else if (process == TVar::SelfDefine_spin2){
654  for (int j=0; j<2; j++){
655  for (int i=0; i<SIZE_GGG; i++) Gggcoupl[i][j] = (selfDSpinTwoCoupl.Gggcoupl)[i][j];
656  for (int i=0; i<SIZE_GQQ; i++) Gqqcoupl[i][j] = (selfDSpinTwoCoupl.Gqqcoupl)[i][j];
657  for (int i=0; i<SIZE_GVV; i++){
658  Gvvcoupl[i][j] = (selfDSpinTwoCoupl.Gvvcoupl)[i][j];
659  Gvvpcoupl[i][j] = (selfDSpinTwoCoupl.Gvvpcoupl)[i][j];
660  Gvpvpcoupl[i][j] = (selfDSpinTwoCoupl.Gvpvpcoupl)[i][j];
661  }
662  }
663  isSpinTwo = true;
664  }
665 
666  // Vprime / contact couplings
668  for (int j=0; j<2; j++){
669  for (int i=0; i<SIZE_Vpff; i++){
670  Zpffcoupl[i][j] = (selfDVprimeCoupl.Zpffcoupl)[i][j];
671  Wpffcoupl[i][j] = (selfDVprimeCoupl.Wpffcoupl)[i][j];
672  }
673  }
674  M_Zprime = selfDVprimeCoupl.M_Zprime;
675  Ga_Zprime = selfDVprimeCoupl.Ga_Zprime;
676  M_Wprime = selfDVprimeCoupl.M_Wprime;
677  Ga_Wprime = selfDVprimeCoupl.Ga_Wprime;
678 
680  for (int j=0; j<2; j++){
681  for (int i=0; i<SIZE_Vpff; i++){
682  if ((selfDVprimeCoupl.Zpffcoupl)[i][j]!=0.) MELAout << "Zpffcoupl[" << i << "][" << j << "] = " << (selfDVprimeCoupl.Zpffcoupl)[i][j] << endl;
683  if ((selfDVprimeCoupl.Wpffcoupl)[i][j]!=0.) MELAout << "Wpffcoupl[" << i << "][" << j << "] = " << (selfDVprimeCoupl.Wpffcoupl)[i][j] << endl;
684  }
685  }
686  MELAout << "M_Zprime = " << selfDVprimeCoupl.M_Zprime << endl;
687  MELAout << "Ga_Zprime = " << selfDVprimeCoupl.Ga_Zprime << endl;
688  MELAout << "M_Wprime = " << selfDVprimeCoupl.M_Wprime << endl;
689  MELAout << "Ga_Wprime = " << selfDVprimeCoupl.Ga_Wprime << endl;
690  }
691  }
692 
693  if (isSpinZero){
695  SetJHUGenSpinZeroVVCouplings(Hvvcoupl, Hvvpcoupl, Hvpvpcoupl, HvvCLambda_qsq, HvvLambda_qsq, false);
696  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
697  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
698  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
699  }
700  else if (isSpinOne) SetJHUGenSpinOneCouplings(Zqqcoupl, Zvvcoupl);
701  else if (isSpinTwo){
702  SetJHUGenSpinTwoCouplings(Gggcoupl, Gvvcoupl, Gvvpcoupl, Gvpvpcoupl, Gqqcoupl);
703  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
704  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
705  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
706  }
707 
708  if (isSpinZero || isSpinOne || isSpinTwo) dXsec = JHUGenMatEl(process, production, matrixElement, &event_scales, &RcdME, EBEAM, verbosity);
709  else if (verbosity>=TVar::ERROR) MELAerr
710  << "TEvtProb::XsecCalc_XVV: JHUGen ME is not spin zero, one or two! The process is described by "
711  << "Process: " << TVar::ProcessName(process) << ", Production: " << TVar::ProductionName(production) << ", and ME: " << TVar::MatrixElementName(matrixElement)
712  << endl;
713  } // end of JHUGen matrix element calculations
714 
715  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
716 
717  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV::Reset couplings" << endl;
718  ResetCouplings(); // Should come first
719  if (useMCFM){ // Set defaults. Should come next...
720  if (needBSMHiggs) SetLeptonInterf(TVar::DefaultLeptonInterf);
721  if (calculateME) SetMCFMSpinZeroCouplings(false, &selfDSpinZeroCoupl, true); // ... because of this!
722  }
724  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_XVV" << endl;
725  return dXsec;
726 }

◆ XsecCalcXJ()

double TEvtProb::XsecCalcXJ ( )

Definition at line 868 of file TEvtProb.cc.

868  {
869  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_XJ" << endl;
870  double dXsec = 0;
871  ResetIORecord();
872  if (!CheckInputPresent()) return dXsec;
873 
874  // Calculate the ME
875  if (matrixElement == TVar::JHUGen){
876  // Not currently supported, but implement anyway
877  double Hggcoupl[SIZE_HGG][2] ={ { 0 } };
878  if (process == TVar::HSMHiggs) Hggcoupl[gHIGGS_GG_2][0] = 1.;
879  else if (process == TVar::H0minus) Hggcoupl[gHIGGS_GG_4][0] = 1.;
880  else if (process == TVar::SelfDefine_spin0){
881  for (int j=0; j<2; j++){
882  for (int i=0; i<SIZE_HGG; i++) Hggcoupl[i][j] = (selfDSpinZeroCoupl.Hggcoupl)[i][j];
883  }
884  }
886 
888  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XJ: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
889  }
890  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_XJ: Non-JHUGen HJ MEs are not supported!" << endl;
891 
892  ResetCouplings();
894  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_XJ" << endl;
895  return dXsec;
896 }

◆ XsecCalcXJJ()

double TEvtProb::XsecCalcXJJ ( )

Definition at line 779 of file TEvtProb.cc.

779  {
780  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_XJJ" << endl;
781  if (matrixElement == TVar::MCFM) return XsecCalc_VVXVV();
782  double dXsec = 0;
783  ResetIORecord();
784  if (!CheckInputPresent()) return dXsec;
785 
786  if (matrixElement == TVar::JHUGen){
787  if (production == TVar::JJQCD){
788  double Hggcoupl[SIZE_HGG][2] ={ { 0 } };
789  if (process == TVar::HSMHiggs) Hggcoupl[gHIGGS_GG_2][0] = 1.;
790  else if (process == TVar::H0minus) Hggcoupl[gHIGGS_GG_4][0] = 1.;
791  else if (process == TVar::SelfDefine_spin0){
792  for (int j=0; j<2; j++){
793  for (int i=0; i<SIZE_HGG; i++) Hggcoupl[i][j] = (selfDSpinZeroCoupl.Hggcoupl)[i][j];
794  }
795  }
797  }
798  else if (production == TVar::JJVBF){
799  double Hzzcoupl[SIZE_HVV][2] ={ { 0 } };
800  double Hwwcoupl[SIZE_HVV][2] ={ { 0 } };
801  double HzzLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
802  double HwwLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
803  int HzzCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
804  int HwwCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
805  double Hzzpcoupl[SIZE_HVV][2] = { { 0 } };
806  double Hzpzpcoupl[SIZE_HVV][2] = { { 0 } };
807  double Zpffcoupl[SIZE_Vpff][2] = { { 0 } };
808  double Hwwpcoupl[SIZE_HVV][2] = { { 0 } };
809  double Hwpwpcoupl[SIZE_HVV][2] = { { 0 } };
810  double Wpffcoupl[SIZE_Vpff][2] = { { 0 } };
811  double M_Zprime = -1;
812  double Ga_Zprime = 0;
813  double M_Wprime = -1;
814  double Ga_Wprime = 0;
815 
816  for (int ic=0; ic<SIZE_HVV_LAMBDAQSQ; ic++){ for (int ik=0; ik<SIZE_HVV_CQSQ; ik++){ HzzLambda_qsq[ic][ik]=100.; HwwLambda_qsq[ic][ik]=100.; } }
818 
819  if (process == TVar::HSMHiggs){ Hzzcoupl[gHIGGS_VV_1][0] = 1.; Hwwcoupl[gHIGGS_VV_1][0] = 1.; }
820  else if (process == TVar::H0_g1prime2){ Hzzcoupl[gHIGGS_VV_1_PRIME2][0] = 1.; Hwwcoupl[gHIGGS_VV_1_PRIME2][0] = 1.; }
821  else if (process == TVar::H0hplus){ Hzzcoupl[gHIGGS_VV_2][0] = 1.; Hwwcoupl[gHIGGS_VV_2][0] = 1.; }
822  else if (process == TVar::H0minus){ Hzzcoupl[gHIGGS_VV_4][0] = 1.; Hwwcoupl[gHIGGS_VV_4][0] = 1.; }
823  else if (process == TVar::H0_Zgsg1prime2){ Hzzcoupl[gHIGGS_ZA_1_PRIME2][0] = 1.; }
824  else if (process == TVar::H0_Zgs){ Hzzcoupl[gHIGGS_ZA_2][0] = 1.; }
825  else if (process == TVar::H0_Zgs_PS){ Hzzcoupl[gHIGGS_ZA_4][0] = 1.; }
826  else if (process == TVar::H0_gsgs){ Hzzcoupl[gHIGGS_AA_2][0] = 1.; }
827  else if (process == TVar::H0_gsgs_PS){ Hzzcoupl[gHIGGS_AA_4][0] = 1.; }
828  else if (process == TVar::SelfDefine_spin0){
829  for (int j=0; j<2; j++){
830  for (int i=0; i<SIZE_HVV; i++){
831  Hzzcoupl[i][j] = (selfDSpinZeroCoupl.Hzzcoupl)[i][j]; Hwwcoupl[i][j] = (selfDSpinZeroCoupl.Hwwcoupl)[i][j];
832  Hzzpcoupl[i][j] = (selfDSpinZeroCoupl.Hzzpcoupl)[i][j]; Hwwpcoupl[i][j] = (selfDSpinZeroCoupl.Hwwpcoupl)[i][j];
833  Hzpzpcoupl[i][j] = (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j]; Hwpwpcoupl[i][j] = (selfDSpinZeroCoupl.Hwpwpcoupl)[i][j];
834  }
835  for (int i=0; i<SIZE_Vpff; i++){
836  Zpffcoupl[i][j] = (selfDVprimeCoupl.Zpffcoupl)[i][j]; Wpffcoupl[i][j] = (selfDVprimeCoupl.Wpffcoupl)[i][j];
837  }
838  }
839  M_Zprime = selfDVprimeCoupl.M_Zprime;
840  Ga_Zprime = selfDVprimeCoupl.Ga_Zprime;
841  M_Wprime = selfDVprimeCoupl.M_Wprime;
842  Ga_Wprime = selfDVprimeCoupl.Ga_Wprime;
843  for (int j=0; j<SIZE_HVV_CQSQ; j++){
844  for (int i=0; i<SIZE_HVV_LAMBDAQSQ; i++){ HzzLambda_qsq[i][j] = (selfDSpinZeroCoupl.HzzLambda_qsq)[i][j]; HwwLambda_qsq[i][j] = (selfDSpinZeroCoupl.HwwLambda_qsq)[i][j]; }
845  HzzCLambda_qsq[j] = (selfDSpinZeroCoupl.HzzCLambda_qsq)[j]; HwwCLambda_qsq[j] = (selfDSpinZeroCoupl.HwwCLambda_qsq)[j];
846  }
848  }
849  SetJHUGenSpinZeroVVCouplings(Hzzcoupl, Hzzpcoupl, Hzpzpcoupl, HzzCLambda_qsq, HzzLambda_qsq, false);
850  SetJHUGenSpinZeroVVCouplings(Hwwcoupl, Hwwpcoupl, Hwpwpcoupl, HwwCLambda_qsq, HwwLambda_qsq, true); // Set the WW couplings regardless of SetJHUGenDistinguishWWCouplings(false/true) because of how JHUGen handles this true flag.
851  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
852  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
853  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
854  }
855 
857  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XJJ: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
858  }
859  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_XJJ: Non-JHUGen vbfMELA MEs are not supported!" << endl;
860 
861  ResetCouplings();
863  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_XJJ" << endl;
864  return dXsec;
865 }

Member Data Documentation

◆ _h2mass

double TEvtProb::_h2mass
protected

Definition at line 149 of file TEvtProb.hh.

◆ _h2width

double TEvtProb::_h2width
protected

Definition at line 150 of file TEvtProb.hh.

◆ _hmass

double TEvtProb::_hmass
protected

Definition at line 147 of file TEvtProb.hh.

◆ _hwidth

double TEvtProb::_hwidth
protected

Definition at line 148 of file TEvtProb.hh.

◆ candList

std::vector<MELACandidate*> TEvtProb::candList
protected

Definition at line 165 of file TEvtProb.hh.

◆ EBEAM

double TEvtProb::EBEAM
protected

Definition at line 151 of file TEvtProb.hh.

◆ event_scales

TVar::event_scales_type TEvtProb::event_scales
protected

Definition at line 153 of file TEvtProb.hh.

◆ leptonInterf

TVar::LeptonInterference TEvtProb::leptonInterf
protected

Definition at line 145 of file TEvtProb.hh.

◆ matrixElement

TVar::MatrixElement TEvtProb::matrixElement
protected

Definition at line 142 of file TEvtProb.hh.

◆ melaCand

MELACandidate* TEvtProb::melaCand
protected

Definition at line 163 of file TEvtProb.hh.

◆ myCSW_

MELAHXSWidth TEvtProb::myCSW_
protected

Definition at line 152 of file TEvtProb.hh.

◆ particleList

std::vector<MELAParticle*> TEvtProb::particleList
protected

Definition at line 164 of file TEvtProb.hh.

◆ pathtoPDFSet_

const char* TEvtProb::pathtoPDFSet_
protected

Definition at line 139 of file TEvtProb.hh.

◆ PDFMember_

int TEvtProb::PDFMember_
protected

Definition at line 140 of file TEvtProb.hh.

◆ PrimaryHMass

double TEvtProb::PrimaryHMass
protected

Definition at line 146 of file TEvtProb.hh.

◆ process

TVar::Process TEvtProb::process
protected

Definition at line 141 of file TEvtProb.hh.

◆ production

TVar::Production TEvtProb::production
protected

Definition at line 143 of file TEvtProb.hh.

◆ RcdME

MelaIO TEvtProb::RcdME
protected

Definition at line 161 of file TEvtProb.hh.

◆ selfDaTQGCCoupl

aTQGCCouplings TEvtProb::selfDaTQGCCoupl
protected

Definition at line 159 of file TEvtProb.hh.

◆ selfDAZffCoupl

AZffCouplings TEvtProb::selfDAZffCoupl
protected

Definition at line 160 of file TEvtProb.hh.

◆ selfDSpinOneCoupl

SpinOneCouplings TEvtProb::selfDSpinOneCoupl
protected

Definition at line 156 of file TEvtProb.hh.

◆ selfDSpinTwoCoupl

SpinTwoCouplings TEvtProb::selfDSpinTwoCoupl
protected

Definition at line 157 of file TEvtProb.hh.

◆ selfDSpinZeroCoupl

SpinZeroCouplings TEvtProb::selfDSpinZeroCoupl
protected

Definition at line 155 of file TEvtProb.hh.

◆ selfDVprimeCoupl

VprimeCouplings TEvtProb::selfDVprimeCoupl
protected

Definition at line 158 of file TEvtProb.hh.

◆ topCandList

std::vector<MELATopCandidate_t*> TEvtProb::topCandList
protected

Definition at line 166 of file TEvtProb.hh.

◆ verbosity

TVar::VerbosityLevel TEvtProb::verbosity
protected

Definition at line 144 of file TEvtProb.hh.


The documentation for this class was generated from the following files:
TVar::H1plus
@ H1plus
Definition: TVar.hh:149
SpinZeroCouplings::HzzCLambda_qsq
int HzzCLambda_qsq[SIZE_HVV_CQSQ]
Definition: TCouplings.hh:39
TVar::ERROR
@ ERROR
Definition: TVar.hh:49
MelaIO::getRef
MelaIO * getRef()
Definition: MelaIO.h:51
TEvtProb::particleList
std::vector< MELAParticle * > particleList
Definition: TEvtProb.hh:164
SpinZeroCouplings::Hwpwpcoupl
double Hwpwpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:60
TEvtProb::leptonInterf
TVar::LeptonInterference leptonInterf
Definition: TEvtProb.hh:145
TVar::JJVBF
@ JJVBF
Definition: TVar.hh:72
TUtil::ResonancePropagator
double ResonancePropagator(double const &sqrts, TVar::ResonancePropagatorScheme scheme)
Definition: TUtil.cc:7929
TEvtProb::CheckInputPresent
bool CheckInputPresent()
Definition: TEvtProb.cc:389
TEvtProb::RcdME
MelaIO RcdME
Definition: TEvtProb.hh:161
TUtil::SetJHUGenSpinZeroGGCouplings
void SetJHUGenSpinZeroGGCouplings(double Hggcoupl[SIZE_HGG][2])
Definition: TUtil.cc:4084
TVar::Had_ZH_S
@ Had_ZH_S
Definition: TVar.hh:86
TEvtProb::SetCandidateDecayMode
void SetCandidateDecayMode(TVar::CandidateDecayMode mode)
Definition: TEvtProb.cc:208
SIZE_GVV
@ SIZE_GVV
Definition: raw_couplings.txt:158
TEvtProb::ResetRenFacScaleMode
void ResetRenFacScaleMode()
Definition: TEvtProb.cc:311
TVar::H0_Zgs_PS
@ H0_Zgs_PS
Definition: TVar.hh:132
AZffCouplings::getRef
AZffCouplings * getRef()
Definition: TCouplings.cc:478
SpinZeroCouplings::H2zzcoupl
double H2zzcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:50
gHIGGS_KAPPA_TILDE
@ gHIGGS_KAPPA_TILDE
Definition: raw_couplings.txt:3
gGRAVITON_VV_10
@ gGRAVITON_VV_10
Definition: raw_couplings.txt:144
TEvtProb::verbosity
TVar::VerbosityLevel verbosity
Definition: TEvtProb.hh:144
TUtil::BBHiggsMatEl
double BBHiggsMatEl(const TVar::Process &process, const TVar::Production &production, const TVar::MatrixElement &matrixElement, TVar::event_scales_type *event_scales, MelaIO *RcdME, const double &EBEAM, int botProcess, TVar::VerbosityLevel verbosity)
Definition: TUtil.cc:7562
TEvtProb::candList
std::vector< MELACandidate * > candList
Definition: TEvtProb.hh:165
SIZE_HVV_CQSQ
@ SIZE_HVV_CQSQ
Definition: raw_couplings.txt:74
TVar::JJEWQCD
@ JJEWQCD
Definition: TVar.hh:74
gGRAVITON_GG_3
@ gGRAVITON_GG_3
Definition: raw_couplings.txt:127
TVar::H0minus
@ H0minus
Definition: TVar.hh:129
TEvtProb::CheckSelfDCouplings_Hgg
bool CheckSelfDCouplings_Hgg()
Definition: TEvtProb.cc:1019
TVar::CandidateDecay_ZZ
@ CandidateDecay_ZZ
Definition: TVar.hh:41
MelaIO::reset
void reset()
Definition: MelaIO.h:31
TEvtProb::SetHiggsMass
void SetHiggsMass(double mass, double wHiggs=-1., int whichResonance=-1)
Definition: TEvtProb.cc:217
TUtil::SetJHUGenHiggsMassWidth
void SetJHUGenHiggsMassWidth(double MReso, double GaReso)
Definition: TUtil.cc:3347
VprimeCouplings::M_Wprime
double M_Wprime
Definition: TCouplings.hh:124
TUtil::HJJMatEl
double HJJMatEl(const TVar::Process &process, const TVar::Production &production, const TVar::MatrixElement &matrixElement, TVar::event_scales_type *event_scales, MelaIO *RcdME, const double &EBEAM, TVar::VerbosityLevel verbosity)
Definition: TUtil.cc:5118
TUtil::SetMCFMAZffCouplings
void SetMCFMAZffCouplings(bool useBSM, AZffCouplings const *Zcouplings)
Definition: TUtil.cc:4044
SpinOneCouplings::Zqqcoupl
double Zqqcoupl[SIZE_ZQQ][2]
Definition: TCouplings.hh:79
TVar::INFO
@ INFO
Definition: TVar.hh:50
TVar::Lep_WH_S
@ Lep_WH_S
Definition: TVar.hh:89
SIZE_GGG
@ SIZE_GGG
Definition: raw_couplings.txt:131
TEvtProb::SetRcdCandPtr
void SetRcdCandPtr()
Definition: TEvtProb.cc:298
aTQGCCouplings::aTQGCcoupl
double aTQGCcoupl[SIZE_ATQGC][2]
Definition: TCouplings.hh:140
VprimeCouplings::Ga_Wprime
double Ga_Wprime
Definition: TCouplings.hh:125
VprimeCouplings::M_Zprime
double M_Zprime
Definition: TCouplings.hh:122
aTQGCCouplings::reset
void reset()
Definition: TCouplings.cc:443
SpinZeroCouplings::Ht4t4coupl
double Ht4t4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:32
TVar::ProductionName
TString ProductionName(TVar::Production temp)
Definition: TVar.cc:64
TEvtProb::ResetCouplings
void ResetCouplings()
Definition: TEvtProb.cc:328
VprimeCouplings::Ga_Zprime
double Ga_Zprime
Definition: TCouplings.hh:123
TUtil::SetAlphaS
void SetAlphaS(double &Q_ren, double &Q_fac, double multiplier_ren, double multiplier_fac, int mynloop, int mynflav, std::string mypartons)
TEvtProb::EBEAM
double EBEAM
Definition: TEvtProb.hh:151
TVar::H2_g10
@ H2_g10
Definition: TVar.hh:161
TEvtProb::_h2width
double _h2width
Definition: TEvtProb.hh:150
TEvtProb::CheckSelfDCouplings_Htt
bool CheckSelfDCouplings_Htt()
Definition: TEvtProb.cc:1065
TVar::SelfDefine_spin2
@ SelfDefine_spin2
Definition: TVar.hh:182
TEvtProb::GetPrimaryHiggsMass
double GetPrimaryHiggsMass()
Definition: TEvtProb.cc:362
SIZE_ZQQ
@ SIZE_ZQQ
Definition: raw_couplings.txt:107
TVar::bkgZJets
@ bkgZJets
Definition: TVar.hh:165
TEvtProb::ResetMCFM_EWKParameters
void ResetMCFM_EWKParameters(double ext_Gf, double ext_aemmz, double ext_mW, double ext_mZ, double ext_xW, int ext_ewscheme=3)
Definition: TEvtProb.cc:327
TEvtProb::ResetInputEvent
void ResetInputEvent()
Definition: TEvtProb.cc:338
TEvtProb::SetWprimeMassWidth
void SetWprimeMassWidth(double inmass, double inwidth)
Definition: TEvtProb.cc:314
TVar::ZZINDEPENDENT
@ ZZINDEPENDENT
Definition: TVar.hh:64
TUtil::SetMass
void SetMass(double inmass, int ipart)
Definition: TUtil.cc:1445
PDGHelpers::isAHiggs
bool isAHiggs(const int id)
Definition: PDGHelpers.cc:84
TVar::JJQCD
@ JJQCD
Definition: TVar.hh:71
TUtil::SetJHUGenVprimeContactCouplings
void SetJHUGenVprimeContactCouplings(double Zpffcoupl[SIZE_Vpff][2], double Wpffcoupl[SIZE_Vpff][2])
Definition: TUtil.cc:4090
TEvtProb::_h2mass
double _h2mass
Definition: TEvtProb.hh:149
SpinZeroCouplings::H2b4b4coupl
double H2b4b4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:48
mela.prod
prod
Definition: mela.py:806
TEvtProb::PDFMember_
int PDFMember_
Definition: TEvtProb.hh:140
TVar::ZZQQB
@ ZZQQB
Definition: TVar.hh:62
SpinZeroCouplings::HwwLambda_qsq
double HwwLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ]
Definition: TCouplings.hh:38
TVar::H1minus
@ H1minus
Definition: TVar.hh:148
VprimeCouplings::Zpffcoupl
double Zpffcoupl[SIZE_Vpff][2]
Definition: TCouplings.hh:119
gHIGGS_AA_2
@ gHIGGS_AA_2
Definition: raw_couplings.txt:18
TEvtProb::InitializeMCFM
void InitializeMCFM()
Definition: TEvtProb.cc:82
SpinTwoCouplings::Gvpvpcoupl
double Gvpvpcoupl[SIZE_GVV][2]
Definition: TCouplings.hh:100
TUtil::SetMCFMSpinZeroCouplings
void SetMCFMSpinZeroCouplings(bool useBSM, SpinZeroCouplings const *Hcouplings, bool forceZZ)
Definition: TUtil.cc:3360
gGRAVITON_VV_1
@ gGRAVITON_VV_1
Definition: raw_couplings.txt:135
TVar::DEBUG_VERBOSE
@ DEBUG_VERBOSE
Definition: TVar.hh:52
nnpdfdriver_
void nnpdfdriver_(char *gridfilename, int *lenfilename)
TUtil::SetJHUGenSpinOneCouplings
void SetJHUGenSpinOneCouplings(double Zqqcoupl[SIZE_ZQQ][2], double Zvvcoupl[SIZE_ZVV][2])
Definition: TUtil.cc:4086
TEvtProb::InitializeJHUGen
void InitializeJHUGen(const char *pathtoPDFSet, int PDFMember)
Definition: TEvtProb.cc:142
SpinOneCouplings::Zvvcoupl
double Zvvcoupl[SIZE_ZVV][2]
Definition: TCouplings.hh:78
TVar::H2_g7
@ H2_g7
Definition: TVar.hh:158
TEvtProb::CheckSelfDCouplings_Hbb
bool CheckSelfDCouplings_Hbb()
Definition: TEvtProb.cc:1090
SIZE_ZVV
@ SIZE_ZVV
Definition: raw_couplings.txt:114
TVar::ZZQQB_TU
@ ZZQQB_TU
Definition: TVar.hh:92
SpinZeroCouplings::separateWWZZcouplings
bool separateWWZZcouplings
Definition: TCouplings.hh:62
SpinZeroCouplings::Httcoupl
double Httcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:29
gHIGGS_ZA_2
@ gHIGGS_ZA_2
Definition: raw_couplings.txt:14
TUtil::SetDecayWidth
void SetDecayWidth(double inwidth, int ipart)
Definition: TUtil.cc:1491
TEvtProb::selfDSpinZeroCoupl
SpinZeroCouplings selfDSpinZeroCoupl
Definition: TEvtProb.hh:155
SpinZeroCouplings::Hzzpcoupl
double Hzzpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:57
TEvtProb::selfDVprimeCoupl
VprimeCouplings selfDVprimeCoupl
Definition: TEvtProb.hh:158
TVar::ZZGG
@ ZZGG
Definition: TVar.hh:61
TVar::ProcessName
TString ProcessName(TVar::Process temp)
Definition: TVar.cc:6
gGRAVITON_VV_9
@ gGRAVITON_VV_9
Definition: raw_couplings.txt:143
TVar::H0_Zgsg1prime2
@ H0_Zgsg1prime2
Definition: TVar.hh:130
gGRAVITON_QQ_LEFT
@ gGRAVITON_QQ_LEFT
Definition: raw_couplings.txt:118
TEvtProb::event_scales
TVar::event_scales_type event_scales
Definition: TEvtProb.hh:153
TEvtProb::SetRenFacScaleMode
void SetRenFacScaleMode(TVar::EventScaleScheme renormalizationSch, TVar::EventScaleScheme factorizationSch, double ren_sf, double fac_sf)
Definition: TEvtProb.cc:209
MELAStreamHelpers::MELAout
MELAOutputStreamer MELAout
SpinZeroCouplings::Hg4g4coupl
double Hg4g4coupl[SIZE_HGG][2]
Definition: TCouplings.hh:31
qlinit_
void qlinit_()
TEvtProb::myCSW_
MELAHXSWidth myCSW_
Definition: TEvtProb.hh:152
TVar::DefaultLeptonInterf
@ DefaultLeptonInterf
Definition: TVar.hh:107
TEvtProb::SetLeptonInterf
void SetLeptonInterf(TVar::LeptonInterference tmp)
Definition: TEvtProb.cc:207
MELAParticle::m
double m() const
Definition: MELAParticle.h:66
TVar::H2_g5
@ H2_g5
Definition: TVar.hh:155
gGRAVITON_GG_5
@ gGRAVITON_GG_5
Definition: raw_couplings.txt:129
TUtil::SetJHUGenSpinTwoCouplings
void SetJHUGenSpinTwoCouplings(double Gacoupl[SIZE_GGG][2], double Gvvcoupl[SIZE_GVV][2], double Gvvpcoupl[SIZE_GVV][2], double Gvpvpcoupl[SIZE_GVV][2], double qLeftRightcoupl[SIZE_GQQ][2])
Definition: TUtil.cc:4087
SIZE_HQQ
@ SIZE_HQQ
Definition: raw_couplings.txt:5
TEvtProb::production
TVar::Production production
Definition: TEvtProb.hh:143
TVar::H0_g1prime2
@ H0_g1prime2
Definition: TVar.hh:127
TUtil::ConvertVectorFormat
MELACandidate * ConvertVectorFormat(SimpleParticleCollection_t *pDaughters, SimpleParticleCollection_t *pAssociated, SimpleParticleCollection_t *pMothers, bool isGen, std::vector< MELAParticle * > *particleList, std::vector< MELACandidate * > *candList)
Definition: TUtil.cc:8410
TEvtProb::SetCurrentCandidateFromIndex
void SetCurrentCandidateFromIndex(unsigned int icand)
Definition: TEvtProb.cc:299
anonymous_namespace{TCouplingsBase.hh}::SIZE_HGG
@ SIZE_HGG
Definition: TCouplingsBase.hh:40
TEvtProb::melaCand
MELACandidate * melaCand
Definition: TEvtProb.hh:163
TVar::H2_g3
@ H2_g3
Definition: TVar.hh:153
gGRAVITON_VV_2
@ gGRAVITON_VV_2
Definition: raw_couplings.txt:136
SpinZeroCouplings::Hzpzpcoupl
double Hzpzpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:58
SpinTwoCouplings::getRef
SpinTwoCouplings * getRef()
Definition: TCouplings.cc:341
TUtil::SetJHUGenSpinZeroVVCouplings
void SetJHUGenSpinZeroVVCouplings(double Hvvcoupl[SIZE_HVV][2], double Hvvpcoupl[SIZE_HVV][2], double Hvpvpcoupl[SIZE_HVV][2], int Hvvcoupl_cqsq[SIZE_HVV_CQSQ], double HvvLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ], bool useWWcoupl)
Definition: TUtil.cc:4078
MELAHXSWidth::HiggsWidth
double HiggsWidth(double mH) const
Definition: MELAHXSWidth.cc:72
TVar::H0_gsgs_PS
@ H0_gsgs_PS
Definition: TVar.hh:134
TUtil::SetJHUGenDistinguishWWCouplings
void SetJHUGenDistinguishWWCouplings(bool doAllow)
Definition: TUtil.cc:3353
TEvtProb::_hwidth
double _hwidth
Definition: TEvtProb.hh:148
TEvtProb::_hmass
double _hmass
Definition: TEvtProb.hh:147
TVar::HSMHiggs
@ HSMHiggs
Definition: TVar.hh:126
VprimeCouplings::getRef
VprimeCouplings * getRef()
Definition: TCouplings.cc:409
TVar::H2_g2
@ H2_g2
Definition: TVar.hh:152
TUtil::SetJHUGenAZffCouplings
void SetJHUGenAZffCouplings(bool needAZff, double AZffcoupl[SIZE_AZff][2])
Definition: TUtil.cc:4093
TEvtProb::matrixElement
TVar::MatrixElement matrixElement
Definition: TEvtProb.hh:142
TEvtProb::selfDAZffCoupl
AZffCouplings selfDAZffCoupl
Definition: TEvtProb.hh:160
TVar::Lep_WH_TU
@ Lep_WH_TU
Definition: TVar.hh:100
mcfm_init_
void mcfm_init_(char *inputfile, char *workdir)
SpinZeroCouplings::Hbbcoupl
double Hbbcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:30
AZffCouplings::AZffcoupl
double AZffcoupl[SIZE_AZff][2]
Definition: TCouplings.hh:155
TVar::H2_g9
@ H2_g9
Definition: TVar.hh:160
SpinZeroCouplings::reset
void reset()
Definition: TCouplings.cc:17
TEvtProb::XsecCalc_VVXVV
double XsecCalc_VVXVV()
Definition: TEvtProb.cc:729
TEvtProb::CheckSelfDCouplings_AZff
bool CheckSelfDCouplings_AZff()
Definition: TEvtProb.cc:1150
anonymous_namespace{TCouplingsBase.hh}::gHIGGS_GG_4
@ gHIGGS_GG_4
Definition: TCouplingsBase.hh:38
SpinZeroCouplings::Hqqcoupl
double Hqqcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:28
TEvtProb::Build
void Build()
Definition: TEvtProb.cc:51
TEvtProb::CheckSelfDCouplings_HVV
bool CheckSelfDCouplings_HVV()
Definition: TEvtProb.cc:1115
TVar::H0_gsgs
@ H0_gsgs
Definition: TVar.hh:133
gHIGGS_VV_1_PRIME2
@ gHIGGS_VV_1_PRIME2
Definition: raw_couplings.txt:23
gHIGGS_VV_4
@ gHIGGS_VV_4
Definition: raw_couplings.txt:12
TUtil::GetDecayWidth
double GetDecayWidth(int ipart)
Definition: TUtil.cc:1566
SpinTwoCouplings::reset
void reset()
Definition: TCouplings.cc:317
aTQGCCouplings::getRef
aTQGCCouplings * getRef()
Definition: TCouplings.cc:453
TEvtProb::selfDSpinOneCoupl
SpinOneCouplings selfDSpinOneCoupl
Definition: TEvtProb.hh:156
gGRAVITON_GG_4
@ gGRAVITON_GG_4
Definition: raw_couplings.txt:128
qlfirst_
struct @20 qlfirst_
TEvtProb::CrossInitialize
void CrossInitialize()
Definition: TEvtProb.cc:149
gGRAVITON_VV_4
@ gGRAVITON_VV_4
Definition: raw_couplings.txt:138
TVar::Had_ZH_TU
@ Had_ZH_TU
Definition: TVar.hh:97
gGRAVITON_VV_5
@ gGRAVITON_VV_5
Definition: raw_couplings.txt:139
TVar::MCFM
@ MCFM
Definition: TVar.hh:56
TVar::Lep_ZH_S
@ Lep_ZH_S
Definition: TVar.hh:88
SIZE_Vpff
@ SIZE_Vpff
Definition: raw_couplings.txt:100
MELAParticle
Definition: MELAParticle.h:13
SpinZeroCouplings::Hzzcoupl
double Hzzcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:35
energy_
struct @51 energy_
TVar::JJEW_S
@ JJEW_S
Definition: TVar.hh:84
SpinZeroCouplings::H2wwcoupl
double H2wwcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:51
TUtil::SetEwkCouplingParameters
void SetEwkCouplingParameters(double ext_Gf, double ext_aemmz, double ext_mW, double ext_mZ, double ext_xW, int ext_ewscheme)
Definition: TUtil.cc:1386
VprimeCouplings::Wpffcoupl
double Wpffcoupl[SIZE_Vpff][2]
Definition: TCouplings.hh:120
TEvtProb::ResetMass
void ResetMass(double inmass, int ipart)
Definition: TEvtProb.cc:312
SpinZeroCouplings::Hwwpcoupl
double Hwwpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:59
TEvtProb::selfDSpinTwoCoupl
SpinTwoCouplings selfDSpinTwoCoupl
Definition: TEvtProb.hh:157
PDGHelpers::setCandidateDecayMode
void setCandidateDecayMode(TVar::CandidateDecayMode mode)
Definition: PDGHelpers.cc:232
MELACandidate::addAssociatedTop
void addAssociatedTop(MELATopCandidate_t *myParticle)
Definition: MELACandidate.cc:619
anonymous_namespace{TCouplingsBase.hh}::gHIGGS_GG_2
@ gHIGGS_GG_2
Definition: TCouplingsBase.hh:36
TVar::event_scales_type::factorizationScheme
TVar::EventScaleScheme factorizationScheme
Definition: TVar.hh:262
SIZE_ATQGC
@ SIZE_ATQGC
Definition: raw_couplings.txt:176
SpinZeroCouplings::allow_WWZZSeparation
void allow_WWZZSeparation(bool doAllow=true)
Definition: TCouplings.cc:16
SpinZeroCouplings::HzzLambda_qsq
double HzzLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ]
Definition: TCouplings.hh:37
SpinZeroCouplings::getRef
SpinZeroCouplings * getRef()
Definition: TCouplings.cc:103
TVar::ZZQQB_STU
@ ZZQQB_STU
Definition: TVar.hh:63
TEvtProb::pathtoPDFSet_
const char * pathtoPDFSet_
Definition: TEvtProb.hh:139
TVar::JJVBF_TU
@ JJVBF_TU
Definition: TVar.hh:94
TVar::event_scales_type::fac_scale_factor
double fac_scale_factor
Definition: TVar.hh:264
TVar::H2_g1
@ H2_g1
Definition: TVar.hh:151
TEvtProb::GetCurrentCandidateIndex
int GetCurrentCandidateIndex()
Definition: TEvtProb.cc:377
SpinZeroCouplings::Hwwcoupl
double Hwwcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:36
gZPRIME_QQ_RIGHT
@ gZPRIME_QQ_RIGHT
Definition: raw_couplings.txt:105
TVar::JHUGen
@ JHUGen
Definition: TVar.hh:57
gHIGGS_AA_4
@ gHIGGS_AA_4
Definition: raw_couplings.txt:20
gGRAVITON_VV_3
@ gGRAVITON_VV_3
Definition: raw_couplings.txt:137
SIZE_HVV_LAMBDAQSQ
@ SIZE_HVV_LAMBDAQSQ
Definition: raw_couplings.txt:66
TVar::Had_ZH
@ Had_ZH
Definition: TVar.hh:75
TVar::H2_g1g5
@ H2_g1g5
Definition: TVar.hh:156
TVar::H2_g8
@ H2_g8
Definition: TVar.hh:159
TUtil::ConvertThreeBodyDecayCandidate
MELAThreeBodyDecayCandidate * ConvertThreeBodyDecayCandidate(SimpleParticleCollection_t *tbdDaughters, std::vector< MELAParticle * > *particleList, std::vector< MELAThreeBodyDecayCandidate * > *tbdCandList)
Definition: TUtil.cc:8554
SpinZeroCouplings::H2g4g4coupl
double H2g4g4coupl[SIZE_HGG][2]
Definition: TCouplings.hh:46
TUtil::GetMass
double GetMass(int ipart)
Definition: TUtil.cc:1529
TEvtProb::selfDaTQGCCoupl
aTQGCCouplings selfDaTQGCCoupl
Definition: TEvtProb.hh:159
MELAStreamHelpers::MELAerr
MELAOutputStreamer MELAerr
gZPRIME_QQ_LEFT
@ gZPRIME_QQ_LEFT
Definition: raw_couplings.txt:104
gZPRIME_VV_2
@ gZPRIME_VV_2
Definition: raw_couplings.txt:112
SpinZeroCouplings::H2bbcoupl
double H2bbcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:45
TEvtProb::SetZprimeMassWidth
void SetZprimeMassWidth(double inmass, double inwidth)
Definition: TEvtProb.cc:313
gGRAVITON_GG_2
@ gGRAVITON_GG_2
Definition: raw_couplings.txt:126
spinzerohiggs_anomcoupl_
struct @43 spinzerohiggs_anomcoupl_
TVar::Had_WH_S
@ Had_WH_S
Definition: TVar.hh:87
SpinTwoCouplings::Gvvcoupl
double Gvvcoupl[SIZE_GVV][2]
Definition: TCouplings.hh:98
TVar::JJEW
@ JJEW
Definition: TVar.hh:73
TUtil::SetMCFMaTQGCCouplings
void SetMCFMaTQGCCouplings(bool useBSM, aTQGCCouplings const *couplings)
Definition: TUtil.cc:3993
SpinTwoCouplings::Gqqcoupl
double Gqqcoupl[SIZE_GQQ][2]
Definition: TCouplings.hh:101
SIZE_AZff
@ SIZE_AZff
Definition: raw_couplings.txt:194
gGRAVITON_VV_8
@ gGRAVITON_VV_8
Definition: raw_couplings.txt:142
TUtil::TTHiggsMatEl
double TTHiggsMatEl(const TVar::Process &process, const TVar::Production &production, const TVar::MatrixElement &matrixElement, TVar::event_scales_type *event_scales, MelaIO *RcdME, const double &EBEAM, int topDecay, int topProcess, TVar::VerbosityLevel verbosity)
Definition: TUtil.cc:7187
TEvtProb::ResetWidth
void ResetWidth(double inwidth, int ipart)
Definition: TEvtProb.cc:315
TVar::InterfOn
@ InterfOn
Definition: TVar.hh:108
gGRAVITON_VV_6
@ gGRAVITON_VV_6
Definition: raw_couplings.txt:140
__modparameters_MOD_ckmbare
double __modparameters_MOD_ckmbare(int *id1in, int *id2in)
VprimeCouplings::reset
void reset()
Definition: TCouplings.cc:385
TEvtProb::AllowSeparateWWCouplings
void AllowSeparateWWCouplings(bool doAllow=false)
Definition: TEvtProb.cc:215
gGRAVITON_GG_1
@ gGRAVITON_GG_1
Definition: raw_couplings.txt:125
TVar::Had_WH_TU
@ Had_WH_TU
Definition: TVar.hh:98
SpinTwoCouplings::Gvvpcoupl
double Gvvpcoupl[SIZE_GVV][2]
Definition: TCouplings.hh:99
TVar::event_scales_type::ren_scale_factor
double ren_scale_factor
Definition: TVar.hh:263
TVar::H0_Zgs
@ H0_Zgs
Definition: TVar.hh:131
TVar::ttH
@ ttH
Definition: TVar.hh:66
TVar::SelfDefine_spin0
@ SelfDefine_spin0
Definition: TVar.hh:180
TUtil::InitJHUGenMELA
void InitJHUGenMELA(const char *pathtoPDFSet, int PDFMember, double collider_sqrts)
Definition: TUtil.cc:3337
SpinOneCouplings::getRef
SpinOneCouplings * getRef()
Definition: TCouplings.cc:294
TUtil::SumMatrixElementPDF
double SumMatrixElementPDF(const TVar::Process &process, const TVar::Production &production, const TVar::MatrixElement &matrixElement, const TVar::LeptonInterference &leptonInterf, TVar::event_scales_type *event_scales, MelaIO *RcdME, const double &EBEAM, TVar::VerbosityLevel verbosity)
Definition: TUtil.cc:4103
gHIGGS_ZA_4
@ gHIGGS_ZA_4
Definition: raw_couplings.txt:16
TEvtProb::SetPrimaryHiggsMass
void SetPrimaryHiggsMass(double mass)
Definition: TEvtProb.cc:216
SpinZeroCouplings::HwwCLambda_qsq
int HwwCLambda_qsq[SIZE_HVV_CQSQ]
Definition: TCouplings.hh:40
TVar::H2_g6
@ H2_g6
Definition: TVar.hh:157
cabib_
struct @49 cabib_
TVar::Lep_ZH
@ Lep_ZH
Definition: TVar.hh:77
masses_mcfm_
struct @42 masses_mcfm_
TEvtProb::CheckSelfDCouplings_aTQGC
bool CheckSelfDCouplings_aTQGC()
Definition: TEvtProb.cc:1140
TVar::event_scales_type::renomalizationScheme
TVar::EventScaleScheme renomalizationScheme
Definition: TVar.hh:261
gHIGGS_VV_1
@ gHIGGS_VV_1
Definition: raw_couplings.txt:9
TVar::ZZQQB_S
@ ZZQQB_S
Definition: TVar.hh:81
nninitpdf_
void nninitpdf_(int *irep)
MELACandidate
Definition: MELACandidate.h:7
TUtil::SetJHUGenSpinZeroQQCouplings
void SetJHUGenSpinZeroQQCouplings(double Hqqcoupl[SIZE_HQQ][2])
Definition: TUtil.cc:4085
AZffCouplings::reset
void reset()
Definition: TCouplings.cc:468
SIZE_HVV
@ SIZE_HVV
Definition: raw_couplings.txt:57
TVar::DEBUG
@ DEBUG
Definition: TVar.hh:51
TVar::JJEWQCD_S
@ JJEWQCD_S
Definition: TVar.hh:85
MELAThreeBodyDecayCandidate
Definition: MELAThreeBodyDecayCandidate.h:7
TVar::H2_g4
@ H2_g4
Definition: TVar.hh:154
TVar::JJEWQCD_TU
@ JJEWQCD_TU
Definition: TVar.hh:96
TEvtProb::PrimaryHMass
double PrimaryHMass
Definition: TEvtProb.hh:146
gGRAVITON_QQ_RIGHT
@ gGRAVITON_QQ_RIGHT
Definition: raw_couplings.txt:119
SpinZeroCouplings::H2ttcoupl
double H2ttcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:44
TVar::DefaultScaleScheme
@ DefaultScaleScheme
Definition: TVar.hh:197
TEvtProb::topCandList
std::vector< MELATopCandidate_t * > topCandList
Definition: TEvtProb.hh:166
TVar::Had_WH
@ Had_WH
Definition: TVar.hh:76
TVar::JJEW_TU
@ JJEW_TU
Definition: TVar.hh:95
MelaIO::melaCand
MELACandidate * melaCand
Definition: MelaIO.h:29
hto_masses::me
real *8, parameter me
Definition: CALLING_cpHTO.f:77
SpinZeroCouplings::H2t4t4coupl
double H2t4t4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:47
TVar::JJVBF_S
@ JJVBF_S
Definition: TVar.hh:83
TVar::Lep_WH
@ Lep_WH
Definition: TVar.hh:78
SpinOneCouplings::reset
void reset()
Definition: TCouplings.cc:277
gHIGGS_VV_2
@ gHIGGS_VV_2
Definition: raw_couplings.txt:10
TVar::SelfDefine_spin1
@ SelfDefine_spin1
Definition: TVar.hh:181
SpinZeroCouplings::Hb4b4coupl
double Hb4b4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:33
__modjhugenmela_MOD_getpdfconstants
void __modjhugenmela_MOD_getpdfconstants(double *pdfzmass, int *pdfnloops, int *pdfnf)
SpinTwoCouplings::Gggcoupl
double Gggcoupl[SIZE_GGG][2]
Definition: TCouplings.hh:102
SpinZeroCouplings::Hggcoupl
double Hggcoupl[SIZE_HGG][2]
Definition: TCouplings.hh:27
TVar::MatrixElementName
TString MatrixElementName(TVar::MatrixElement temp)
Definition: TVar.cc:109
TVar::H0hplus
@ H0hplus
Definition: TVar.hh:128
gGRAVITON_VV_7
@ gGRAVITON_VV_7
Definition: raw_couplings.txt:141
TUtil::JHUGenMatEl
double JHUGenMatEl(const TVar::Process &process, const TVar::Production &production, const TVar::MatrixElement &matrixElement, TVar::event_scales_type *event_scales, MelaIO *RcdME, const double &EBEAM, TVar::VerbosityLevel verbosity)
Definition: TUtil.cc:4746
gHIGGS_KAPPA
@ gHIGGS_KAPPA
Definition: raw_couplings.txt:2
TVar::bbH
@ bbH
Definition: TVar.hh:67
TUtil::VHiggsMatEl
double VHiggsMatEl(const TVar::Process &process, const TVar::Production &production, const TVar::MatrixElement &matrixElement, TVar::event_scales_type *event_scales, MelaIO *RcdME, const double &EBEAM, bool includeHiggsDecay, TVar::VerbosityLevel verbosity)
Definition: TUtil.cc:6578
SpinZeroCouplings::H2qqcoupl
double H2qqcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:43
TVar::JJQCD_S
@ JJQCD_S
Definition: TVar.hh:82
SIZE_GQQ
@ SIZE_GQQ
Definition: raw_couplings.txt:121
TEvtProb::ResetIORecord
void ResetIORecord()
Definition: TEvtProb.cc:310
TEvtProb::ResetQuarkMasses
void ResetQuarkMasses()
Definition: TEvtProb.cc:316
gZPRIME_VV_1
@ gZPRIME_VV_1
Definition: raw_couplings.txt:111
TVar::Lep_ZH_TU
@ Lep_ZH_TU
Definition: TVar.hh:99
SpinZeroCouplings::H2ggcoupl
double H2ggcoupl[SIZE_HGG][2]
Definition: TCouplings.hh:42
gHIGGS_ZA_1_PRIME2
@ gHIGGS_ZA_1_PRIME2
Definition: raw_couplings.txt:46
TEvtProb::process
TVar::Process process
Definition: TEvtProb.hh:141
TUtil::ResetAmplitudeIncludes
void ResetAmplitudeIncludes()
Definition: TUtil.cc:3357