JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
TUtil.hh
Go to the documentation of this file.
1 // March 28 2011
2 // S. Jindariani ([email protected])
3 // Y. Gao ([email protected])
4 // K. Burkett ([email protected])
5 
6 
7 #ifndef ZZ_COMMON
8 #define ZZ_COMMON
9 #include <string>
10 #include <vector>
11 #include <complex>
12 // MelaIO class
13 #include "MelaIO.h"
14 // Couplings classes
15 #include "TCouplings.hh"
16 // MCFM utilities
17 #include "TMCFMUtils.hh"
18 // Mod_Parameters
19 #include "TModParameters.hh"
20 // NNPDF Driver for JHUGen
21 #include "TNNPDFDriver.hh"
22 // Mod Kinematics
23 #include "TModKinematics.hh"
24 // JHUGenMELA
25 #include "TModJHUGen.hh"
26 #include "TModJHUGenMELA.hh"
27 // Higgs + 0 jet
28 #include "TModHiggsMatEl.hh"
29 #include "TModGravitonMatEl.hh"
30 #include "TModZprimeMatEl.hh"
31 // Higgs + 1/2 jets
32 #include "TModHiggsJJMatEl.hh"
33 #include "TModHiggsJMatEl.hh"
34 // VH
35 #include "TModVHiggsMatEl.hh"
36 // ttH
37 #include "TModTTBHMatEl.hh"
38 // ROOT includes
39 #include "TLorentzVector.h"
40 #include "TTree.h"
41 #include "TH1F.h"
42 #include "TH2F.h"
43 #include "TH1D.h"
44 #include "TH2D.h"
45 #include "TFile.h"
46 #include "TF1.h"
47 
48 
49 namespace TUtil{
51  extern bool forbidMassiveLeptons;
52  extern bool forbidMassiveJets;
55 
56  void applyLeptonMassCorrection(bool flag=true);
57  void applyJetMassCorrection(bool flag=true);
60  // This version makes the masses of p1 and p2 to be m1 and m2, leaving p1+p2 unchanged.
61  void constrainedRemovePairMass(TLorentzVector& p1, TLorentzVector& p2, double m1=0, double m2=0);
62  // This version simply scales momentum to match energy for the desired mass.
63  void scaleMomentumToEnergy(const TLorentzVector& massiveJet, TLorentzVector& masslessJet, double mass=0);
64  // Function that has generic removal features
65  std::pair<TLorentzVector, TLorentzVector> removeMassFromPair(
66  TLorentzVector const& jet1, int const& jet1Id,
67  TLorentzVector const& jet2, int const& jet2Id,
68  double m1=0, double m2=0
69  );
70  // Function that adjusts top daughter kinematics
71  void adjustTopDaughters(SimpleParticleCollection_t& daughters); // Daughters are arranged as b, Wf, Wfb
72  // Compute a fake jet from the massless jets
73  void computeFakeJet(TLorentzVector const& realJet, TLorentzVector const& others, TLorentzVector& fakeJet); // Input massive + higgs -> output massless fake jet
74 
75  // TLorentzVector::Boost in complex plane
76  std::pair<TLorentzVector, TLorentzVector> ComplexBoost(TVector3 const& beta, TLorentzVector const& p4);
77 
83  void computeAngles(
84  float& costhetastar,
85  float& costheta1,
86  float& costheta2,
87  float& Phi,
88  float& Phi1,
89  TLorentzVector Z1_lept1, int Z1_lept1Id,
90  TLorentzVector Z1_lept2, int Z1_lept2Id,
91  TLorentzVector Z2_lept1, int Z2_lept1Id,
92  TLorentzVector Z2_lept2, int Z2_lept2Id
93  );
94  void computeAnglesCS(
95  float const& pbeam,
96  float& costhetastar,
97  float& costheta1,
98  float& costheta2,
99  float& Phi,
100  float& Phi1,
101  TLorentzVector Z1_lept1, int Z1_lept1Id,
102  TLorentzVector Z1_lept2, int Z1_lept2Id,
103  TLorentzVector Z2_lept1, int Z2_lept1Id,
104  TLorentzVector Z2_lept2, int Z2_lept2Id
105  );
106  // Angles of associated production
107  void computeVBFAngles(
108  float& costhetastar,
109  float& costheta1,
110  float& costheta2,
111  float& Phi,
112  float& Phi1,
113  float& Q2V1,
114  float& Q2V2,
115  TLorentzVector p4M11, int Z1_lept1Id,
116  TLorentzVector p4M12, int Z1_lept2Id,
117  TLorentzVector p4M21, int Z2_lept1Id,
118  TLorentzVector p4M22, int Z2_lept2Id,
119  TLorentzVector jet1, int jet1Id,
120  TLorentzVector jet2, int jet2Id,
121  TLorentzVector* injet1=0, int injet1Id=0, // Gen. partons in lab frame
122  TLorentzVector* injet2=0, int injet2Id=0
123  );
125  float& costhetastar,
126  float& costheta1_real, float& costheta1_imag,
127  float& costheta2_real, float& costheta2_imag,
128  float& Phi,
129  float& Phi1,
130  float& Q2V1,
131  float& Q2V2,
132  TLorentzVector p4M11, int Z1_lept1Id,
133  TLorentzVector p4M12, int Z1_lept2Id,
134  TLorentzVector p4M21, int Z2_lept1Id,
135  TLorentzVector p4M22, int Z2_lept2Id,
136  TLorentzVector jet1, int jet1Id,
137  TLorentzVector jet2, int jet2Id,
138  TLorentzVector* injet1=0, int injet1Id=0, // Gen. partons in lab frame
139  TLorentzVector* injet2=0, int injet2Id=0
140  );
141  void computeVHAngles(
142  float& costhetastar,
143  float& costheta1,
144  float& costheta2,
145  float& Phi,
146  float& Phi1,
147  float& m1,
148  float& m2,
149  TLorentzVector p4M11, int Z1_lept1Id,
150  TLorentzVector p4M12, int Z1_lept2Id,
151  TLorentzVector p4M21, int Z2_lept1Id,
152  TLorentzVector p4M22, int Z2_lept2Id,
153  TLorentzVector jet1, int jet1Id,
154  TLorentzVector jet2, int jet2Id,
155  TLorentzVector* injet1=0, int injet1Id=0, // Gen. partons in lab frame
156  TLorentzVector* injet2=0, int injet2Id=0
157  );
158  // hs: cos theta*
159  // h[x]: cos theta_X
160  void computeTTHAngles(
161  // ttH system
162  float& hs,
163  float& hincoming,
164  float& hTT,
165  float& PhiTT,
166  float& Phi1,
167 
168  // tt system
169  float& hbb,
170  float& hWW,
171  float& Phibb,
172  float& Phi1bb,
173 
174  // Wplus system
175  float& hWplusf,
176  float& PhiWplusf,
177 
178  // Wminus system
179  float& hWminusf,
180  float& PhiWminusf,
181 
182  // H->ZZ/ZA/AA vectors. For A decays, leave second vector (0,0,0,0) with id=-9000
183  // Z/A1
184  TLorentzVector p4M11, int Z1_lept1Id,
185  TLorentzVector p4M12, int Z1_lept2Id,
186  // Z/A2
187  TLorentzVector p4M21, int Z2_lept1Id,
188  TLorentzVector p4M22, int Z2_lept2Id,
189  // TT system
190  TLorentzVector b, int bId,
191  TLorentzVector Wplusf, int WplusfId,
192  TLorentzVector Wplusfb, int WplusfbId,
193  TLorentzVector bbar, int bbarId,
194  TLorentzVector Wminusf, int WminusfId,
195  TLorentzVector Wminusfb, int WminusfbId,
196  TLorentzVector* injet1=0, int injet1Id=0, // Gen. partons in lab frame
197  TLorentzVector* injet2=0, int injet2Id=0
198  );
199 
200  // Parameter settings
201  void SetEwkCouplingParameters(double ext_Gf, double ext_aemmz, double ext_mW, double ext_mZ, double ext_xW, int ext_ewscheme);
202  void SetMass(double inmass, int ipart);
203  void SetDecayWidth(double inwidth, int ipart);
204  double GetMass(int ipart);
205  double GetDecayWidth(int ipart);
206  double GetMass(const MELAParticle* part);
207  double GetDecayWidth(const MELAParticle* part);
208  void GetMassWidth(int ipart, double& m, double& ga);
209  void GetMassWidth(const MELAParticle* part, double& m, double& ga);
210  void SetCKMElements(double* invckm_ud, double* invckm_us, double* invckm_cd, double* invckm_cs, double* invckm_ts, double* invckm_tb, double* invckm_ub=0, double* invckm_cb=0, double* invckm_td=0);
211  void SetMadgraphCKMElements(double ckmlambda=0.2265, double ckma=0.79, double ckmrho=0.141, double ckmeta=0);
212  double GetCKMElement(int iquark, int jquark);
213  std::complex<double> GetMadgraphCKMElement(int iquark, int jquark);
214  double InterpretScaleScheme(const TVar::Production& production, const TVar::MatrixElement& matrixElement, const TVar::EventScaleScheme& scheme, TLorentzVector p[mxpart]);
215  void SetAlphaS(double& Q_ren, double& Q_fac, double multiplier_ren, double multiplier_fac, int mynloop, int mynflav, std::string mypartons); // Q_ren/fac -> Q_ren/fac * multiplier_ren/fac
216  void GetAlphaS(double* alphas_, double* alphasmz_); // Get last alpha_s value set
217 
218  // chooser.f split into 3 different functions
219  bool MCFM_chooser(
220  const TVar::Process& process, const TVar::Production& production, const TVar::LeptonInterference& leptonInterf,
221  const TVar::VerbosityLevel& verbosity,
222  const TVar::simple_event_record& mela_event
223  );
225  const TVar::Process& process, const TVar::Production& production,
226  const TVar::VerbosityLevel& verbosity,
227  const TVar::simple_event_record& mela_event,
228  std::vector<int>* partOrder, std::vector<int>* apartOrder
229  );
230  TString GetMCFMParticleLabel(const int& pid, bool useQJ, bool useExtendedConventions);
231 
232  // JHUGen-specific wrappers
233  void InitJHUGenMELA(const char* pathtoPDFSet, int PDFMember, double collider_sqrts);
234  void SetJHUGenHiggsMassWidth(double MReso, double GaReso);
235  void SetJHUGenDistinguishWWCouplings(bool doAllow);
236  void ResetAmplitudeIncludes();
237 
238  // Spin-0 couplings
239  void SetMadgraphSpinZeroCouplings(SpinZeroCouplings const* Hcouplings);
240  void SetMCFMSpinZeroCouplings(bool useBSM, SpinZeroCouplings const* Hcouplings, bool forceZZ);
241  void SetMCFMaTQGCCouplings(bool useBSM, aTQGCCouplings const* couplings);
242  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);
243  void SetJHUGenSpinZeroGGCouplings(double Hggcoupl[SIZE_HGG][2]);
244  void SetJHUGenSpinZeroQQCouplings(double Hqqcoupl[SIZE_HQQ][2]);
245  // Spin-1 couplings
246  void SetJHUGenSpinOneCouplings(double Zqqcoupl[SIZE_ZQQ][2], double Zvvcoupl[SIZE_ZVV][2]);
247  // Spin-2 couplings
248  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]);
249  // Vprime / contact couplings
250  void SetJHUGenVprimeContactCouplings(double Zpffcoupl[SIZE_Vpff][2], double Wpffcoupl[SIZE_Vpff][2]);
251  // AZff
252  void SetMCFMAZffCouplings(bool useBSM, AZffCouplings const* Zcouplings);
253  void SetJHUGenAZffCouplings(bool needAZff, double AZffcoupl[SIZE_AZff][2]);
254 
255  // PS cuts, unused
256  bool MCFM_masscuts(double s[][mxpart], const TVar::Process& process);
257  bool MCFM_smalls(double s[][mxpart], int npart);
258 
259  // ME computations
260  double SumMatrixElementPDF(
261  const TVar::Process& process, const TVar::Production& production, const TVar::MatrixElement& matrixElement, const TVar::LeptonInterference& leptonInterf,
262  TVar::event_scales_type* event_scales, MelaIO* RcdME,
263  const double& EBEAM,
264  TVar::VerbosityLevel verbosity
265  );
266  double JHUGenMatEl(
267  const TVar::Process& process, const TVar::Production& production, const TVar::MatrixElement& matrixElement,
268  TVar::event_scales_type* event_scales, MelaIO* RcdME,
269  const double& EBEAM,
270  TVar::VerbosityLevel verbosity
271  );
272  double MadgraphMatEl(
273  const TVar::Process& process, const TVar::Production& production, const TVar::MatrixElement& matrixElement,
274  TVar::event_scales_type* event_scales, MelaIO* RcdME,
275  const double& EBEAM,
276  TVar::VerbosityLevel verbosity
277  );
278  double HJJMatEl(
279  const TVar::Process& process, const TVar::Production& production, const TVar::MatrixElement& matrixElement,
280  TVar::event_scales_type* event_scales, MelaIO* RcdME,
281  const double& EBEAM,
282  TVar::VerbosityLevel verbosity
283  );
284  double VHiggsMatEl(
285  const TVar::Process& process, const TVar::Production& production, const TVar::MatrixElement& matrixElement,
286  TVar::event_scales_type* event_scales, MelaIO* RcdME,
287  const double& EBEAM,
288  bool includeHiggsDecay,
289  TVar::VerbosityLevel verbosity
290  );
291  double TTHiggsMatEl(
292  const TVar::Process& process, const TVar::Production& production, const TVar::MatrixElement& matrixElement,
293  TVar::event_scales_type* event_scales, MelaIO* RcdME,
294  const double& EBEAM,
295  int topDecay, int topProcess,
296  TVar::VerbosityLevel verbosity
297  );
298  double BBHiggsMatEl(
299  const TVar::Process& process, const TVar::Production& production, const TVar::MatrixElement& matrixElement,
300  TVar::event_scales_type* event_scales, MelaIO* RcdME,
301  const double& EBEAM,
302  int botProcess,
303  TVar::VerbosityLevel verbosity
304  );
305 
306  int WipeMEArray(const TVar::Process& process, const TVar::Production& production, const int id[mxpart], double msq[nmsq][nmsq], const TVar::VerbosityLevel& verbosity);
307  bool CheckPartonMomFraction(const TLorentzVector& p0, const TLorentzVector& p1, double xx[2], const double& EBEAM, const TVar::VerbosityLevel& verbosity);
308  void ComputePDF(const TLorentzVector& p0, const TLorentzVector& p1, double fx1[nmsq], double fx2[nmsq], const double& EBEAM, const TVar::VerbosityLevel& verbosity);
309  double SumMEPDF(const TLorentzVector& p0, const TLorentzVector& p1, double msq[nmsq][nmsq], MelaIO* RcdME, const double& EBEAM, const TVar::VerbosityLevel& verbosity);
310 
311  // Propagator reweighting
312  double ResonancePropagator(double const& sqrts, TVar::ResonancePropagatorScheme scheme);
313 
314  // Boost the particles with or without associated ones to pT=0 frame and return std::vectors filled with (id, momentum) pairs
316  MELACandidate* melaCand,
317  TVar::simple_event_record& mela_event,
319  );
320 
321  // Convert vectors of simple particles to MELAParticles and create a MELACandidate
322  // The output lists could be members of TEvtProb directly.
324  // Inputs
325  SimpleParticleCollection_t* pDaughters, // Cannot be 0
326  SimpleParticleCollection_t* pAssociated, // Allowed to be 0
327  SimpleParticleCollection_t* pMothers, // Allowed to be 0
328  bool isGen,
329  // Outputs
330  std::vector<MELAParticle*>* particleList,
331  std::vector<MELACandidate*>* candList
332  );
333  // Convert the vector of three body decay daughters (as simple particles) to MELAParticles and create a MELAThreeBodyDecayCandidate
334  // The output lists could be members of TEvtProb directly.
336  // Input
337  SimpleParticleCollection_t* tbdDaughters,
338  // Outputs
339  std::vector<MELAParticle*>* particleList,
340  std::vector<MELAThreeBodyDecayCandidate*>* tbdCandList
341  );
344 
345 }
346 
347 #endif
348 
TUtil::scaleMomentumToEnergy
void scaleMomentumToEnergy(const TLorentzVector &massiveJet, TLorentzVector &masslessJet, double mass=0)
Definition: TUtil.cc:68
TUtil::MCFM_chooser
bool MCFM_chooser(const TVar::Process &process, const TVar::Production &production, const TVar::LeptonInterference &leptonInterf, const TVar::VerbosityLevel &verbosity, const TVar::simple_event_record &mela_event)
Definition: TUtil.cc:1857
TUtil::ResonancePropagator
double ResonancePropagator(double const &sqrts, TVar::ResonancePropagatorScheme scheme)
Definition: TUtil.cc:8194
aTQGCCouplings
Definition: TCouplings.hh:131
TUtil::SetJHUGenSpinZeroGGCouplings
void SetJHUGenSpinZeroGGCouplings(double Hggcoupl[SIZE_HGG][2])
Definition: TUtil.cc:4225
TUtil::WipeMEArray
int WipeMEArray(const TVar::Process &process, const TVar::Production &production, const int id[mxpart], double msq[nmsq][nmsq], const TVar::VerbosityLevel &verbosity)
Definition: TUtil.cc:7994
TVar::FermionMassRemoval
FermionMassRemoval
Definition: TVar.hh:110
MelaIO
Definition: MelaIO.h:8
TVar::LeptonInterference
LeptonInterference
Definition: TVar.hh:105
SIZE_GVV
@ SIZE_GVV
Definition: raw_couplings.txt:158
TUtil::MCFM_smalls
bool MCFM_smalls(double s[][mxpart], int npart)
Definition: TUtil.cc:3353
TVar::VerbosityLevel
VerbosityLevel
Definition: TVar.hh:47
TUtil::SumMEPDF
double SumMEPDF(const TLorentzVector &p0, const TLorentzVector &p1, double msq[nmsq][nmsq], MelaIO *RcdME, const double &EBEAM, const TVar::VerbosityLevel &verbosity)
Definition: TUtil.cc:8176
TModParameters.hh
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
TModZprimeMatEl.hh
SIZE_HVV_CQSQ
@ SIZE_HVV_CQSQ
Definition: raw_couplings.txt:74
TModKinematics.hh
TUtil::InterpretScaleScheme
double InterpretScaleScheme(const TVar::Production &production, const TVar::MatrixElement &matrixElement, const TVar::EventScaleScheme &scheme, TLorentzVector p[mxpart])
Definition: TUtil.cc:1654
MelaIO.h
TUtil::SetJHUGenHiggsMassWidth
void SetJHUGenHiggsMassWidth(double MReso, double GaReso)
Definition: TUtil.cc:3402
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::SetCKMElements
void SetCKMElements(double *invckm_ud, double *invckm_us, double *invckm_cd, double *invckm_cs, double *invckm_ts, double *invckm_tb, double *invckm_ub=0, double *invckm_cb=0, double *invckm_td=0)
Definition: TUtil.cc:1513
TUtil::SetMCFMAZffCouplings
void SetMCFMAZffCouplings(bool useBSM, AZffCouplings const *Zcouplings)
Definition: TUtil.cc:4185
TModJHUGenMELA.hh
TVar::event_scales_type
Definition: TVar.hh:259
SIZE_GGG
@ SIZE_GGG
Definition: raw_couplings.txt:131
TModHiggsJJMatEl.hh
AZffCouplings
Definition: TCouplings.hh:146
TNNPDFDriver.hh
mxpart
@ mxpart
Definition: TMCFM.hh:19
nmsq
@ nmsq
Definition: TMCFM.hh:24
TUtil::SetAlphaS
void SetAlphaS(double &Q_ren, double &Q_fac, double multiplier_ren, double multiplier_fac, int mynloop, int mynflav, std::string mypartons)
TUtil::computeTTHAngles
void computeTTHAngles(float &hs, float &hincoming, float &hTT, float &PhiTT, float &Phi1, float &hbb, float &hWW, float &Phibb, float &Phi1bb, float &hWplusf, float &PhiWplusf, float &hWminusf, float &PhiWminusf, TLorentzVector p4M11, int Z1_lept1Id, TLorentzVector p4M12, int Z1_lept2Id, TLorentzVector p4M21, int Z2_lept1Id, TLorentzVector p4M22, int Z2_lept2Id, TLorentzVector b, int bId, TLorentzVector Wplusf, int WplusfId, TLorentzVector Wplusfb, int WplusfbId, TLorentzVector bbar, int bbarId, TLorentzVector Wminusf, int WminusfId, TLorentzVector Wminusfb, int WminusfbId, TLorentzVector *injet1=0, int injet1Id=0, TLorentzVector *injet2=0, int injet2Id=0)
Definition: TUtil.cc:991
SIZE_ZQQ
@ SIZE_ZQQ
Definition: raw_couplings.txt:107
TUtil::applyLeptonMassCorrection
void applyLeptonMassCorrection(bool flag=true)
Definition: TUtil.cc:37
TUtil::SetMass
void SetMass(double inmass, int ipart)
Definition: TUtil.cc:1447
TVar::Process
Process
Definition: TVar.hh:124
TVar::EventScaleScheme
EventScaleScheme
Definition: TVar.hh:195
TUtil::SetJHUGenVprimeContactCouplings
void SetJHUGenVprimeContactCouplings(double Zpffcoupl[SIZE_Vpff][2], double Wpffcoupl[SIZE_Vpff][2])
Definition: TUtil.cc:4231
TUtil::PrintCandidateSummary
void PrintCandidateSummary(MELACandidate *cand)
Definition: TUtil.cc:8855
TUtil::SetMCFMSpinZeroCouplings
void SetMCFMSpinZeroCouplings(bool useBSM, SpinZeroCouplings const *Hcouplings, bool forceZZ)
Definition: TUtil.cc:3501
hto_masses::msq
real *8, parameter msq
Definition: CALLING_cpHTO.f:83
TUtil::SetJHUGenSpinOneCouplings
void SetJHUGenSpinOneCouplings(double Zqqcoupl[SIZE_ZQQ][2], double Zvvcoupl[SIZE_ZVV][2])
Definition: TUtil.cc:4227
SIZE_ZVV
@ SIZE_ZVV
Definition: raw_couplings.txt:114
TUtil::forbidMassiveLeptons
bool forbidMassiveLeptons
Remove fermion mass if the flag is set to true.
Definition: TUtil.cc:27
TUtil::GetAlphaS
void GetAlphaS(double *alphas_, double *alphasmz_)
Definition: TUtil.cc:1849
TModJHUGen.hh
TUtil::SetDecayWidth
void SetDecayWidth(double inwidth, int ipart)
Definition: TUtil.cc:1497
TUtil::MCFM_masscuts
bool MCFM_masscuts(double s[][mxpart], const TVar::Process &process)
Definition: TUtil.cc:3344
TUtil::setLeptonMassScheme
void setLeptonMassScheme(TVar::FermionMassRemoval scheme=TVar::ConserveDifermionMass)
Definition: TUtil.cc:39
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
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
anonymous_namespace{TCouplingsBase.hh}::SIZE_HGG
@ SIZE_HGG
Definition: TCouplingsBase.hh:40
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
TUtil::SetJHUGenDistinguishWWCouplings
void SetJHUGenDistinguishWWCouplings(bool doAllow)
Definition: TUtil.cc:3408
TUtil::SetJHUGenAZffCouplings
void SetJHUGenAZffCouplings(bool needAZff, double AZffcoupl[SIZE_AZff][2])
Definition: TUtil.cc:4234
TModHiggsMatEl.hh
TUtil::GetDecayWidth
double GetDecayWidth(int ipart)
Definition: TUtil.cc:1619
TUtil::GetCKMElement
double GetCKMElement(int iquark, int jquark)
Definition: TUtil.cc:1537
TModHiggsJMatEl.hh
TModGravitonMatEl.hh
TUtil::GetMCFMParticleLabel
TString GetMCFMParticleLabel(const int &pid, bool useQJ, bool useExtendedConventions)
Definition: TUtil.cc:3304
TUtil::computeVHAngles
void computeVHAngles(float &costhetastar, float &costheta1, float &costheta2, float &Phi, float &Phi1, float &m1, float &m2, TLorentzVector p4M11, int Z1_lept1Id, TLorentzVector p4M12, int Z1_lept2Id, TLorentzVector p4M21, int Z2_lept1Id, TLorentzVector p4M22, int Z2_lept2Id, TLorentzVector jet1, int jet1Id, TLorentzVector jet2, int jet2Id, TLorentzVector *injet1=0, int injet1Id=0, TLorentzVector *injet2=0, int injet2Id=0)
Definition: TUtil.cc:875
TModTTBHMatEl.hh
SIZE_Vpff
@ SIZE_Vpff
Definition: raw_couplings.txt:100
MELAParticle
Definition: MELAParticle.h:13
TUtil::computeAngles
void computeAngles(float &costhetastar, float &costheta1, float &costheta2, float &Phi, float &Phi1, TLorentzVector Z1_lept1, int Z1_lept1Id, TLorentzVector Z1_lept2, int Z1_lept2Id, TLorentzVector Z2_lept1, int Z2_lept1Id, TLorentzVector Z2_lept2, int Z2_lept2Id)
Definition: TUtil.cc:210
TUtil::ComplexBoost
std::pair< TLorentzVector, TLorentzVector > ComplexBoost(TVector3 const &beta, TLorentzVector const &p4)
Definition: TUtil.cc:168
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
TVar::ConserveDifermionMass
@ ConserveDifermionMass
Definition: TVar.hh:112
TUtil::computeAnglesCS
void computeAnglesCS(float const &pbeam, float &costhetastar, float &costheta1, float &costheta2, float &Phi, float &Phi1, TLorentzVector Z1_lept1, int Z1_lept1Id, TLorentzVector Z1_lept2, int Z1_lept2Id, TLorentzVector Z2_lept1, int Z2_lept1Id, TLorentzVector Z2_lept2, int Z2_lept2Id)
Definition: TUtil.cc:376
TVar::MatrixElement
MatrixElement
Definition: TVar.hh:55
TUtil::SetMadgraphSpinZeroCouplings
void SetMadgraphSpinZeroCouplings(SpinZeroCouplings const *Hcouplings)
Definition: TUtil.cc:3415
TUtil::removeMassFromPair
std::pair< TLorentzVector, TLorentzVector > removeMassFromPair(TLorentzVector const &jet1, int const &jet1Id, TLorentzVector const &jet2, int const &jet2Id, double m1=0, double m2=0)
Definition: TUtil.cc:76
TUtil::LeptonMassScheme
TVar::FermionMassRemoval LeptonMassScheme
Definition: TUtil.cc:29
TUtil::GetMassWidth
void GetMassWidth(int ipart, double &m, double &ga)
Definition: TUtil.cc:1645
SIZE_HVV_LAMBDAQSQ
@ SIZE_HVV_LAMBDAQSQ
Definition: raw_couplings.txt:66
TUtil::ConvertThreeBodyDecayCandidate
MELAThreeBodyDecayCandidate * ConvertThreeBodyDecayCandidate(SimpleParticleCollection_t *tbdDaughters, std::vector< MELAParticle * > *particleList, std::vector< MELAThreeBodyDecayCandidate * > *tbdCandList)
Definition: TUtil.cc:8819
TUtil::ComputePDF
void ComputePDF(const TLorentzVector &p0, const TLorentzVector &p1, double fx1[nmsq], double fx2[nmsq], const double &EBEAM, const TVar::VerbosityLevel &verbosity)
Definition: TUtil.cc:8142
TUtil::GetMass
double GetMass(int ipart)
Definition: TUtil.cc:1582
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
TVar::ResonancePropagatorScheme
ResonancePropagatorScheme
Definition: TVar.hh:116
alphas_
double alphas_(double *q, double *amz, int *nloop)
TUtil::MCFM_SetupParticleCouplings
bool MCFM_SetupParticleCouplings(const TVar::Process &process, const TVar::Production &production, const TVar::VerbosityLevel &verbosity, const TVar::simple_event_record &mela_event, std::vector< int > *partOrder, std::vector< int > *apartOrder)
Definition: TUtil.cc:2282
TUtil::GetMadgraphCKMElement
std::complex< double > GetMadgraphCKMElement(int iquark, int jquark)
Definition: TUtil.cc:1540
TUtil::forbidMassiveJets
bool forbidMassiveJets
Definition: TUtil.cc:28
TUtil::SetMCFMaTQGCCouplings
void SetMCFMaTQGCCouplings(bool useBSM, aTQGCCouplings const *couplings)
Definition: TUtil.cc:4134
TUtil::computeFakeJet
void computeFakeJet(TLorentzVector const &realJet, TLorentzVector const &others, TLorentzVector &fakeJet)
Definition: TUtil.cc:158
SIZE_AZff
@ SIZE_AZff
Definition: raw_couplings.txt:194
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
TUtil::constrainedRemovePairMass
void constrainedRemovePairMass(TLorentzVector &p1, TLorentzVector &p2, double m1=0, double m2=0)
Definition: TUtil.cc:41
SpinZeroCouplings
Definition: TCouplings.hh:7
TUtil::InitJHUGenMELA
void InitJHUGenMELA(const char *pathtoPDFSet, int PDFMember, double collider_sqrts)
Definition: TUtil.cc:3392
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
npart
int npart
Definition: TMCFM.hh:77
TUtil::JetMassScheme
TVar::FermionMassRemoval JetMassScheme
Definition: TUtil.cc:30
TUtil::adjustTopDaughters
void adjustTopDaughters(SimpleParticleCollection_t &daughters)
Definition: TUtil.cc:134
MELACandidate
Definition: MELACandidate.h:7
TUtil::CheckPartonMomFraction
bool CheckPartonMomFraction(const TLorentzVector &p0, const TLorentzVector &p1, double xx[2], const double &EBEAM, const TVar::VerbosityLevel &verbosity)
Definition: TUtil.cc:8117
TUtil::SetJHUGenSpinZeroQQCouplings
void SetJHUGenSpinZeroQQCouplings(double Hqqcoupl[SIZE_HQQ][2])
Definition: TUtil.cc:4226
SIZE_HVV
@ SIZE_HVV
Definition: raw_couplings.txt:57
TVar::DEBUG
@ DEBUG
Definition: TVar.hh:51
TMCFMUtils.hh
MELAThreeBodyDecayCandidate
Definition: MELAThreeBodyDecayCandidate.h:7
SimpleParticleCollection_t
std::vector< SimpleParticle_t > SimpleParticleCollection_t
Definition: TVar.hh:25
TUtil
Definition: TUtil.hh:49
TUtil::SetMadgraphCKMElements
void SetMadgraphCKMElements(double ckmlambda=0.2265, double ckma=0.79, double ckmrho=0.141, double ckmeta=0)
Definition: TUtil.cc:1531
sqrts
double sqrts
Definition: TMCFM.hh:290
TVar::Production
Production
Definition: TVar.hh:61
TUtil::setJetMassScheme
void setJetMassScheme(TVar::FermionMassRemoval scheme=TVar::ConserveDifermionMass)
Definition: TUtil.cc:40
TCouplings.hh
TUtil::computeVBFAngles
void computeVBFAngles(float &costhetastar, float &costheta1, float &costheta2, float &Phi, float &Phi1, float &Q2V1, float &Q2V2, TLorentzVector p4M11, int Z1_lept1Id, TLorentzVector p4M12, int Z1_lept2Id, TLorentzVector p4M21, int Z2_lept1Id, TLorentzVector p4M22, int Z2_lept2Id, TLorentzVector jet1, int jet1Id, TLorentzVector jet2, int jet2Id, TLorentzVector *injet1=0, int injet1Id=0, TLorentzVector *injet2=0, int injet2Id=0)
Definition: TUtil.cc:598
TVar::simple_event_record
Definition: TVar.hh:226
TUtil::GetBoostedParticleVectors
void GetBoostedParticleVectors(MELACandidate *melaCand, TVar::simple_event_record &mela_event, TVar::VerbosityLevel verbosity=TVar::DEBUG)
Definition: TUtil.cc:8212
modparameters::process
integer, public process
Definition: mod_Parameters.F90:17
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
TModVHiggsMatEl.hh
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
SIZE_GQQ
@ SIZE_GQQ
Definition: raw_couplings.txt:121
TUtil::computeVBFAngles_ComplexBoost
void computeVBFAngles_ComplexBoost(float &costhetastar, float &costheta1_real, float &costheta1_imag, float &costheta2_real, float &costheta2_imag, float &Phi, float &Phi1, float &Q2V1, float &Q2V2, TLorentzVector p4M11, int Z1_lept1Id, TLorentzVector p4M12, int Z1_lept2Id, TLorentzVector p4M21, int Z2_lept1Id, TLorentzVector p4M22, int Z2_lept2Id, TLorentzVector jet1, int jet1Id, TLorentzVector jet2, int jet2Id, TLorentzVector *injet1=0, int injet1Id=0, TLorentzVector *injet2=0, int injet2Id=0)
Definition: TUtil.cc:732
TUtil::ResetAmplitudeIncludes
void ResetAmplitudeIncludes()
Definition: TUtil.cc:3412
TUtil::applyJetMassCorrection
void applyJetMassCorrection(bool flag=true)
Definition: TUtil.cc:38