Loading [MathJax]/extensions/tex2jax.js
JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
TEvtProb.cc
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 //
3 // Class EventProb Module
4 //
5 // EventProb Module
6 //
7 // March 21 2011
8 // S. Jindariani (sergo@fnal.gov)
9 // Y. Gao (ygao@fnal.gov)
10 // K. Burkett (burkett@fnal.gov)
11 //-----------------------------------------------------------------------------
12 
13 #include "TEvtProb.hh"
14 #include "MELAStreamHelpers.hh"
15 #include "MadMela.h"
16 
17 
18 using namespace std;
19 using namespace TUtil;
22 
23 
24 //-----------------------------------------------------------------------------
25 // Constructors and Destructor
26 //-----------------------------------------------------------------------------
28  const char* pathtoXSW, double ebeam, const char* pathtoPDFSet, int PDFMember, TVar::VerbosityLevel verbosity_
29  ) :
30  pathtoPDFSet_(pathtoPDFSet),
31  PDFMember_(PDFMember),
32  verbosity(verbosity_),
33  EBEAM(ebeam),
34  myCSW_(pathtoXSW)
35 {
36  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb constructor" << endl;
37 
38  /***** Build everything except MELAHXSWidth *****/
39  Build();
40 
41  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb constructor" << endl;
42 }
44 pathtoPDFSet_(other.pathtoPDFSet_),
45 PDFMember_(other.PDFMember_),
46 verbosity(other.verbosity),
47 EBEAM(other.EBEAM),
48 myCSW_(other.myCSW_)
49 {
50 
51 }
53  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::Build" << endl;
54 
55  /***** Initialize lepton interference scheme *****/
57 
58  /***** Initialize MCFM *****/
60 
61  /***** Initialize JHUGen *****/
63 
64  /***** Cross-initializations *****/
66 
67  /***** Initialize input event properties *****/
70 
71  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::Build" << endl;
72 }
73 
74 
76  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb destructor" << endl;
77 
79 
80  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb destructor" << endl;
81 }
82 
84  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::InitializeMCFM" << endl;
85 
86  mcfm_init_((char *)"input.DAT", (char *)"./");
87  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::TEvtProb: mcfm_init successful" << endl;
88  energy_.sqrts = 2.*EBEAM;
91  1.16639E-05, // Gf
92  1./128., // alpha_EW
93  80.399, // mW
94  91.1876, // mZ
95  0.23119, // xw=sin**2(thetaW)
96  3 // MCFM EW scheme
97  );
98  qlinit_();
99  // First resonance constant parameters
100  spinzerohiggs_anomcoupl_.LambdaBSM=1000;
101  spinzerohiggs_anomcoupl_.Lambda_Q=10000;
102  spinzerohiggs_anomcoupl_.Lambda_z1=10000;
103  spinzerohiggs_anomcoupl_.Lambda_z2=10000;
104  spinzerohiggs_anomcoupl_.Lambda_z3=10000;
105  spinzerohiggs_anomcoupl_.Lambda_z4=10000;
106  spinzerohiggs_anomcoupl_.Lambda_z11=100; spinzerohiggs_anomcoupl_.Lambda_z21=100; spinzerohiggs_anomcoupl_.Lambda_z31=100; spinzerohiggs_anomcoupl_.Lambda_z41=100;
107  spinzerohiggs_anomcoupl_.Lambda_z12=100; spinzerohiggs_anomcoupl_.Lambda_z22=100; spinzerohiggs_anomcoupl_.Lambda_z32=100; spinzerohiggs_anomcoupl_.Lambda_z42=100;
108  spinzerohiggs_anomcoupl_.Lambda_z10=100; spinzerohiggs_anomcoupl_.Lambda_z20=100; spinzerohiggs_anomcoupl_.Lambda_z30=100; spinzerohiggs_anomcoupl_.Lambda_z40=100;
109  spinzerohiggs_anomcoupl_.Lambda_zgs1=10000;
110  spinzerohiggs_anomcoupl_.Lambda_w1=10000;
111  spinzerohiggs_anomcoupl_.Lambda_w2=10000;
112  spinzerohiggs_anomcoupl_.Lambda_w3=10000;
113  spinzerohiggs_anomcoupl_.Lambda_w4=10000;
114  spinzerohiggs_anomcoupl_.Lambda_w11=100; spinzerohiggs_anomcoupl_.Lambda_w21=100; spinzerohiggs_anomcoupl_.Lambda_w31=100; spinzerohiggs_anomcoupl_.Lambda_w41=100;
115  spinzerohiggs_anomcoupl_.Lambda_w12=100; spinzerohiggs_anomcoupl_.Lambda_w22=100; spinzerohiggs_anomcoupl_.Lambda_w32=100; spinzerohiggs_anomcoupl_.Lambda_w42=100;
116  spinzerohiggs_anomcoupl_.Lambda_w10=100; spinzerohiggs_anomcoupl_.Lambda_w20=100; spinzerohiggs_anomcoupl_.Lambda_w30=100; spinzerohiggs_anomcoupl_.Lambda_w40=100;
117  // Second resonance constant parameters
118  spinzerohiggs_anomcoupl_.Lambda2BSM=1000;
119  spinzerohiggs_anomcoupl_.Lambda2_Q=10000;
120  spinzerohiggs_anomcoupl_.Lambda2_z1=10000;
121  spinzerohiggs_anomcoupl_.Lambda2_z2=10000;
122  spinzerohiggs_anomcoupl_.Lambda2_z3=10000;
123  spinzerohiggs_anomcoupl_.Lambda2_z4=10000;
124  spinzerohiggs_anomcoupl_.Lambda2_z11=100; spinzerohiggs_anomcoupl_.Lambda2_z21=100; spinzerohiggs_anomcoupl_.Lambda2_z31=100; spinzerohiggs_anomcoupl_.Lambda2_z41=100;
125  spinzerohiggs_anomcoupl_.Lambda2_z12=100; spinzerohiggs_anomcoupl_.Lambda2_z22=100; spinzerohiggs_anomcoupl_.Lambda2_z32=100; spinzerohiggs_anomcoupl_.Lambda2_z42=100;
126  spinzerohiggs_anomcoupl_.Lambda2_z10=100; spinzerohiggs_anomcoupl_.Lambda2_z20=100; spinzerohiggs_anomcoupl_.Lambda2_z30=100; spinzerohiggs_anomcoupl_.Lambda2_z40=100;
127  spinzerohiggs_anomcoupl_.Lambda2_zgs1=10000;
128  spinzerohiggs_anomcoupl_.Lambda2_w1=10000;
129  spinzerohiggs_anomcoupl_.Lambda2_w2=10000;
130  spinzerohiggs_anomcoupl_.Lambda2_w3=10000;
131  spinzerohiggs_anomcoupl_.Lambda2_w4=10000;
132  spinzerohiggs_anomcoupl_.Lambda2_w11=100; spinzerohiggs_anomcoupl_.Lambda2_w21=100; spinzerohiggs_anomcoupl_.Lambda2_w31=100; spinzerohiggs_anomcoupl_.Lambda2_w41=100;
133  spinzerohiggs_anomcoupl_.Lambda2_w12=100; spinzerohiggs_anomcoupl_.Lambda2_w22=100; spinzerohiggs_anomcoupl_.Lambda2_w32=100; spinzerohiggs_anomcoupl_.Lambda2_w42=100;
134  spinzerohiggs_anomcoupl_.Lambda2_w10=100; spinzerohiggs_anomcoupl_.Lambda2_w20=100; spinzerohiggs_anomcoupl_.Lambda2_w30=100; spinzerohiggs_anomcoupl_.Lambda2_w40=100;
135  // Switches for spin-0 Higgs couplings
136  spinzerohiggs_anomcoupl_.channeltoggle_stu=2; spinzerohiggs_anomcoupl_.vvhvvtoggle_vbfvh=2;
137  spinzerohiggs_anomcoupl_.AnomalCouplPR=1; spinzerohiggs_anomcoupl_.AnomalCouplDK=1;
138  // Constant parameters for all processes
139  qlfirst_.qlfirst=false;
140 
141  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::InitializeMCFM" << endl;
142 }
143 void TEvtProb::InitializeJHUGen(const char* pathtoPDFSet, int PDFMember){
144  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::InitializeJHUGen" << endl;
145 
146  InitJHUGenMELA(pathtoPDFSet, PDFMember, 2.*EBEAM);
147 
148  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::InitializeJHUGen" << endl;
149 }
151  if (verbosity>=TVar::DEBUG) MELAout << "Begin TEvtProb::CrossInitialize" << endl;
152 
153  /**** Initialize alphaS *****/
154  const double GeV=1./100.;
155  double init_Q;
156  int init_nl, init_nf;
157  __modjhugenmela_MOD_getpdfconstants(&init_Q, &init_nl, &init_nf);
158  init_Q /= GeV;
159  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::TEvtProb: Initializing the PDF with initial Q=" << init_Q << ", nloops=" << init_nl << ", nf=" << init_nf << endl;
160  SetAlphaS(init_Q, init_Q, 1, 1, init_nl, init_nf, "cteq6_l"); // "cteq6_l" is just some dummy variable
161 
162  /**** Initialize MCFM CKM initializers in cabib.f using JHUGen defaults *****/
163  int i, j;
164  i=2; j=1;
165  cabib_.Vud = __modparameters_MOD_ckmbare(&i, &j);
166  i=2; j=3;
167  cabib_.Vus = __modparameters_MOD_ckmbare(&i, &j);
168  i=2; j=5;
169  cabib_.Vub = __modparameters_MOD_ckmbare(&i, &j);
170  i=4; j=1;
171  cabib_.Vcd = __modparameters_MOD_ckmbare(&i, &j);
172  i=4; j=3;
173  cabib_.Vcs = __modparameters_MOD_ckmbare(&i, &j);
174  i=4; j=5;
175  cabib_.Vcb = __modparameters_MOD_ckmbare(&i, &j);
176 
177  /***** Initialize schemes *****/
178  ResetCouplings();
180  SetPrimaryHiggsMass(125.); // Should come after InitializeMCFM and InitializeJHUGen
181 
182  if (verbosity>=TVar::DEBUG) MELAout << "End TEvtProb::CrossInitialize" << endl;
183 }
184 
185 // Set NNPDF driver path
186 void TEvtProb::Set_LHAgrid(const char* path, int pdfmember){
187  char path_nnpdf_c[200];
188  sprintf(path_nnpdf_c, "%s", path);
189  int pathLength = strlen(path_nnpdf_c);
190  nnpdfdriver_(path_nnpdf_c, &pathLength);
191  nninitpdf_(&pdfmember);
192 }
194  matrixElement = me;
195  production = prod;
196  // In case s-channel processes are passed for JHUGen ME, flip them back to JHUGen-specific productions.
197  if (matrixElement == TVar::JHUGen){
204  }
205  process = proc;
206 }
210 void TEvtProb::SetRenFacScaleMode(TVar::EventScaleScheme renormalizationSch, TVar::EventScaleScheme factorizationSch, double ren_sf, double fac_sf){
211  event_scales.renomalizationScheme = renormalizationSch;
212  event_scales.factorizationScheme = factorizationSch;
215 }
217  return this->event_scales;
218 }
221 void TEvtProb::SetHiggsMass(double mass, double wHiggs, int whichResonance){
222  // Regular, first resonance
223  if (whichResonance==1 || whichResonance==-1){
224  if (mass<0.){
225  _hmass = -1;
226  _hwidth = 0;
227  }
228  else if (wHiggs<0.){
229  _hmass = mass;
231  }
232  else{
233  _hmass = mass;
234  _hwidth = wHiggs;
235  }
236  masses_mcfm_.hmass = _hmass;
237  masses_mcfm_.hwidth = _hwidth;
238 
239  madMela::mad_masses_.mdl_mh = _hmass;
240  madMela::widths_.mdl_wh = _hwidth;
241 
244  }
245 
246  // Second resonance
247  if (whichResonance==2){
248  if (mass<0.){
249  _h2mass = -1;
250  _h2width = 0;
251  }
252  else if (wHiggs<0.){
253  _h2mass = mass;
255  }
256  else{
257  _h2mass = mass;
258  _h2width = wHiggs;
259  }
262  //SetJHUGenHiggsMassWidth(_h2mass, _h2width); // Second resonance is not implemented in JHUGen yet.
263  }
264  else if (whichResonance==-1){
265  _h2mass = -1;
266  _h2width = 0;
269  //SetJHUGenHiggsMassWidth(_h2mass, _h2width); // Second resonance is not implemented in JHUGen yet.
270  }
271 
273  << "TEvtProb::SetHiggsMass(" << mass << ", " << wHiggs << ", " << whichResonance << "):\n"
274  << '\t' << "hmass: " << _hmass << ", " << _hwidth << '\n'
275  << '\t' << "h2mass: " << _h2mass << ", " << _h2width << '\n'
276  << '\t' << "MCFM hmass: " << masses_mcfm_.hmass << ", " << masses_mcfm_.hwidth << '\n'
277  << '\t' << "MCFM h2mass: " << spinzerohiggs_anomcoupl_.h2mass << ", " << spinzerohiggs_anomcoupl_.h2width << endl;
278 }
280  SimpleParticleCollection_t* pDaughters,
281  SimpleParticleCollection_t* pAssociated,
282  SimpleParticleCollection_t* pMothers,
283  bool isGen
284  ){
286  pDaughters,
287  pAssociated,
288  pMothers,
289  isGen,
290  &particleList, &candList // push_back is done automatically
291  );
292  if (cand) melaCand=cand;
293 }
295  if (!CheckInputPresent()){
296  if (verbosity>=TVar::INFO) MELAout << "TEvtProb::AppendTopCandidate: No MELACandidates are present to append this top!" << endl;
297  return;
298  }
300  TopDaughters,
301  &particleList, &topCandList // push_back is done automatically
302  );
303  if (cand) melaCand->addAssociatedTop(cand);
304 }
306 void TEvtProb::SetCurrentCandidateFromIndex(unsigned int icand){
307  if (candList.size()>icand) melaCand = candList.at(icand);
308  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::SetCurrentCandidateFromIndex: icand=" << icand << ">=candList.size()=" << candList.size() << endl;
309 }
311  melaCand = cand;
312  if (verbosity>=TVar::INFO && !melaCand) MELAout << "TEvtProb::SetCurrentCandidate: BE CAREFUL! !melaCand!" << endl;
313  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;
314 }
315 
316 // Reset functions
319 void TEvtProb::ResetMass(double inmass, int ipart){ TUtil::SetMass(inmass, ipart); }
320 void TEvtProb::SetZprimeMassWidth(double inmass, double inwidth){ this->ResetMass(inmass, 32); this->ResetWidth(inwidth, 32); }
321 void TEvtProb::SetWprimeMassWidth(double inmass, double inwidth){ this->ResetMass(inmass, 34); this->ResetWidth(inwidth, 34); }
322 void TEvtProb::ResetWidth(double inwidth, int ipart){ TUtil::SetDecayWidth(inwidth, ipart); }
324  ResetMass(1e-3, 1); // d
325  ResetMass(5e-3, 2); // u
326  ResetMass(1e-1, 3); // s
327  ResetMass(1.275, 4); // c
328  ResetMass(4.75, 5); // b
329  ResetMass(173.2, 6); // t
330  ResetMass(1e5, 7); // bprime
331  ResetMass(1e5, 8); // tprime
332  //coupling_(); // Already called at b and t twice!
333 }
334 void TEvtProb::ResetMCFM_EWKParameters(double ext_Gf, double ext_aemmz, double ext_mW, double ext_mZ, double ext_xW, int ext_ewscheme){ SetEwkCouplingParameters(ext_Gf, ext_aemmz, ext_mW, ext_mZ, ext_xW, ext_ewscheme); }
344 }
346  RcdME.melaCand = 0;
347  melaCand = 0;
348 
349  // Clear bookkeeping objects
350  // Clean MELACandidates first since they contain all other objects
351  for (MELACandidate* tmpPart:candList) delete tmpPart;
352  candList.clear();
353  // Clean MELATopCandidates next since they contain MELAParticles
354  for (MELATopCandidate_t* tmpPart:topCandList) delete tmpPart;
355  topCandList.clear();
356  // Clean all remaining MELAParticles
357  for (MELAParticle* tmpPart:particleList) delete tmpPart;
358  particleList.clear();
359 }
360 
361 // Get-functions
370 double TEvtProb::GetPrimaryMass(int ipart){
371  if (PDGHelpers::isAHiggs(ipart)) return GetPrimaryHiggsMass();
372  else return TUtil::GetMass(ipart);
373 }
374 double TEvtProb::GetPrimaryWidth(int ipart){
376  else return TUtil::GetDecayWidth(ipart);
377 }
379  if (mass>0.) return myCSW_.HiggsWidth(mass);
380  else return -1.;
381 }
385  if (!melaCand) return -1;
386  for (unsigned int icand=0; icand<candList.size(); icand++){
387  if (candList.at(icand)==melaCand) return (int)icand;
388  }
389  return -1;
390 }
391 int TEvtProb::GetNCandidates(){ return (static_cast<int>(candList.size())); }
392 std::vector<MELATopCandidate_t*>* TEvtProb::GetTopCandidates(){ return &topCandList; }
393 
394 
395 // Check/test functions
397  if (!melaCand){
399  << "TEvtProb::CheckInputPresent: melaCand==" << melaCand << " is nullPtr!"
400  << endl;
401  if (candList.empty()) return false;
402  else{
404  if (verbosity>=TVar::INFO) MELAout << "TEvtProb::CheckInputPresent: melaCand now points to the latest candidate (cand[" << (candList.size()-1) << "])" << endl;
405  }
406  }
407  SetRcdCandPtr(); // If input event is present, set the RcdME pointer to melaCand
408  return true;
409 }
410 
411 
412 // ME functions
413 // Cross-section calculations for H + 0 jet
415  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_XVV" << endl;
416  double dXsec=0;
417  ResetIORecord();
418  if (!CheckInputPresent()) return dXsec;
419  bool useMCFM = matrixElement == TVar::MCFM;
420  bool calculateME=false;
421  bool needBSMHiggs=false;
422  bool needAZff=CheckSelfDCouplings_AZff();
423  if (useMCFM){
424  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV: Try MCFM" << endl;
426  if (needBSMHiggs || needAZff) SetLeptonInterf(TVar::InterfOn); // All anomalous coupling computations have to use lepton interference
427 
428  calculateME = (
429  production == TVar::ZZGG ||
430  production == TVar::ZZQQB ||
435  (production == TVar::JJQCD && process == TVar::bkgZJets) // Allow Z+jets to be computed here.
436  );
437  if (calculateME){
438  SetMCFMSpinZeroCouplings(needBSMHiggs, &selfDSpinZeroCoupl, false);
441  }
442  else if (verbosity>=TVar::INFO) MELAout << "TEvtProb::XsecCalc_XVV: MCFM_chooser failed to determine the process configuration." << endl;
443  }
444  else if (matrixElement == TVar::JHUGen){
445  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV::Try JHUGen" << endl;
446  AllowSeparateWWCouplings(false); // HZZ couplings are used for both in spin-0
447  // all the possible couplings
448  double Hggcoupl[SIZE_HGG][2] ={ { 0 } };
449  double Hvvcoupl[SIZE_HVV][2] ={ { 0 } };
450  double HvvLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
451  int HvvCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
452 
453  double Hvvpcoupl[SIZE_HVV][2] = { { 0 } };
454  double Hvpvpcoupl[SIZE_HVV][2] = { { 0 } };
455 
456  double Zqqcoupl[SIZE_ZQQ][2] ={ { 0 } };
457  double Zvvcoupl[SIZE_ZVV][2] ={ { 0 } };
458 
459  double Gqqcoupl[SIZE_GQQ][2] ={ { 0 } };
460  double Gggcoupl[SIZE_GGG][2] ={ { 0 } };
461  double Gvvcoupl[SIZE_GVV][2] ={ { 0 } };
462  double Gvvpcoupl[SIZE_GVV][2] ={ { 0 } };
463  double Gvpvpcoupl[SIZE_GVV][2] ={ { 0 } };
464 
465  double Zpffcoupl[SIZE_Vpff][2] ={ { 0 } };
466  double Wpffcoupl[SIZE_Vpff][2] ={ { 0 } };
467  double M_Zprime = -1;
468  double Ga_Zprime = 0;
469  double M_Wprime = -1;
470  double Ga_Wprime = 0;
471 
472  double AZffcoupl[SIZE_AZff][2] ={ { 0 } };
473  for (int j=0; j<2; j++){
474  for (int i=0; i<SIZE_AZff; i++){
475  AZffcoupl[i][j] = (selfDAZffCoupl.AZffcoupl)[i][j];
476  }
477  }
478  SetJHUGenAZffCouplings(needAZff, AZffcoupl);
479 
480  //
481  // set spin 0 default numbers
482  //
483  // By default set the Spin 0 couplings for SM case (0+m)
484  Hggcoupl[gHIGGS_GG_2][0]=1.0;
485  for (int ic=0; ic<SIZE_HVV_LAMBDAQSQ; ic++){ for (int ik=0; ik<SIZE_HVV_CQSQ; ik++) HvvLambda_qsq[ic][ik]=100.; }
486  //
487  // set spin 1 default numbers
488  //
489  Zqqcoupl[gZPRIME_QQ_LEFT][0]=1.0;
490  Zqqcoupl[gZPRIME_QQ_RIGHT][0]=1.0;
491  //
492  // set spin 2 default numbers
493  //
494  Gqqcoupl[gGRAVITON_QQ_LEFT][0]=1.0;
495  Gqqcoupl[gGRAVITON_QQ_RIGHT][0]=1.0;
496 
497  bool isSpinZero = false;
498  bool isSpinOne = false;
499  bool isSpinTwo = false;
500 
501  // 0m+
502  if (process == TVar::HSMHiggs){
503  Hvvcoupl[gHIGGS_VV_1][0]=1.;
504  isSpinZero = true;
505  }
506  // 0+L1
507  else if (process == TVar::H0_g1prime2){
508  Hvvcoupl[gHIGGS_VV_1_PRIME2][0] = 1.;
509  isSpinZero = true;
510  }
511  // 0h+
512  else if (process == TVar::H0hplus){
513  Hvvcoupl[gHIGGS_VV_2][0] = 1.;
514  isSpinZero = true;
515  }
516  // 0-
517  else if (process == TVar::H0minus){
518  Hvvcoupl[gHIGGS_VV_4][0] = 1.;
519  isSpinZero = true;
520  }
521  else if (process == TVar::H0_Zgsg1prime2){
522  Hvvcoupl[gHIGGS_ZA_1_PRIME2][0] = 1.;
523  isSpinZero = true;
524  }
525  else if (process == TVar::H0_Zgs){
526  Hvvcoupl[gHIGGS_ZA_2][0] = 1.;
527  isSpinZero = true;
528  }
529  else if (process == TVar::H0_Zgs_PS){
530  Hvvcoupl[gHIGGS_ZA_4][0] = 1.;
531  isSpinZero = true;
532  }
533  else if (process == TVar::H0_gsgs){
534  Hvvcoupl[gHIGGS_AA_2][0] = 1.;
535  isSpinZero = true;
536  }
537  else if (process == TVar::H0_gsgs_PS){
538  Hvvcoupl[gHIGGS_AA_4][0] = 1.;
539  isSpinZero = true;
540  }
541  else if (process == TVar::SelfDefine_spin0){
542  for (int j=0; j<2; j++){
543  for (int i=0; i<SIZE_HGG; i++) Hggcoupl[i][j] = (selfDSpinZeroCoupl.Hggcoupl)[i][j];
544  for (int i=0; i<SIZE_HVV; i++){
545  Hvvcoupl[i][j] = (selfDSpinZeroCoupl.Hzzcoupl)[i][j];
546 
547  Hvvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzzpcoupl)[i][j];
548  Hvpvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j];
549  }
550  }
551  for (int j=0; j<SIZE_HVV_CQSQ; j++){
552  for (int i=0; i<SIZE_HVV_LAMBDAQSQ; i++) HvvLambda_qsq[i][j] = (selfDSpinZeroCoupl.HzzLambda_qsq)[i][j];
553  HvvCLambda_qsq[j] = (selfDSpinZeroCoupl.HzzCLambda_qsq)[j];
554  }
555 
557  for (int j=0; j<2; j++){
558  for (int i=0; i<SIZE_HGG; i++){ if ((selfDSpinZeroCoupl.Hggcoupl)[i][j]!=0.) MELAout << "Hggcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hggcoupl)[i][j] << endl; }
559  for (int i=0; i<SIZE_HVV; i++){
560  if ((selfDSpinZeroCoupl.Hzzcoupl)[i][j]!=0.) MELAout << "Hvvcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hzzcoupl)[i][j] << endl;
561 
562  if ((selfDSpinZeroCoupl.Hzzpcoupl)[i][j]!=0.) MELAout << "Hzzpcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hzzpcoupl)[i][j] << endl;
563  if ((selfDSpinZeroCoupl.Hzpzpcoupl)[i][j]!=0.) MELAout << "Hzpzpcoupl[" << i << "][" << j << "] = " << (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j] << endl;
564  }
565  }
566  for (int j=0; j<SIZE_HVV_CQSQ; j++){
567  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; }
568  if ((selfDSpinZeroCoupl.HzzCLambda_qsq)[j]!=0.) MELAout << "HvvCLambda_qsq[" << j << "] = " << (selfDSpinZeroCoupl.HzzCLambda_qsq)[j] << endl;
569  }
570  }
571 
572  isSpinZero = true;
573  }
574 
575  // 1-
576  else if (process == TVar::H1minus){
577  Zvvcoupl[gZPRIME_VV_1][0]=1.;
578  isSpinOne = true;
579  }
580  // 1+
581  else if (process == TVar::H1plus){
582  Zvvcoupl[gZPRIME_VV_2][0]=1.;
583  isSpinOne = true;
584  }
585  else if (process == TVar::SelfDefine_spin1){
586  for (int j=0; j<2; j++){
587  for (int i=0; i<SIZE_ZQQ; i++) Zqqcoupl[i][j] = (selfDSpinOneCoupl.Zqqcoupl)[i][j];
588  for (int i=0; i<SIZE_ZVV; i++) Zvvcoupl[i][j] = (selfDSpinOneCoupl.Zvvcoupl)[i][j];
589  }
590  isSpinOne = true;
591  }
592 
593  // 2m+
594  else if (process == TVar::H2_g1g5){
595  Gggcoupl[gGRAVITON_GG_1][0]=1.;
596  Gvvcoupl[gGRAVITON_VV_1][0]=1.;
597  Gvvcoupl[gGRAVITON_VV_5][0]=1.;
598  isSpinTwo = true;
599  }
600  // 2b+
601  else if (process == TVar::H2_g1){
602  Gggcoupl[gGRAVITON_GG_1][0]=1.;
603  Gvvcoupl[gGRAVITON_VV_1][0]=1.;
604  isSpinTwo = true;
605  }
606  else if (process == TVar::H2_g2){
607  Gggcoupl[gGRAVITON_GG_2][0]=1.;
608  Gvvcoupl[gGRAVITON_VV_2][0]=1.;
609  isSpinTwo = true;
610  }
611  // 2h3plus
612  else if (process == TVar::H2_g3){
613  Gggcoupl[gGRAVITON_GG_3][0]=1.;
614  Gvvcoupl[gGRAVITON_VV_3][0]=1.;
615  isSpinTwo = true;
616  }
617  // 2h+
618  else if (process == TVar::H2_g4){
619  Gggcoupl[gGRAVITON_GG_4][0]=1.;
620  Gvvcoupl[gGRAVITON_VV_4][0]=1.;
621  isSpinTwo = true;
622  }
623  // 2b+
624  else if (process == TVar::H2_g5){
625  Gggcoupl[gGRAVITON_GG_1][0]=1.;
626  Gvvcoupl[gGRAVITON_VV_5][0]=1.;
627  isSpinTwo = true;
628  }
629  // 2h6+
630  else if (process == TVar::H2_g6){
631  Gggcoupl[gGRAVITON_GG_1][0]=1.;
632  Gvvcoupl[gGRAVITON_VV_6][0]=1.;
633  isSpinTwo = true;
634  }
635  // 2h7plus
636  else if (process == TVar::H2_g7){
637  Gggcoupl[gGRAVITON_GG_1][0]=1.;
638  Gvvcoupl[gGRAVITON_VV_7][0]=1.;
639  isSpinTwo = true;
640  }
641  // 2h-
642  else if (process == TVar::H2_g8){
643  Gggcoupl[gGRAVITON_GG_5][0]=1.;
644  Gvvcoupl[gGRAVITON_VV_8][0]=1.;
645  isSpinTwo = true;
646  }
647  // 2h9minus
648  else if (process == TVar::H2_g9){
649  Gggcoupl[gGRAVITON_GG_5][0]=1.;
650  Gvvcoupl[gGRAVITON_VV_9][0]=1.;
651  isSpinTwo = true;
652  }
653  // 2h10minus
654  else if (process == TVar::H2_g10){
655  Gggcoupl[gGRAVITON_GG_5][0]=1.;
656  Gvvcoupl[gGRAVITON_VV_10][0]=1.;
657  isSpinTwo = true;
658  }
659  else if (process == TVar::SelfDefine_spin2){
660  for (int j=0; j<2; j++){
661  for (int i=0; i<SIZE_GGG; i++) Gggcoupl[i][j] = (selfDSpinTwoCoupl.Gggcoupl)[i][j];
662  for (int i=0; i<SIZE_GQQ; i++) Gqqcoupl[i][j] = (selfDSpinTwoCoupl.Gqqcoupl)[i][j];
663  for (int i=0; i<SIZE_GVV; i++){
664  Gvvcoupl[i][j] = (selfDSpinTwoCoupl.Gvvcoupl)[i][j];
665  Gvvpcoupl[i][j] = (selfDSpinTwoCoupl.Gvvpcoupl)[i][j];
666  Gvpvpcoupl[i][j] = (selfDSpinTwoCoupl.Gvpvpcoupl)[i][j];
667  }
668  }
669  isSpinTwo = true;
670  }
671 
672  // Vprime / contact couplings
674  for (int j=0; j<2; j++){
675  for (int i=0; i<SIZE_Vpff; i++){
676  Zpffcoupl[i][j] = (selfDVprimeCoupl.Zpffcoupl)[i][j];
677  Wpffcoupl[i][j] = (selfDVprimeCoupl.Wpffcoupl)[i][j];
678  }
679  }
680  M_Zprime = selfDVprimeCoupl.M_Zprime;
681  Ga_Zprime = selfDVprimeCoupl.Ga_Zprime;
682  M_Wprime = selfDVprimeCoupl.M_Wprime;
683  Ga_Wprime = selfDVprimeCoupl.Ga_Wprime;
684 
686  for (int j=0; j<2; j++){
687  for (int i=0; i<SIZE_Vpff; i++){
688  if ((selfDVprimeCoupl.Zpffcoupl)[i][j]!=0.) MELAout << "Zpffcoupl[" << i << "][" << j << "] = " << (selfDVprimeCoupl.Zpffcoupl)[i][j] << endl;
689  if ((selfDVprimeCoupl.Wpffcoupl)[i][j]!=0.) MELAout << "Wpffcoupl[" << i << "][" << j << "] = " << (selfDVprimeCoupl.Wpffcoupl)[i][j] << endl;
690  }
691  }
692  MELAout << "M_Zprime = " << selfDVprimeCoupl.M_Zprime << endl;
693  MELAout << "Ga_Zprime = " << selfDVprimeCoupl.Ga_Zprime << endl;
694  MELAout << "M_Wprime = " << selfDVprimeCoupl.M_Wprime << endl;
695  MELAout << "Ga_Wprime = " << selfDVprimeCoupl.Ga_Wprime << endl;
696  }
697  }
698 
699  if (isSpinZero){
701  SetJHUGenSpinZeroVVCouplings(Hvvcoupl, Hvvpcoupl, Hvpvpcoupl, HvvCLambda_qsq, HvvLambda_qsq, false);
702  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
703  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
704  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
705  }
706  else if (isSpinOne) SetJHUGenSpinOneCouplings(Zqqcoupl, Zvvcoupl);
707  else if (isSpinTwo){
708  SetJHUGenSpinTwoCouplings(Gggcoupl, Gvvcoupl, Gvvpcoupl, Gvpvpcoupl, Gqqcoupl);
709  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
710  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
711  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
712  }
713 
714  if (isSpinZero || isSpinOne || isSpinTwo) dXsec = JHUGenMatEl(process, production, matrixElement, &event_scales, &RcdME, EBEAM, verbosity);
715  else if (verbosity>=TVar::ERROR) MELAerr
716  << "TEvtProb::XsecCalc_XVV: JHUGen ME is not spin zero, one or two! The process is described by "
717  << "Process: " << TVar::ProcessName(process) << ", Production: " << TVar::ProductionName(production) << ", and ME: " << TVar::MatrixElementName(matrixElement)
718  << endl;
719  } // end of JHUGen matrix element calculations
720  else if (matrixElement == TVar::MADGRAPH){
721  calculateME = (
722  production == TVar::ZZGG ||
724  );
725  if (calculateME){
727  // madMela::ggFSIG_update_all_coup_(); //calculates all couplings
729  }
730  else if (verbosity>=TVar::INFO) MELAout << "TEvtProb::XsecCalc_XVV: Madgraph_chooser failed to determine the process configuration." << endl;
731  }
732  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
733 
734  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XVV::Reset couplings" << endl;
735  ResetCouplings(); // Should come first
736  if (useMCFM){ // Set defaults. Should come next...
737  if (needBSMHiggs) SetLeptonInterf(TVar::DefaultLeptonInterf);
738  if (calculateME) SetMCFMSpinZeroCouplings(false, &selfDSpinZeroCoupl, true); // ... because of this!
739  }
741  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_XVV" << endl;
742  return dXsec;
743 }
744 
745 // Cross-section calculations for H(->VV) + 2 jets
747  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_VVXVV" << endl;
748  double dXsec=0;
749  ResetIORecord();
750  if (!CheckInputPresent()) return dXsec;
751 
752  bool useMCFM = matrixElement == TVar::MCFM;
753  bool needBSMHiggs=false;
754  bool needATQGC=false;
755  bool calculateME=false;
756  if (useMCFM){
757  if (verbosity>=TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_VVXVV: Try MCFM" << endl;
758  needBSMHiggs = CheckSelfDCouplings_HVV();
759  needATQGC = CheckSelfDCouplings_aTQGC();
760  if (needBSMHiggs || needATQGC) SetLeptonInterf(TVar::InterfOn); // All anomalous coupling computations have to use lepton interference
761 
762  calculateME = (
766  );
767  if (calculateME){
768  SetMCFMSpinZeroCouplings(needBSMHiggs, &selfDSpinZeroCoupl, false);
771  }
772  else if (verbosity>=TVar::INFO) MELAout << "TEvtProb::XsecCalc_VVXVV: MCFM_chooser failed to determine the process configuration." << endl;
773  }
774  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_VVXVV: Non-MCFM Mes are not supported." << endl;
775 
777  << "Process " << TVar::ProcessName(process)
778  << " TEvtProb::XsecCalc_VVXVV: dXsec=" << dXsec
779  << endl;
780 
781  ResetCouplings(); // Should come first
782  if (useMCFM){ // Set defaults. Should come next...
783  if (needBSMHiggs || needATQGC) SetLeptonInterf(TVar::DefaultLeptonInterf);
784  if (calculateME){
785  // ... because of these!
788  }
789  }
791  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_VVXVV" << endl;
792  return dXsec;
793 }
794 
795 // Cross-section calculations for H + 2 jets
797  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_XJJ" << endl;
798  if (matrixElement == TVar::MCFM) return XsecCalc_VVXVV();
799  double dXsec = 0;
800  ResetIORecord();
801  if (!CheckInputPresent()) return dXsec;
802 
803  if (matrixElement == TVar::JHUGen){
804  if (production == TVar::JJQCD){
805  double Hggcoupl[SIZE_HGG][2] ={ { 0 } };
806  if (process == TVar::HSMHiggs) Hggcoupl[gHIGGS_GG_2][0] = 1.;
807  else if (process == TVar::H0minus) Hggcoupl[gHIGGS_GG_4][0] = 1.;
808  else if (process == TVar::SelfDefine_spin0){
809  for (int j=0; j<2; j++){
810  for (int i=0; i<SIZE_HGG; i++) Hggcoupl[i][j] = (selfDSpinZeroCoupl.Hggcoupl)[i][j];
811  }
812  }
814  }
815  else if (production == TVar::JJVBF){
816  double Hzzcoupl[SIZE_HVV][2] ={ { 0 } };
817  double Hwwcoupl[SIZE_HVV][2] ={ { 0 } };
818  double HzzLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
819  double HwwLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
820  int HzzCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
821  int HwwCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
822  double Hzzpcoupl[SIZE_HVV][2] = { { 0 } };
823  double Hzpzpcoupl[SIZE_HVV][2] = { { 0 } };
824  double Zpffcoupl[SIZE_Vpff][2] = { { 0 } };
825  double Hwwpcoupl[SIZE_HVV][2] = { { 0 } };
826  double Hwpwpcoupl[SIZE_HVV][2] = { { 0 } };
827  double Wpffcoupl[SIZE_Vpff][2] = { { 0 } };
828  double M_Zprime = -1;
829  double Ga_Zprime = 0;
830  double M_Wprime = -1;
831  double Ga_Wprime = 0;
832 
833  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.; } }
835 
836  if (process == TVar::HSMHiggs){ Hzzcoupl[gHIGGS_VV_1][0] = 1.; Hwwcoupl[gHIGGS_VV_1][0] = 1.; }
837  else if (process == TVar::H0_g1prime2){ Hzzcoupl[gHIGGS_VV_1_PRIME2][0] = 1.; Hwwcoupl[gHIGGS_VV_1_PRIME2][0] = 1.; }
838  else if (process == TVar::H0hplus){ Hzzcoupl[gHIGGS_VV_2][0] = 1.; Hwwcoupl[gHIGGS_VV_2][0] = 1.; }
839  else if (process == TVar::H0minus){ Hzzcoupl[gHIGGS_VV_4][0] = 1.; Hwwcoupl[gHIGGS_VV_4][0] = 1.; }
840  else if (process == TVar::H0_Zgsg1prime2){ Hzzcoupl[gHIGGS_ZA_1_PRIME2][0] = 1.; }
841  else if (process == TVar::H0_Zgs){ Hzzcoupl[gHIGGS_ZA_2][0] = 1.; }
842  else if (process == TVar::H0_Zgs_PS){ Hzzcoupl[gHIGGS_ZA_4][0] = 1.; }
843  else if (process == TVar::H0_gsgs){ Hzzcoupl[gHIGGS_AA_2][0] = 1.; }
844  else if (process == TVar::H0_gsgs_PS){ Hzzcoupl[gHIGGS_AA_4][0] = 1.; }
845  else if (process == TVar::SelfDefine_spin0){
846  for (int j=0; j<2; j++){
847  for (int i=0; i<SIZE_HVV; i++){
848  Hzzcoupl[i][j] = (selfDSpinZeroCoupl.Hzzcoupl)[i][j]; Hwwcoupl[i][j] = (selfDSpinZeroCoupl.Hwwcoupl)[i][j];
849  Hzzpcoupl[i][j] = (selfDSpinZeroCoupl.Hzzpcoupl)[i][j]; Hwwpcoupl[i][j] = (selfDSpinZeroCoupl.Hwwpcoupl)[i][j];
850  Hzpzpcoupl[i][j] = (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j]; Hwpwpcoupl[i][j] = (selfDSpinZeroCoupl.Hwpwpcoupl)[i][j];
851  }
852  for (int i=0; i<SIZE_Vpff; i++){
853  Zpffcoupl[i][j] = (selfDVprimeCoupl.Zpffcoupl)[i][j]; Wpffcoupl[i][j] = (selfDVprimeCoupl.Wpffcoupl)[i][j];
854  }
855  }
856  M_Zprime = selfDVprimeCoupl.M_Zprime;
857  Ga_Zprime = selfDVprimeCoupl.Ga_Zprime;
858  M_Wprime = selfDVprimeCoupl.M_Wprime;
859  Ga_Wprime = selfDVprimeCoupl.Ga_Wprime;
860  for (int j=0; j<SIZE_HVV_CQSQ; j++){
861  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]; }
862  HzzCLambda_qsq[j] = (selfDSpinZeroCoupl.HzzCLambda_qsq)[j]; HwwCLambda_qsq[j] = (selfDSpinZeroCoupl.HwwCLambda_qsq)[j];
863  }
865  }
866  SetJHUGenSpinZeroVVCouplings(Hzzcoupl, Hzzpcoupl, Hzpzpcoupl, HzzCLambda_qsq, HzzLambda_qsq, false);
867  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.
868  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
869  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
870  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
871  }
872 
874  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XJJ: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
875  }
876  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_XJJ: Non-JHUGen vbfMELA MEs are not supported!" << endl;
877 
878  ResetCouplings();
880  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_XJJ" << endl;
881  return dXsec;
882 }
883 
884 // Cross-section calculations for H + 1 jet (only SM for the moment)
886  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_XJ" << endl;
887  double dXsec = 0;
888  ResetIORecord();
889  if (!CheckInputPresent()) return dXsec;
890 
891  // Calculate the ME
892  if (matrixElement == TVar::JHUGen){
893  // Not currently supported, but implement anyway
894  double Hggcoupl[SIZE_HGG][2] ={ { 0 } };
895  if (process == TVar::HSMHiggs) Hggcoupl[gHIGGS_GG_2][0] = 1.;
896  else if (process == TVar::H0minus) Hggcoupl[gHIGGS_GG_4][0] = 1.;
897  else if (process == TVar::SelfDefine_spin0){
898  for (int j=0; j<2; j++){
899  for (int i=0; i<SIZE_HGG; i++) Hggcoupl[i][j] = (selfDSpinZeroCoupl.Hggcoupl)[i][j];
900  }
901  }
903 
905  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_XJ: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
906  }
907  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_XJ: Non-JHUGen HJ MEs are not supported!" << endl;
908 
909  ResetCouplings();
911  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_XJ" << endl;
912  return dXsec;
913 }
914 
915 // Cross-section calculations for VH
917  bool includeHiggsDecay
918  ){
919  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_VX" << endl;
920  if (matrixElement == TVar::MCFM) return XsecCalc_VVXVV();
921  double dXsec = 0;
922  ResetIORecord();
923  if (!CheckInputPresent()) return dXsec;
924 
925  AllowSeparateWWCouplings(false); // HZZ couplings are used for both in spin-0
926 
927  if (matrixElement == TVar::JHUGen){
928  double Hvvcoupl[SIZE_HVV][2] ={ { 0 } };
929  double HvvLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ] ={ { 0 } };
930  int HvvCLambda_qsq[SIZE_HVV_CQSQ] ={ 0 };
931  double Hvvpcoupl[SIZE_HVV][2] = { { 0 } };
932  double Hvpvpcoupl[SIZE_HVV][2] = { { 0 } };
933  double Zpffcoupl[SIZE_Vpff][2] = { { 0 } };
934  double Wpffcoupl[SIZE_Vpff][2] = { { 0 } };
935  double M_Zprime = -1;
936  double Ga_Zprime = 0;
937  double M_Wprime = -1;
938  double Ga_Wprime = 0;
939 
940  for (int ic=0; ic<SIZE_HVV_LAMBDAQSQ; ic++){ for (int ik=0; ik<SIZE_HVV_CQSQ; ik++) HvvLambda_qsq[ic][ik]=100.; }
941 
942  if (process == TVar::HSMHiggs) Hvvcoupl[gHIGGS_VV_1][0] = 1.;
943  else if (process == TVar::H0_g1prime2) Hvvcoupl[gHIGGS_VV_1_PRIME2][0] = 1.;
944  else if (process == TVar::H0hplus) Hvvcoupl[gHIGGS_VV_2][0] = 1.;
945  else if (process == TVar::H0minus) Hvvcoupl[gHIGGS_VV_4][0] = 1.;
946  else if (process == TVar::H0_Zgsg1prime2) Hvvcoupl[gHIGGS_ZA_1_PRIME2][0] = 1.;
947  else if (process == TVar::H0_Zgs) Hvvcoupl[gHIGGS_ZA_2][0] = 1.;
948  else if (process == TVar::H0_Zgs_PS) Hvvcoupl[gHIGGS_ZA_4][0] = 1.;
949  else if (process == TVar::H0_gsgs) Hvvcoupl[gHIGGS_AA_2][0] = 1.;
950  else if (process == TVar::H0_gsgs_PS) Hvvcoupl[gHIGGS_AA_4][0] = 1.;
951  else if (process == TVar::SelfDefine_spin0){
952  for (int i=0; i<SIZE_HVV; i++){
953  for (int j=0; j<2; j++){
954  Hvvcoupl[i][j] = (selfDSpinZeroCoupl.Hzzcoupl)[i][j];
955 
956  Hvvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzzpcoupl)[i][j];
957  Hvpvpcoupl[i][j] = (selfDSpinZeroCoupl.Hzpzpcoupl)[i][j];
958  }
959  }
960  for (int i=0; i<SIZE_Vpff; i++){
961  for (int j=0; j<2; j++){
962  Zpffcoupl[i][j] = (selfDVprimeCoupl.Zpffcoupl)[i][j];
963  Wpffcoupl[i][j] = (selfDVprimeCoupl.Wpffcoupl)[i][j];
964  }
965  }
966  M_Zprime = selfDVprimeCoupl.M_Zprime;
967  Ga_Zprime = selfDVprimeCoupl.Ga_Zprime;
968  M_Wprime = selfDVprimeCoupl.M_Wprime;
969  Ga_Wprime = selfDVprimeCoupl.Ga_Wprime;
970  for (int j=0; j<SIZE_HVV_CQSQ; j++){
971  for (int i=0; i<SIZE_HVV_LAMBDAQSQ; i++) HvvLambda_qsq[i][j] = (selfDSpinZeroCoupl.HzzLambda_qsq)[i][j];
972  HvvCLambda_qsq[j] = (selfDSpinZeroCoupl.HzzCLambda_qsq)[j];
973  }
974  }
975  SetJHUGenSpinZeroVVCouplings(Hvvcoupl, Hvvpcoupl, Hvpvpcoupl, HvvCLambda_qsq, HvvLambda_qsq, false);
976  SetJHUGenVprimeContactCouplings(Zpffcoupl, Wpffcoupl);
977  SetZprimeMassWidth(M_Zprime, Ga_Zprime);
978  SetWprimeMassWidth(M_Wprime, Ga_Wprime);
979 
980  dXsec = VHiggsMatEl(process, production, matrixElement, &event_scales, &RcdME, EBEAM, includeHiggsDecay, verbosity);
981  if (verbosity >= TVar::DEBUG) MELAout << "TEVtProb::XsecCalc_VX: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
982  } // end of JHUGen matrix element calculations
983  else if (verbosity>=TVar::ERROR) MELAerr << "TEVtProb::XsecCalc_VX: Non-JHUGen VH MEs are not supported!" << endl;
984 
985  ResetCouplings();
987  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_VX" << endl;
988  return dXsec;
989 }
990 
991 // Cross-section calculations for ttH or bbH
993  int topProcess, int topDecay
994  ){
995  if (verbosity>=TVar::DEBUG) MELAout << "Begin XsecCalc_TTX" << endl;
996  double dXsec = 0;
997  ResetIORecord();
998  if (!CheckInputPresent()) return dXsec;
999 
1000  if (matrixElement == TVar::JHUGen){
1001  double Hqqcoupl[SIZE_HQQ][2]={ { 0 } };
1002  if (process == TVar::HSMHiggs) Hqqcoupl[gHIGGS_KAPPA][0] = 1.;
1003  else if (process == TVar::H0minus) Hqqcoupl[gHIGGS_KAPPA_TILDE][0] = 1.;
1004  else if (process == TVar::SelfDefine_spin0){
1005  for (int i=0; i<SIZE_HQQ; i++){
1006  for (int j=0; j<2; j++){
1007  if ((selfDSpinZeroCoupl.Httcoupl)[i][j]!=0. && production == TVar::ttH) Hqqcoupl[i][j] = (selfDSpinZeroCoupl.Httcoupl)[i][j];
1008  else if ((selfDSpinZeroCoupl.Hbbcoupl)[i][j]!=0. && production == TVar::bbH) Hqqcoupl[i][j] = (selfDSpinZeroCoupl.Hbbcoupl)[i][j];
1009  else Hqqcoupl[i][j] = (selfDSpinZeroCoupl.Hqqcoupl)[i][j];
1010  }
1011  }
1012  }
1013  SetJHUGenSpinZeroQQCouplings(Hqqcoupl);
1014 
1015  if (production == TVar::ttH) dXsec = TTHiggsMatEl(process, production, matrixElement, &event_scales, &RcdME, EBEAM, topDecay, topProcess, verbosity);
1017  else if (verbosity >= TVar::ERROR) MELAout << "TEvtProb::XsecCalc_TTX only supports ttH and bbH productions for the moment." << endl;
1018  if (verbosity >= TVar::DEBUG) MELAout << "TEvtProb::XsecCalc_TTX: Process " << TVar::ProcessName(process) << " dXsec=" << dXsec << endl;
1019  }
1020  else if (verbosity>=TVar::ERROR) MELAerr << "TEvtProb::XsecCalc_TTX: Non-JHUGen ttH MEs are not supported!" << endl;
1021 
1022  ResetCouplings();
1024  if (verbosity>=TVar::DEBUG) MELAout << "End XsecCalc_TTX" << endl;
1025  return dXsec;
1026 }
1027 
1030  ){
1031  if (!CheckInputPresent()) return 0.;
1032  return TUtil::ResonancePropagator(melaCand->m(), scheme);
1033 }
1034 
1035 
1037  if (_hmass>=0. && _hwidth>0.){
1038  for (int vv = 0; vv < SIZE_HGG; vv++){
1039  if (
1040  (selfDSpinZeroCoupl.Hggcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hggcoupl)[vv][0] != 0
1041  ||
1042  (selfDSpinZeroCoupl.Hg4g4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hg4g4coupl)[vv][0] != 0
1043  ){
1044  return true;
1045  }
1046  }
1047  }
1048  if (_h2mass>=0. && _h2width>0.){
1049  for (int vv = 0; vv < SIZE_HGG; vv++){
1050  if (
1051  (selfDSpinZeroCoupl.H2ggcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2ggcoupl)[vv][0] != 0
1052  ||
1053  (selfDSpinZeroCoupl.H2g4g4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2g4g4coupl)[vv][0] != 0
1054  ){
1055  return true;
1056  }
1057  }
1058  }
1059  return false;
1060 }
1062  if (_hmass>=0. && _hwidth>0.){
1063  for (int vv = 0; vv < SIZE_HQQ; vv++){
1064  if (
1065  (selfDSpinZeroCoupl.Hqqcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hqqcoupl)[vv][0] != 0
1066  ){
1067  return true;
1068  }
1069  }
1070  }
1071  if (_h2mass>=0. && _h2width>0.){
1072  for (int vv = 0; vv < SIZE_HQQ; vv++){
1073  if (
1074  (selfDSpinZeroCoupl.H2qqcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2qqcoupl)[vv][0] != 0
1075  ){
1076  return true;
1077  }
1078  }
1079  }
1080  return false;
1081 }
1083  if (_hmass>=0. && _hwidth>0.){
1084  for (int vv = 0; vv < SIZE_HQQ; vv++){
1085  if (
1086  (selfDSpinZeroCoupl.Httcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Httcoupl)[vv][0] != 0
1087  ||
1088  (selfDSpinZeroCoupl.Ht4t4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Ht4t4coupl)[vv][0] != 0
1089  ){
1090  return true;
1091  }
1092  }
1093  }
1094  if (_h2mass>=0. && _h2width>0.){
1095  for (int vv = 0; vv < SIZE_HQQ; vv++){
1096  if (
1097  (selfDSpinZeroCoupl.H2ttcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2ttcoupl)[vv][0] != 0
1098  ||
1099  (selfDSpinZeroCoupl.H2t4t4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2t4t4coupl)[vv][0] != 0
1100  ){
1101  return true;
1102  }
1103  }
1104  }
1105  return false;
1106 }
1108  if (_hmass>=0. && _hwidth>0.){
1109  for (int vv = 0; vv < SIZE_HQQ; vv++){
1110  if (
1111  (selfDSpinZeroCoupl.Hbbcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hbbcoupl)[vv][0] != 0
1112  ||
1113  (selfDSpinZeroCoupl.Hb4b4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hb4b4coupl)[vv][0] != 0
1114  ){
1115  return true;
1116  }
1117  }
1118  }
1119  if (_h2mass>=0. && _h2width>0.){
1120  for (int vv = 0; vv < SIZE_HQQ; vv++){
1121  if (
1122  (selfDSpinZeroCoupl.H2bbcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2bbcoupl)[vv][0] != 0
1123  ||
1124  (selfDSpinZeroCoupl.H2b4b4coupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2b4b4coupl)[vv][0] != 0
1125  ){
1126  return true;
1127  }
1128  }
1129  }
1130  return false;
1131 }
1133  if (_hmass>=0. && _hwidth>0.){
1134  for (int vv = 0; vv < SIZE_HVV; vv++){
1135  if (
1136  (selfDSpinZeroCoupl.Hzzcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hzzcoupl)[vv][0] != 0
1137  ||
1138  (selfDSpinZeroCoupl.Hwwcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.Hwwcoupl)[vv][0] != 0
1139  ){
1140  return true;
1141  }
1142  } // No need to check c_q**2. If these are 0, z_q**2 do not have any effect.
1143  }
1144  if (_h2mass>=0. && _h2width>0.){
1145  for (int vv = 0; vv < SIZE_HVV; vv++){
1146  if (
1147  (selfDSpinZeroCoupl.H2zzcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2zzcoupl)[vv][0] != 0
1148  ||
1149  (selfDSpinZeroCoupl.H2wwcoupl)[vv][1] != 0 || (selfDSpinZeroCoupl.H2wwcoupl)[vv][0] != 0
1150  ){
1151  return true;
1152  }
1153  } // No need to check c_q**2. If these are 0, z_q**2 do not have any effect.
1154  }
1155  return false;
1156 }
1158  for (int vv = 0; vv < SIZE_ATQGC; vv++){
1159  if (
1160  (selfDaTQGCCoupl.aTQGCcoupl)[vv][1] != 0 || (selfDaTQGCCoupl.aTQGCcoupl)[vv][0] != 0
1161  ){
1162  return true;
1163  }
1164  }
1165  return false;
1166 }
1168  for (int vv = 0; vv < SIZE_AZff; vv++){
1169  if (
1170  (selfDAZffCoupl.AZffcoupl)[vv][1] != 0 || (selfDAZffCoupl.AZffcoupl)[vv][0] != 0
1171  ){
1172  return true;
1173  }
1174  }
1175  return false;
1176 }
TVar::H1plus
@ H1plus
Definition: TVar.hh:148
SpinZeroCouplings::HzzCLambda_qsq
int HzzCLambda_qsq[SIZE_HVV_CQSQ]
Definition: TCouplings.hh:40
TVar::ERROR
@ ERROR
Definition: TVar.hh:49
MelaIO::getRef
MelaIO * getRef()
Definition: MelaIO.h:51
TEvtProb::XsecCalc_TTX
double XsecCalc_TTX(int topProcess, int topDecay)
Definition: TEvtProb.cc:992
TEvtProb::particleList
std::vector< MELAParticle * > particleList
Definition: TEvtProb.hh:165
SpinZeroCouplings::Hwpwpcoupl
double Hwpwpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:61
TEvtProb::leptonInterf
TVar::LeptonInterference leptonInterf
Definition: TEvtProb.hh:146
TVar::JJVBF
@ JJVBF
Definition: TVar.hh:72
TUtil::ResonancePropagator
double ResonancePropagator(double const &sqrts, TVar::ResonancePropagatorScheme scheme)
Definition: TUtil.cc:8194
TEvtProb::CheckInputPresent
bool CheckInputPresent()
Definition: TEvtProb.cc:396
TEvtProb::RcdME
MelaIO RcdME
Definition: TEvtProb.hh:162
aTQGCCouplings
Definition: TCouplings.hh:131
TUtil::SetJHUGenSpinZeroGGCouplings
void SetJHUGenSpinZeroGGCouplings(double Hggcoupl[SIZE_HGG][2])
Definition: TUtil.cc:4225
TVar::Had_ZH_S
@ Had_ZH_S
Definition: TVar.hh:86
TEvtProb::SetCandidateDecayMode
void SetCandidateDecayMode(TVar::CandidateDecayMode mode)
Definition: TEvtProb.cc:209
TEvtProb::GetHiggsWidthAtPoleMass
double GetHiggsWidthAtPoleMass(double mass)
Definition: TEvtProb.cc:378
MelaIO
Definition: MelaIO.h:8
TVar::LeptonInterference
LeptonInterference
Definition: TVar.hh:105
SIZE_GVV
@ SIZE_GVV
Definition: raw_couplings.txt:158
TEvtProb::ResetRenFacScaleMode
void ResetRenFacScaleMode()
Definition: TEvtProb.cc:318
TVar::H0_Zgs_PS
@ H0_Zgs_PS
Definition: TVar.hh:131
TEvtProb::GetNCandidates
int GetNCandidates()
Definition: TEvtProb.cc:391
energy_
struct @42 energy_
TVar::VerbosityLevel
VerbosityLevel
Definition: TVar.hh:47
TEvtProb::GetSelfDaTQGCCouplings
aTQGCCouplings * GetSelfDaTQGCCouplings()
Definition: TEvtProb.cc:367
TEvtProb::GetSelfDVprimeCouplings
VprimeCouplings * GetSelfDVprimeCouplings()
Definition: TEvtProb.cc:366
AZffCouplings::getRef
AZffCouplings * getRef()
Definition: TCouplings.cc:486
SpinZeroCouplings::H2zzcoupl
double H2zzcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:51
masses_mcfm_
#define masses_mcfm_
Definition: TMCFM.hh:130
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:145
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:7827
TEvtProb::candList
std::vector< MELACandidate * > candList
Definition: TEvtProb.hh:166
TEvtProb::XsecCalcXJ
double XsecCalcXJ()
Definition: TEvtProb.cc:885
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:128
TEvtProb::CheckSelfDCouplings_Hgg
bool CheckSelfDCouplings_Hgg()
Definition: TEvtProb.cc:1036
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:221
TUtil::SetJHUGenHiggsMassWidth
void SetJHUGenHiggsMassWidth(double MReso, double GaReso)
Definition: TUtil.cc:3402
VprimeCouplings::M_Wprime
double M_Wprime
Definition: TCouplings.hh:127
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:5383
TUtil::SetMCFMAZffCouplings
void SetMCFMAZffCouplings(bool useBSM, AZffCouplings const *Zcouplings)
Definition: TUtil.cc:4185
SpinOneCouplings::Zqqcoupl
double Zqqcoupl[SIZE_ZQQ][2]
Definition: TCouplings.hh:82
TVar::event_scales_type
Definition: TVar.hh:259
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:305
aTQGCCouplings::aTQGCcoupl
double aTQGCcoupl[SIZE_ATQGC][2]
Definition: TCouplings.hh:143
VprimeCouplings::Ga_Wprime
double Ga_Wprime
Definition: TCouplings.hh:128
anonymous_namespace{TCouplingsBase.hh}::gHIGGS_GG_2
@ gHIGGS_GG_2
Definition: TCouplingsBase.hh:36
VprimeCouplings::M_Zprime
double M_Zprime
Definition: TCouplings.hh:125
aTQGCCouplings::reset
void reset()
Definition: TCouplings.cc:451
AZffCouplings
Definition: TCouplings.hh:146
SpinZeroCouplings::Ht4t4coupl
double Ht4t4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:33
TEvtProb::GetTopCandidates
std::vector< MELATopCandidate_t * > * GetTopCandidates()
Definition: TEvtProb.cc:392
TVar::ProductionName
TString ProductionName(TVar::Production temp)
Definition: TVar.cc:64
TEvtProb::ResetCouplings
void ResetCouplings()
Definition: TEvtProb.cc:335
MELAHXSWidth
Definition: MELAHXSWidth.h:10
TEvtProb::GetSelfDSpinOneCouplings
SpinOneCouplings * GetSelfDSpinOneCouplings()
Definition: TEvtProb.cc:364
TEvtProb::GetPrimaryWidth
double GetPrimaryWidth(int ipart)
Definition: TEvtProb.cc:374
VprimeCouplings::Ga_Zprime
double Ga_Zprime
Definition: TCouplings.hh:126
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:152
TEvtProb::XsecCalc_XVV
double XsecCalc_XVV()
Definition: TEvtProb.cc:414
TVar::CandidateDecayMode
CandidateDecayMode
Definition: TVar.hh:37
TVar::H2_g10
@ H2_g10
Definition: TVar.hh:160
TEvtProb::_h2width
double _h2width
Definition: TEvtProb.hh:151
TEvtProb::CheckSelfDCouplings_Htt
bool CheckSelfDCouplings_Htt()
Definition: TEvtProb.cc:1082
TVar::SelfDefine_spin2
@ SelfDefine_spin2
Definition: TVar.hh:181
TEvtProb::GetPrimaryHiggsMass
double GetPrimaryHiggsMass()
Definition: TEvtProb.cc:369
SIZE_ZQQ
@ SIZE_ZQQ
Definition: raw_couplings.txt:107
TVar::bkgZJets
@ bkgZJets
Definition: TVar.hh:164
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:334
TEvtProb::ResetInputEvent
void ResetInputEvent()
Definition: TEvtProb.cc:345
TEvtProb::SetWprimeMassWidth
void SetWprimeMassWidth(double inmass, double inwidth)
Definition: TEvtProb.cc:321
TVar::ZZINDEPENDENT
@ ZZINDEPENDENT
Definition: TVar.hh:65
TUtil::SetMass
void SetMass(double inmass, int ipart)
Definition: TUtil.cc:1447
PDGHelpers::isAHiggs
bool isAHiggs(const int id)
Definition: PDGHelpers.cc:84
TVar::Process
Process
Definition: TVar.hh:124
TVar::EventScaleScheme
EventScaleScheme
Definition: TVar.hh:195
TVar::JJQCD
@ JJQCD
Definition: TVar.hh:71
TUtil::SetJHUGenVprimeContactCouplings
void SetJHUGenVprimeContactCouplings(double Zpffcoupl[SIZE_Vpff][2], double Wpffcoupl[SIZE_Vpff][2])
Definition: TUtil.cc:4231
TEvtProb::_h2mass
double _h2mass
Definition: TEvtProb.hh:150
SpinZeroCouplings::H2b4b4coupl
double H2b4b4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:49
TEvtProb::PDFMember_
int PDFMember_
Definition: TEvtProb.hh:141
TEvtProb::TEvtProb
TEvtProb()
Definition: TEvtProb.hh:53
TVar::ZZQQB
@ ZZQQB
Definition: TVar.hh:63
SpinZeroCouplings::HwwLambda_qsq
double HwwLambda_qsq[SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ]
Definition: TCouplings.hh:39
TVar::H1minus
@ H1minus
Definition: TVar.hh:147
VprimeCouplings::Zpffcoupl
double Zpffcoupl[SIZE_Vpff][2]
Definition: TCouplings.hh:122
gHIGGS_AA_2
@ gHIGGS_AA_2
Definition: raw_couplings.txt:18
TEvtProb::InitializeMCFM
void InitializeMCFM()
Definition: TEvtProb.cc:83
SpinTwoCouplings::Gvpvpcoupl
double Gvpvpcoupl[SIZE_GVV][2]
Definition: TCouplings.hh:103
TUtil::SetMCFMSpinZeroCouplings
void SetMCFMSpinZeroCouplings(bool useBSM, SpinZeroCouplings const *Hcouplings, bool forceZZ)
Definition: TUtil.cc:3501
spinzerohiggs_anomcoupl_
struct @34 spinzerohiggs_anomcoupl_
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:4227
TEvtProb::InitializeJHUGen
void InitializeJHUGen(const char *pathtoPDFSet, int PDFMember)
Definition: TEvtProb.cc:143
TVar::MADGRAPH
@ MADGRAPH
Definition: TVar.hh:59
TEvtProb::AppendTopCandidate
void AppendTopCandidate(SimpleParticleCollection_t *TopDaughters)
Definition: TEvtProb.cc:294
SpinOneCouplings::Zvvcoupl
double Zvvcoupl[SIZE_ZVV][2]
Definition: TCouplings.hh:81
TVar::H2_g7
@ H2_g7
Definition: TVar.hh:157
TEvtProb::CheckSelfDCouplings_Hbb
bool CheckSelfDCouplings_Hbb()
Definition: TEvtProb.cc:1107
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:65
SpinZeroCouplings::Httcoupl
double Httcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:30
TEvtProb.hh
gHIGGS_ZA_2
@ gHIGGS_ZA_2
Definition: raw_couplings.txt:14
TUtil::SetDecayWidth
void SetDecayWidth(double inwidth, int ipart)
Definition: TUtil.cc:1497
TEvtProb::selfDSpinZeroCoupl
SpinZeroCouplings selfDSpinZeroCoupl
Definition: TEvtProb.hh:156
SpinZeroCouplings::Hzzpcoupl
double Hzzpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:58
TEvtProb::selfDVprimeCoupl
VprimeCouplings selfDVprimeCoupl
Definition: TEvtProb.hh:159
TVar::ZZGG
@ ZZGG
Definition: TVar.hh:62
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:129
TEvtProb::GetRenFacScaleMode
const TVar::event_scales_type & GetRenFacScaleMode() const
Definition: TEvtProb.cc:216
gGRAVITON_QQ_LEFT
@ gGRAVITON_QQ_LEFT
Definition: raw_couplings.txt:118
TEvtProb::event_scales
TVar::event_scales_type event_scales
Definition: TEvtProb.hh:154
TEvtProb::SetRenFacScaleMode
void SetRenFacScaleMode(TVar::EventScaleScheme renormalizationSch, TVar::EventScaleScheme factorizationSch, double ren_sf, double fac_sf)
Definition: TEvtProb.cc:210
madMela::widths_
struct madMela::@1 widths_
MELAStreamHelpers::MELAout
MELAOutputStreamer MELAout
SpinZeroCouplings::Hg4g4coupl
double Hg4g4coupl[SIZE_HGG][2]
Definition: TCouplings.hh:32
qlinit_
void qlinit_()
TEvtProb::myCSW_
MELAHXSWidth myCSW_
Definition: TEvtProb.hh:153
TVar::DefaultLeptonInterf
@ DefaultLeptonInterf
Definition: TVar.hh:106
TEvtProb::SetLeptonInterf
void SetLeptonInterf(TVar::LeptonInterference tmp)
Definition: TEvtProb.cc:208
MELAParticle::m
double m() const
Definition: MELAParticle.h:66
TVar::H2_g5
@ H2_g5
Definition: TVar.hh:154
TEvtProb::GetHXSWidthEstimator
MELAHXSWidth const * GetHXSWidthEstimator() const
Definition: TEvtProb.cc:362
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:4228
SIZE_HQQ
@ SIZE_HQQ
Definition: raw_couplings.txt:5
TEvtProb::production
TVar::Production production
Definition: TEvtProb.hh:144
TVar::H0_g1prime2
@ H0_g1prime2
Definition: TVar.hh:126
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:8675
TEvtProb::SetCurrentCandidateFromIndex
void SetCurrentCandidateFromIndex(unsigned int icand)
Definition: TEvtProb.cc:306
TEvtProb::melaCand
MELACandidate * melaCand
Definition: TEvtProb.hh:164
TVar::H2_g3
@ H2_g3
Definition: TVar.hh:152
gGRAVITON_VV_2
@ gGRAVITON_VV_2
Definition: raw_couplings.txt:136
qlfirst_
struct @11 qlfirst_
SpinZeroCouplings::Hzpzpcoupl
double Hzpzpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:59
anonymous_namespace{TCouplingsBase.hh}::SIZE_HGG
@ SIZE_HGG
Definition: TCouplingsBase.hh:40
SpinTwoCouplings::getRef
SpinTwoCouplings * getRef()
Definition: TCouplings.cc:349
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:4219
MELAHXSWidth::HiggsWidth
double HiggsWidth(double mH) const
Definition: MELAHXSWidth.cc:72
TVar::H0_gsgs_PS
@ H0_gsgs_PS
Definition: TVar.hh:133
TEvtProb
Definition: TEvtProb.hh:48
TUtil::SetJHUGenDistinguishWWCouplings
void SetJHUGenDistinguishWWCouplings(bool doAllow)
Definition: TUtil.cc:3408
MadMela.h
This is the code that interfaces with the generated Madgraph matrix elements in fortran for specified...
TEvtProb::_hwidth
double _hwidth
Definition: TEvtProb.hh:149
SpinOneCouplings
Definition: TCouplings.hh:68
TEvtProb::_hmass
double _hmass
Definition: TEvtProb.hh:148
TVar::HSMHiggs
@ HSMHiggs
Definition: TVar.hh:125
VprimeCouplings::getRef
VprimeCouplings * getRef()
Definition: TCouplings.cc:417
TEvtProb::SetInputEvent
void SetInputEvent(SimpleParticleCollection_t *pDaughters, SimpleParticleCollection_t *pAssociated=0, SimpleParticleCollection_t *pMothers=0, bool isGen=false)
Definition: TEvtProb.cc:279
TVar::H2_g2
@ H2_g2
Definition: TVar.hh:151
TUtil::SetJHUGenAZffCouplings
void SetJHUGenAZffCouplings(bool needAZff, double AZffcoupl[SIZE_AZff][2])
Definition: TUtil.cc:4234
TEvtProb::matrixElement
TVar::MatrixElement matrixElement
Definition: TEvtProb.hh:143
TEvtProb::selfDAZffCoupl
AZffCouplings selfDAZffCoupl
Definition: TEvtProb.hh:161
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:31
AZffCouplings::AZffcoupl
double AZffcoupl[SIZE_AZff][2]
Definition: TCouplings.hh:158
TVar::H2_g9
@ H2_g9
Definition: TVar.hh:159
SpinZeroCouplings::reset
void reset()
Definition: TCouplings.cc:17
TEvtProb::XsecCalc_VVXVV
double XsecCalc_VVXVV()
Definition: TEvtProb.cc:746
TEvtProb::CheckSelfDCouplings_AZff
bool CheckSelfDCouplings_AZff()
Definition: TEvtProb.cc:1167
TEvtProb::GetSelfDSpinTwoCouplings
SpinTwoCouplings * GetSelfDSpinTwoCouplings()
Definition: TEvtProb.cc:365
SpinZeroCouplings::Hqqcoupl
double Hqqcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:29
TEvtProb::Build
void Build()
Definition: TEvtProb.cc:52
TEvtProb::CheckSelfDCouplings_HVV
bool CheckSelfDCouplings_HVV()
Definition: TEvtProb.cc:1132
TVar::H0_gsgs
@ H0_gsgs
Definition: TVar.hh:132
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:1619
SpinTwoCouplings::reset
void reset()
Definition: TCouplings.cc:325
aTQGCCouplings::getRef
aTQGCCouplings * getRef()
Definition: TCouplings.cc:461
TEvtProb::selfDSpinOneCoupl
SpinOneCouplings selfDSpinOneCoupl
Definition: TEvtProb.hh:157
gGRAVITON_GG_4
@ gGRAVITON_GG_4
Definition: raw_couplings.txt:128
TEvtProb::CrossInitialize
void CrossInitialize()
Definition: TEvtProb.cc:150
TEvtProb::XsecCalcXJJ
double XsecCalcXJJ()
Definition: TEvtProb.cc:796
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:36
TEvtProb::GetIORecord
MelaIO * GetIORecord()
Definition: TEvtProb.cc:382
TVar::JJEW_S
@ JJEW_S
Definition: TVar.hh:84
SpinZeroCouplings::H2wwcoupl
double H2wwcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:52
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:1388
VprimeCouplings::Wpffcoupl
double Wpffcoupl[SIZE_Vpff][2]
Definition: TCouplings.hh:123
TEvtProb::ResetMass
void ResetMass(double inmass, int ipart)
Definition: TEvtProb.cc:319
TEvtProb::SetProcess
void SetProcess(TVar::Process proc, TVar::MatrixElement me, TVar::Production prod)
Definition: TEvtProb.cc:193
SpinZeroCouplings::Hwwpcoupl
double Hwwpcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:60
TEvtProb::selfDSpinTwoCoupl
SpinTwoCouplings selfDSpinTwoCoupl
Definition: TEvtProb.hh:158
PDGHelpers::setCandidateDecayMode
void setCandidateDecayMode(TVar::CandidateDecayMode mode)
Definition: PDGHelpers.cc:232
MELACandidate::addAssociatedTop
void addAssociatedTop(MELATopCandidate_t *myParticle)
Definition: MELACandidate.cc:619
TVar::MatrixElement
MatrixElement
Definition: TVar.hh:55
TVar::event_scales_type::factorizationScheme
TVar::EventScaleScheme factorizationScheme
Definition: TVar.hh:261
SIZE_ATQGC
@ SIZE_ATQGC
Definition: raw_couplings.txt:176
TUtil::SetMadgraphSpinZeroCouplings
void SetMadgraphSpinZeroCouplings(SpinZeroCouplings const *Hcouplings)
Definition: TUtil.cc:3415
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:38
SpinZeroCouplings::getRef
SpinZeroCouplings * getRef()
Definition: TCouplings.cc:106
TVar::ZZQQB_STU
@ ZZQQB_STU
Definition: TVar.hh:64
TEvtProb::pathtoPDFSet_
const char * pathtoPDFSet_
Definition: TEvtProb.hh:140
TEvtProb::GetPrimaryMass
double GetPrimaryMass(int ipart)
Definition: TEvtProb.cc:370
TVar::JJVBF_TU
@ JJVBF_TU
Definition: TVar.hh:94
TVar::event_scales_type::fac_scale_factor
double fac_scale_factor
Definition: TVar.hh:263
TVar::H2_g1
@ H2_g1
Definition: TVar.hh:150
TEvtProb::GetCurrentCandidateIndex
int GetCurrentCandidateIndex()
Definition: TEvtProb.cc:384
SpinZeroCouplings::Hwwcoupl
double Hwwcoupl[SIZE_HVV][2]
Definition: TCouplings.hh:37
TEvtProb::SetVerbosity
void SetVerbosity(TVar::VerbosityLevel tmp)
Definition: TEvtProb.cc:207
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
TEvtProb::Set_LHAgrid
void Set_LHAgrid(const char *path, int pdfmember=0)
Definition: TEvtProb.cc:186
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:155
TVar::H2_g8
@ H2_g8
Definition: TVar.hh:158
TUtil::ConvertThreeBodyDecayCandidate
MELAThreeBodyDecayCandidate * ConvertThreeBodyDecayCandidate(SimpleParticleCollection_t *tbdDaughters, std::vector< MELAParticle * > *particleList, std::vector< MELAThreeBodyDecayCandidate * > *tbdCandList)
Definition: TUtil.cc:8819
SpinZeroCouplings::H2g4g4coupl
double H2g4g4coupl[SIZE_HGG][2]
Definition: TCouplings.hh:47
TUtil::GetMass
double GetMass(int ipart)
Definition: TUtil.cc:1582
TEvtProb::selfDaTQGCCoupl
aTQGCCouplings selfDaTQGCCoupl
Definition: TEvtProb.hh:160
MELAStreamHelpers::MELAerr
MELAOutputStreamer MELAerr
gZPRIME_QQ_LEFT
@ gZPRIME_QQ_LEFT
Definition: raw_couplings.txt:104
TUtil::MadgraphMatEl
double MadgraphMatEl(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:5258
gZPRIME_VV_2
@ gZPRIME_VV_2
Definition: raw_couplings.txt:112
SpinZeroCouplings::H2bbcoupl
double H2bbcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:46
TEvtProb::SetZprimeMassWidth
void SetZprimeMassWidth(double inmass, double inwidth)
Definition: TEvtProb.cc:320
gGRAVITON_GG_2
@ gGRAVITON_GG_2
Definition: raw_couplings.txt:126
madMela::mad_masses_
struct madMela::@0 mad_masses_
TVar::ResonancePropagatorScheme
ResonancePropagatorScheme
Definition: TVar.hh:116
TVar::Had_WH_S
@ Had_WH_S
Definition: TVar.hh:87
SpinTwoCouplings::Gvvcoupl
double Gvvcoupl[SIZE_GVV][2]
Definition: TCouplings.hh:101
TVar::JJEW
@ JJEW
Definition: TVar.hh:73
TUtil::SetMCFMaTQGCCouplings
void SetMCFMaTQGCCouplings(bool useBSM, aTQGCCouplings const *couplings)
Definition: TUtil.cc:4134
VprimeCouplings
Definition: TCouplings.hh:108
TEvtProb::GetSelfDSpinZeroCouplings
SpinZeroCouplings * GetSelfDSpinZeroCouplings()
Definition: TEvtProb.cc:363
TEvtProb::GetCurrentCandidate
MELACandidate * GetCurrentCandidate()
Definition: TEvtProb.cc:383
SpinTwoCouplings::Gqqcoupl
double Gqqcoupl[SIZE_GQQ][2]
Definition: TCouplings.hh:104
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:7452
TEvtProb::ResetWidth
void ResetWidth(double inwidth, int ipart)
Definition: TEvtProb.cc:322
TVar::InterfOn
@ InterfOn
Definition: TVar.hh:107
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:393
TEvtProb::AllowSeparateWWCouplings
void AllowSeparateWWCouplings(bool doAllow=false)
Definition: TEvtProb.cc:219
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:102
TVar::event_scales_type::ren_scale_factor
double ren_scale_factor
Definition: TVar.hh:262
TVar::H0_Zgs
@ H0_Zgs
Definition: TVar.hh:130
TVar::ttH
@ ttH
Definition: TVar.hh:67
SpinZeroCouplings
Definition: TCouplings.hh:7
TVar::SelfDefine_spin0
@ SelfDefine_spin0
Definition: TVar.hh:179
TUtil::InitJHUGenMELA
void InitJHUGenMELA(const char *pathtoPDFSet, int PDFMember, double collider_sqrts)
Definition: TUtil.cc:3392
SpinOneCouplings::getRef
SpinOneCouplings * getRef()
Definition: TCouplings.cc:302
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:4244
gHIGGS_ZA_4
@ gHIGGS_ZA_4
Definition: raw_couplings.txt:16
TEvtProb::SetPrimaryHiggsMass
void SetPrimaryHiggsMass(double mass)
Definition: TEvtProb.cc:220
TEvtProb::XsecCalc_VX
double XsecCalc_VX(bool includeHiggsDecay)
Definition: TEvtProb.cc:916
TEvtProb::GetSelfDAZffCouplings
AZffCouplings * GetSelfDAZffCouplings()
Definition: TEvtProb.cc:368
anonymous_namespace{TCouplingsBase.hh}::gHIGGS_GG_4
@ gHIGGS_GG_4
Definition: TCouplingsBase.hh:38
SpinZeroCouplings::HwwCLambda_qsq
int HwwCLambda_qsq[SIZE_HVV_CQSQ]
Definition: TCouplings.hh:41
TEvtProb::CheckSelfDCouplings_Hqq
bool CheckSelfDCouplings_Hqq()
Definition: TEvtProb.cc:1061
TVar::H2_g6
@ H2_g6
Definition: TVar.hh:156
TVar::Lep_ZH
@ Lep_ZH
Definition: TVar.hh:77
TEvtProb::CheckSelfDCouplings_aTQGC
bool CheckSelfDCouplings_aTQGC()
Definition: TEvtProb.cc:1157
TVar::event_scales_type::renomalizationScheme
TVar::EventScaleScheme renomalizationScheme
Definition: TVar.hh:260
TEvtProb::~TEvtProb
~TEvtProb()
Definition: TEvtProb.cc:75
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)
cabib_
struct @40 cabib_
MELACandidate
Definition: MELACandidate.h:7
TUtil::SetJHUGenSpinZeroQQCouplings
void SetJHUGenSpinZeroQQCouplings(double Hqqcoupl[SIZE_HQQ][2])
Definition: TUtil.cc:4226
AZffCouplings::reset
void reset()
Definition: TCouplings.cc:476
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
MELAStreamHelpers.hh
MELAThreeBodyDecayCandidate
Definition: MELAThreeBodyDecayCandidate.h:7
TVar::H2_g4
@ H2_g4
Definition: TVar.hh:153
TVar::JJEWQCD_TU
@ JJEWQCD_TU
Definition: TVar.hh:96
SimpleParticleCollection_t
std::vector< SimpleParticle_t > SimpleParticleCollection_t
Definition: TVar.hh:25
TUtil
Definition: TUtil.hh:49
TEvtProb::PrimaryHMass
double PrimaryHMass
Definition: TEvtProb.hh:147
gGRAVITON_QQ_RIGHT
@ gGRAVITON_QQ_RIGHT
Definition: raw_couplings.txt:119
SpinTwoCouplings
Definition: TCouplings.hh:85
SpinZeroCouplings::H2ttcoupl
double H2ttcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:45
TVar::DefaultScaleScheme
@ DefaultScaleScheme
Definition: TVar.hh:196
TEvtProb::topCandList
std::vector< MELATopCandidate_t * > topCandList
Definition: TEvtProb.hh:167
TEvtProb::SetCurrentCandidate
void SetCurrentCandidate(MELACandidate *cand)
Definition: TEvtProb.cc:310
TVar::Had_WH
@ Had_WH
Definition: TVar.hh:76
TVar::JJEW_TU
@ JJEW_TU
Definition: TVar.hh:95
TEvtProb::GetXPropagator
double GetXPropagator(TVar::ResonancePropagatorScheme scheme)
Definition: TEvtProb.cc:1028
MelaIO::melaCand
MELACandidate * melaCand
Definition: MelaIO.h:29
TVar::Production
Production
Definition: TVar.hh:61
hto_masses::me
real *8, parameter me
Definition: CALLING_cpHTO.f:77
SpinZeroCouplings::H2t4t4coupl
double H2t4t4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:48
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:285
gHIGGS_VV_2
@ gHIGGS_VV_2
Definition: raw_couplings.txt:10
TVar::SelfDefine_spin1
@ SelfDefine_spin1
Definition: TVar.hh:180
SpinZeroCouplings::Hb4b4coupl
double Hb4b4coupl[SIZE_HQQ][2]
Definition: TCouplings.hh:34
__modjhugenmela_MOD_getpdfconstants
void __modjhugenmela_MOD_getpdfconstants(double *pdfzmass, int *pdfnloops, int *pdfnf)
SpinTwoCouplings::Gggcoupl
double Gggcoupl[SIZE_GGG][2]
Definition: TCouplings.hh:105
SpinZeroCouplings::Hggcoupl
double Hggcoupl[SIZE_HGG][2]
Definition: TCouplings.hh:28
TVar::MatrixElementName
TString MatrixElementName(TVar::MatrixElement temp)
Definition: TVar.cc:109
TVar::H0hplus
@ H0hplus
Definition: TVar.hh:127
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:4887
gHIGGS_KAPPA
@ gHIGGS_KAPPA
Definition: raw_couplings.txt:2
TVar::bbH
@ bbH
Definition: TVar.hh:68
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:6843
SpinZeroCouplings::H2qqcoupl
double H2qqcoupl[SIZE_HQQ][2]
Definition: TCouplings.hh:44
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:317
TEvtProb::ResetQuarkMasses
void ResetQuarkMasses()
Definition: TEvtProb.cc:323
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:43
gHIGGS_ZA_1_PRIME2
@ gHIGGS_ZA_1_PRIME2
Definition: raw_couplings.txt:46
TEvtProb::process
TVar::Process process
Definition: TEvtProb.hh:142
TUtil::ResetAmplitudeIncludes
void ResetAmplitudeIncludes()
Definition: TUtil.cc:3412