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.
TVar.hh
Go to the documentation of this file.
1 #ifndef EvtProb_VAR
2 #define EvtProb_VAR
3 
4 #define xstr_lit(s) str_lit(s)
5 #define str_lit(s) #s
6 #ifndef _melapkgpathstr_
7 #ifndef _melapkgpath_
8 #define _melapkgpath_ ./
9 #endif
10 #define _melapkgpathstr_ xstr_lit(_melapkgpath_)
11 #endif
12 
13 #include <cstring>
14 #include <string>
15 #include <vector>
16 #include <utility>
17 #include "TString.h"
18 #include "TH1F.h"
19 #include "TH2F.h"
20 #include "TLorentzVector.h"
21 
22 
23 // typedefs for use in simple_event_record
24 typedef std::pair<int, TLorentzVector> SimpleParticle_t;
25 typedef std::vector<SimpleParticle_t> SimpleParticleCollection_t;
26 
27 
28 namespace TVar{
29  enum{
31  kUseAssociated_Leptons=2, // l or nu
36  };
42  CandidateDecay_ZW, // Untested
46  };
48  SILENT = 0,
49  ERROR = 1,
50  INFO = 2,
51  DEBUG = 3,
54  };
56  MCFM = 0,
57  JHUGen = 1,
59  };
60  enum Production{
63  ZZQQB_STU, // Should be the same as ZZQQB, just for crosscheck
65 
66  ttH, // ttH
67  bbH, // bbH
68 
69  JQCD, // ? + 1 jet
70 
71  JJQCD, // SBF
72  JJVBF, // VBF
73  JJEW, // VBF+VH (had.)
74  JJEWQCD, // VBF+VH+QCD, all hadronic
75  Had_ZH, // ZH, Z->uu/dd
76  Had_WH, // W(+/-)H, W->ud
77  Lep_ZH, // ZH, Z->ll/nunu
78  Lep_WH, // W(+/-)H, W->lnu
79 
80  // s-channel contributions
90 
91  // t+u-channel contributions
101 
102  GammaH, // gammaH, stable A (could implement S and TU in the future
103  //
105  };
110  };
116  };
117  enum ResonancePropagatorScheme{ // Assigned specific integer value on purpose, translated directly to the JHUGen propagator indices
121  CPS=3,
123  };
124 
125  enum Process{
126  HSMHiggs, // Call this for any MCFM |H|**2-only ME.
135 
147 
148  H1minus, // 1-
149  H1plus, // 1+
150 
151  H2_g1, // 2m+, Zg, gg
152  H2_g2, // 2h2+
153  H2_g3, // 2h3+
154  H2_g4, // 2h+
155  H2_g5, // 2b+
156  H2_g1g5, // 2m+
157  H2_g6, // 2h6+
158  H2_g7, // 2h7+
159  H2_g8, // 2h-
160  H2_g9, // 2h9-
161  H2_g10, // 2h10-
162 
163  bkgGammaGamma, // gamma+gamma cont.
164  bkgZGamma, // Z+gamma cont.
165  bkgZJets, // Z + 0/1/2 jets (ZZGG, JQCD, JJQCD)
166  bkgZZ, // qq/gg->ZZ cont.
167  bkgWW, // qq/gg->WW cont.
168  bkgWWZZ, // gg->ZZ+WW cont.
169 
170  bkgZZ_SMHiggs, // ggZZ cont. + SMHigg
171  bkgWW_SMHiggs, // ggWW cont. + SMHiggs
172  bkgWWZZ_SMHiggs, // ggZZ+WW cont. + SMHiggs
173 
174  HSMHiggs_WWZZ, // MCFM |H|**2 ZZ+WW with ZZ-WW interference
175 
176  /**** For width ***/
178 
179  /***** Self Defined******/
183 
185  };
187  // Nominal value
189  // Scale uncertainties
192  // Resolution uncertainties
195  };
213 
215  };
216 
217  //---------------------------------
218  // Functions
219  //---------------------------------
220  TString ProcessName(TVar::Process temp);
221  TString ProductionName(TVar::Production temp);
223 
224  //---------------------------------
225  // Structs
226  //---------------------------------
227  struct simple_event_record{ // Somewhat not-so-simple particles
229  int AssociationVCompatibility; // Z=23, W+-=|+-24| or none=0
235 
236  // Output 4-vectors
237  std::vector<int> intermediateVid; // Origin of daughters, not associated particles
241 
242  std::vector<SimpleParticleCollection_t> pTopDaughters;
243  std::vector<SimpleParticleCollection_t> pAntitopDaughters;
246 
247  // Constructor
254  nRequested_Tops(0),
256  {}
257 
258  };
259 
265  };
266 
267  std::string GetMELAPath_NoEnvExpansion();
268  std::string GetMELAPath();
269 }
270 
271 
272 #endif
TVar::kUseAssociated_Photons
@ kUseAssociated_Photons
Definition: TVar.hh:32
TVar::H1plus
@ H1plus
Definition: TVar.hh:149
TVar::ERROR
@ ERROR
Definition: TVar.hh:49
TVar::bkgWW_SMHiggs
@ bkgWW_SMHiggs
Definition: TVar.hh:171
TVar::FixedWidth
@ FixedWidth
Definition: TVar.hh:120
SimpleParticle_t
std::pair< int, TLorentzVector > SimpleParticle_t
Definition: TVar.hh:24
TVar::JJVBF
@ JJVBF
Definition: TVar.hh:72
TVar::Dynamic_qJJ_qH
@ Dynamic_qJJ_qH
Definition: TVar.hh:207
TVar::D_zzzg_g1prime2
@ D_zzzg_g1prime2
Definition: TVar.hh:145
TVar::simple_event_record::pTopDaughters
std::vector< SimpleParticleCollection_t > pTopDaughters
Definition: TVar.hh:242
TVar::simple_event_record::pStableAntitops
SimpleParticleCollection_t pStableAntitops
Definition: TVar.hh:245
TVar::Had_ZH_S
@ Had_ZH_S
Definition: TVar.hh:86
TVar::D_g1g4
@ D_g1g4
Definition: TVar.hh:139
TVar::FermionMassRemoval
FermionMassRemoval
Definition: TVar.hh:111
TVar::LeptonInterference
LeptonInterference
Definition: TVar.hh:106
TVar::H0_Zgs_PS
@ H0_Zgs_PS
Definition: TVar.hh:132
TVar::kUseAssociated_Jets
@ kUseAssociated_Jets
Definition: TVar.hh:33
TVar::VerbosityLevel
VerbosityLevel
Definition: TVar.hh:47
TVar::Fixed_mH
@ Fixed_mH
Definition: TVar.hh:198
TVar::JJEWQCD
@ JJEWQCD
Definition: TVar.hh:74
TVar::H0minus
@ H0minus
Definition: TVar.hh:129
TVar::CandidateDecay_ZZ
@ CandidateDecay_ZZ
Definition: TVar.hh:41
TVar::simple_event_record::nRequested_AssociatedJets
int nRequested_AssociatedJets
Definition: TVar.hh:230
TVar::Fixed_mWPlusmH
@ Fixed_mWPlusmH
Definition: TVar.hh:201
TVar::bkgGammaGamma
@ bkgGammaGamma
Definition: TVar.hh:163
TVar::nFermionMassRemovalSchemes
@ nFermionMassRemovalSchemes
Definition: TVar.hh:115
TVar::event_scales_type
Definition: TVar.hh:260
TVar::INFO
@ INFO
Definition: TVar.hh:50
TVar::Lep_WH_S
@ Lep_WH_S
Definition: TVar.hh:89
TVar::nProcesses
@ nProcesses
Definition: TVar.hh:184
TVar::kUseAssociated_UnstableTops
@ kUseAssociated_UnstableTops
Definition: TVar.hh:34
TVar::ProductionName
TString ProductionName(TVar::Production temp)
Definition: TVar.cc:64
TVar::GammaH
@ GammaH
Definition: TVar.hh:102
TVar::simple_event_record::simple_event_record
simple_event_record()
Definition: TVar.hh:248
TVar::Dynamic_HT
@ Dynamic_HT
Definition: TVar.hh:209
TVar::CandidateDecayMode
CandidateDecayMode
Definition: TVar.hh:37
TVar::H2_g10
@ H2_g10
Definition: TVar.hh:161
TVar::SelfDefine_spin2
@ SelfDefine_spin2
Definition: TVar.hh:182
TVar::CandidateDecay_Stable
@ CandidateDecay_Stable
Definition: TVar.hh:38
TVar::bkgZJets
@ bkgZJets
Definition: TVar.hh:165
TVar::ZZINDEPENDENT
@ ZZINDEPENDENT
Definition: TVar.hh:64
TVar::simple_event_record::pDaughters
SimpleParticleCollection_t pDaughters
Definition: TVar.hh:238
TVar::Process
Process
Definition: TVar.hh:125
TVar::EventScaleScheme
EventScaleScheme
Definition: TVar.hh:196
TVar::JJQCD
@ JJQCD
Definition: TVar.hh:71
TVar
Definition: TVar.hh:28
TVar::HSMHiggs_WWZZ
@ HSMHiggs_WWZZ
Definition: TVar.hh:174
TVar::ZZQQB
@ ZZQQB
Definition: TVar.hh:62
TVar::CandidateDecay_WW
@ CandidateDecay_WW
Definition: TVar.hh:40
TVar::H1minus
@ H1minus
Definition: TVar.hh:148
TVar::D_g1g4_pi_2
@ D_g1g4_pi_2
Definition: TVar.hh:140
TVar::simple_event_record::nRequested_AssociatedPhotons
int nRequested_AssociatedPhotons
Definition: TVar.hh:232
TVar::D_zzzg_PS
@ D_zzzg_PS
Definition: TVar.hh:143
TVar::nEventScaleSchemes
@ nEventScaleSchemes
Definition: TVar.hh:214
TVar::DEBUG_VERBOSE
@ DEBUG_VERBOSE
Definition: TVar.hh:52
TVar::D_zzzg_g1prime2_pi_2
@ D_zzzg_g1prime2_pi_2
Definition: TVar.hh:146
TVar::H2_g7
@ H2_g7
Definition: TVar.hh:158
TVar::simple_event_record::AssociationVCompatibility
int AssociationVCompatibility
Definition: TVar.hh:229
TVar::ZZQQB_TU
@ ZZQQB_TU
Definition: TVar.hh:92
TVar::SMSyst_ResUp
@ SMSyst_ResUp
Definition: TVar.hh:193
TVar::ZZGG
@ ZZGG
Definition: TVar.hh:61
TVar::ProcessName
TString ProcessName(TVar::Process temp)
Definition: TVar.cc:6
TVar::MomentumToEnergy
@ MomentumToEnergy
Definition: TVar.hh:114
TVar::H0_Zgsg1prime2
@ H0_Zgsg1prime2
Definition: TVar.hh:130
TVar::simple_event_record::nRequested_Tops
int nRequested_Tops
Definition: TVar.hh:233
TVar::simple_event_record::pMothers
SimpleParticleCollection_t pMothers
Definition: TVar.hh:240
TVar::bkgWW
@ bkgWW
Definition: TVar.hh:167
TVar::D_zzgg
@ D_zzgg
Definition: TVar.hh:142
TVar::kNoAssociated
@ kNoAssociated
Definition: TVar.hh:30
TVar::DefaultLeptonInterf
@ DefaultLeptonInterf
Definition: TVar.hh:107
TVar::D_zzgg_PS
@ D_zzgg_PS
Definition: TVar.hh:144
TVar::H2_g5
@ H2_g5
Definition: TVar.hh:155
TVar::CPS
@ CPS
Definition: TVar.hh:121
TVar::bkgWWZZ
@ bkgWWZZ
Definition: TVar.hh:168
TVar::H0_g1prime2
@ H0_g1prime2
Definition: TVar.hh:127
TVar::kUseAssociated_Leptons
@ kUseAssociated_Leptons
Definition: TVar.hh:31
TVar::simple_event_record::intermediateVid
std::vector< int > intermediateVid
Definition: TVar.hh:237
TVar::H2_g3
@ H2_g3
Definition: TVar.hh:153
TVar::SMSyst_None
@ SMSyst_None
Definition: TVar.hh:188
TVar::DEBUG_MECHECK
@ DEBUG_MECHECK
Definition: TVar.hh:53
TVar::simple_event_record::AssociationCode
int AssociationCode
Definition: TVar.hh:228
TVar::H0_gsgs_PS
@ H0_gsgs_PS
Definition: TVar.hh:134
TVar::simple_event_record::pStableTops
SimpleParticleCollection_t pStableTops
Definition: TVar.hh:244
TVar::HSMHiggs
@ HSMHiggs
Definition: TVar.hh:126
TVar::H2_g2
@ H2_g2
Definition: TVar.hh:152
TVar::Lep_WH_TU
@ Lep_WH_TU
Definition: TVar.hh:100
TVar::bkgZGamma
@ bkgZGamma
Definition: TVar.hh:164
TVar::GetMELAPath
std::string GetMELAPath()
Definition: TVar.cc:121
TVar::H2_g9
@ H2_g9
Definition: TVar.hh:160
TVar::Fixed_mZPlusmH
@ Fixed_mZPlusmH
Definition: TVar.hh:202
TVar::H0_gsgs
@ H0_gsgs
Definition: TVar.hh:133
TVar::D_gg10
@ D_gg10
Definition: TVar.hh:177
TVar::GetMELAPath_NoEnvExpansion
std::string GetMELAPath_NoEnvExpansion()
Definition: TVar.cc:117
TVar::Had_ZH_TU
@ Had_ZH_TU
Definition: TVar.hh:97
TVar::MCFM
@ MCFM
Definition: TVar.hh:56
TVar::Lep_ZH_S
@ Lep_ZH_S
Definition: TVar.hh:88
TVar::D_g1g2
@ D_g1g2
Definition: TVar.hh:137
TVar::JJEW_S
@ JJEW_S
Definition: TVar.hh:84
TVar::CandidateDecay_ZW
@ CandidateDecay_ZW
Definition: TVar.hh:42
TVar::SMSyst_ResDown
@ SMSyst_ResDown
Definition: TVar.hh:194
TVar::Dynamic_qJ_qJ_qH
@ Dynamic_qJ_qJ_qH
Definition: TVar.hh:208
TVar::ConserveDifermionMass
@ ConserveDifermionMass
Definition: TVar.hh:113
TVar::SILENT
@ SILENT
Definition: TVar.hh:48
TVar::Dynamic_Softest_pTJ
@ Dynamic_Softest_pTJ
Definition: TVar.hh:211
TVar::CandidateDecay_ZG
@ CandidateDecay_ZG
Definition: TVar.hh:43
TVar::MatrixElement
MatrixElement
Definition: TVar.hh:55
TVar::event_scales_type::factorizationScheme
TVar::EventScaleScheme factorizationScheme
Definition: TVar.hh:262
TVar::ZZQQB_STU
@ ZZQQB_STU
Definition: TVar.hh:63
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
TVar::Fixed_mZ
@ Fixed_mZ
Definition: TVar.hh:200
TVar::bkgWWZZ_SMHiggs
@ bkgWWZZ_SMHiggs
Definition: TVar.hh:172
TVar::NoPropagator
@ NoPropagator
Definition: TVar.hh:118
TVar::JHUGen
@ JHUGen
Definition: TVar.hh:57
TVar::Had_ZH
@ Had_ZH
Definition: TVar.hh:75
TVar::NoRemoval
@ NoRemoval
Definition: TVar.hh:112
TVar::H2_g1g5
@ H2_g1g5
Definition: TVar.hh:156
TVar::H2_g8
@ H2_g8
Definition: TVar.hh:159
TVar::InterfOff
@ InterfOff
Definition: TVar.hh:109
TVar::ResonancePropagatorScheme
ResonancePropagatorScheme
Definition: TVar.hh:117
TVar::Dynamic_qH
@ Dynamic_qH
Definition: TVar.hh:205
TVar::Had_WH_S
@ Had_WH_S
Definition: TVar.hh:87
TVar::JJEW
@ JJEW
Definition: TVar.hh:73
TVar::D_g1g1prime2
@ D_g1g1prime2
Definition: TVar.hh:136
TVar::bkgZZ_SMHiggs
@ bkgZZ_SMHiggs
Definition: TVar.hh:170
TVar::CandidateDecay_WG
@ CandidateDecay_WG
Definition: TVar.hh:44
TVar::bkgZZ
@ bkgZZ
Definition: TVar.hh:166
TVar::simple_event_record::nRequested_Antitops
int nRequested_Antitops
Definition: TVar.hh:234
TVar::SMSyst_ScaleDown
@ SMSyst_ScaleDown
Definition: TVar.hh:191
TVar::InterfOn
@ InterfOn
Definition: TVar.hh:108
TVar::Fixed_mW
@ Fixed_mW
Definition: TVar.hh:199
TVar::Fixed_TwomtPlusmH
@ Fixed_TwomtPlusmH
Definition: TVar.hh:203
TVar::Had_WH_TU
@ Had_WH_TU
Definition: TVar.hh:98
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::SuperMelaSyst
SuperMelaSyst
Definition: TVar.hh:186
TVar::ttH
@ ttH
Definition: TVar.hh:66
TVar::SelfDefine_spin0
@ SelfDefine_spin0
Definition: TVar.hh:180
TVar::simple_event_record::pAssociated
SimpleParticleCollection_t pAssociated
Definition: TVar.hh:239
TVar::JQCD
@ JQCD
Definition: TVar.hh:69
TVar::RunningWidth
@ RunningWidth
Definition: TVar.hh:119
TVar::ANALYTICAL
@ ANALYTICAL
Definition: TVar.hh:58
TVar::H2_g6
@ H2_g6
Definition: TVar.hh:157
TVar::Lep_ZH
@ Lep_ZH
Definition: TVar.hh:77
TVar::SMSyst_ScaleUp
@ SMSyst_ScaleUp
Definition: TVar.hh:190
TVar::event_scales_type::renomalizationScheme
TVar::EventScaleScheme renomalizationScheme
Definition: TVar.hh:261
TVar::ZZQQB_S
@ ZZQQB_S
Definition: TVar.hh:81
TVar::simple_event_record::pAntitopDaughters
std::vector< SimpleParticleCollection_t > pAntitopDaughters
Definition: TVar.hh:243
TVar::DEBUG
@ DEBUG
Definition: TVar.hh:51
TVar::JJEWQCD_S
@ JJEWQCD_S
Definition: TVar.hh:85
TVar::simple_event_record::nRequested_AssociatedLeptons
int nRequested_AssociatedLeptons
Definition: TVar.hh:231
TVar::D_zzzg
@ D_zzzg
Definition: TVar.hh:141
TVar::H2_g4
@ H2_g4
Definition: TVar.hh:154
TVar::JJEWQCD_TU
@ JJEWQCD_TU
Definition: TVar.hh:96
SimpleParticleCollection_t
std::vector< SimpleParticle_t > SimpleParticleCollection_t
Definition: TVar.hh:25
TVar::Dynamic_qJJH
@ Dynamic_qJJH
Definition: TVar.hh:206
TVar::D_g1g2_pi_2
@ D_g1g2_pi_2
Definition: TVar.hh:138
TVar::AltRunningWidth
@ AltRunningWidth
Definition: TVar.hh:122
TVar::DefaultScaleScheme
@ DefaultScaleScheme
Definition: TVar.hh:197
TVar::CandidateDecay_ff
@ CandidateDecay_ff
Definition: TVar.hh:39
TVar::Fixed_mtPlusmH
@ Fixed_mtPlusmH
Definition: TVar.hh:204
TVar::Had_WH
@ Had_WH
Definition: TVar.hh:76
TVar::JJEW_TU
@ JJEW_TU
Definition: TVar.hh:95
TVar::Dynamic_Leading_pTJ
@ Dynamic_Leading_pTJ
Definition: TVar.hh:210
TVar::Production
Production
Definition: TVar.hh:60
TVar::JJVBF_S
@ JJVBF_S
Definition: TVar.hh:83
TVar::Lep_WH
@ Lep_WH
Definition: TVar.hh:78
TVar::kUseAssociated_StableTops
@ kUseAssociated_StableTops
Definition: TVar.hh:35
TVar::JJQCD_TU
@ JJQCD_TU
Definition: TVar.hh:93
TVar::simple_event_record
Definition: TVar.hh:227
TVar::SelfDefine_spin1
@ SelfDefine_spin1
Definition: TVar.hh:181
TVar::nProductions
@ nProductions
Definition: TVar.hh:104
TVar::MatrixElementName
TString MatrixElementName(TVar::MatrixElement temp)
Definition: TVar.cc:109
TVar::H0hplus
@ H0hplus
Definition: TVar.hh:128
TVar::bbH
@ bbH
Definition: TVar.hh:67
TVar::Dynamic_RandomUniform_Constrained
@ Dynamic_RandomUniform_Constrained
Definition: TVar.hh:212
TVar::JJQCD_S
@ JJQCD_S
Definition: TVar.hh:82
TVar::Lep_ZH_TU
@ Lep_ZH_TU
Definition: TVar.hh:99
TVar::CandidateDecay_GG
@ CandidateDecay_GG
Definition: TVar.hh:45