|
JHUGen MELA
JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
|
Go to the documentation of this file.
21 #include "TLorentzVector.h"
84 void build(
double mh_);
319 void resetMass(
double inmass,
int ipart);
421 void resetMCFM_EWKParameters(
double ext_Gf,
double ext_aemmz,
double ext_mW,
double ext_mZ,
double ext_xW,
int ext_ewscheme=3);
531 void SetMadgraphCKMElements(
double ckmlambda=0.2265,
double ckma=0.79,
double ckmrho=0.141,
double ckmeta=0.357,
bool force_refresh=
false);
671 float& costheta1_real,
float& costheta1_imag,
672 float& costheta2_real,
float& costheta2_imag,
774 bool useConstant=
true
788 double selfDZqqcoupl_input[
SIZE_ZQQ][2],
789 double selfDZvvcoupl_input[
SIZE_ZVV][2],
791 bool useConstant=
true
804 double selfDZvvcoupl_input[
SIZE_ZVV][2],
806 bool useConstant=
true
821 double selfDGggcoupl_input[
SIZE_GGG][2],
822 double selfDGqqcoupl_input[
SIZE_GQQ][2],
823 double selfDGvvcoupl_input[
SIZE_GVV][2],
825 bool useConstant=
true
839 double selfDGggcoupl_input[
SIZE_GGG][2],
840 double selfDGvvcoupl_input[
SIZE_GVV][2],
842 bool useConstant=
true
863 bool useConstant=
true
897 double selfDAZffcoupl_input[
SIZE_AZff][2],
899 bool useConstant=
true
935 bool useConstant=
true
951 double selfDHggcoupl_input[
SIZE_HGG][2],
955 bool useConstant=
true
966 bool useConstant=
true
973 bool includeHiggsDecay=
false,
974 bool useConstant=
true
978 bool includeHiggsDecay=
false,
979 bool useConstant=
true
987 bool useConstant=
true
1013 std::vector<TLorentzVector>
calculate4Momentum(
double Mx,
double M1,
double M2,
double theta,
double theta1,
double theta2,
double Phi1,
double Phi);
1204 float bkg_VAMCFM_noscale,
1205 float ggzz_VAMCFM_noscale,
1206 float ggHZZ_prob_pure_noscale,
1207 float ggHZZ_prob_int_noscale,
1220 const bool useSqrts=
false
void getConstant(float &prob)
This function returns a multiplicative constant to the matrix element calculation.
void computeP_selfDspin2(double selfDGggcoupl_input[SIZE_GGG][2], double selfDGqqcoupl_input[SIZE_GQQ][2], double selfDGvvcoupl_input[SIZE_GVV][2], float &prob, bool useConstant=true)
This is a function that calls Mela::computeP with preset quark, gluon, and vector boson couplings for...
MelaPConstant * pAvgSmooth_MCFM_ZZGG_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_ZZGG_HSMHiggs_4e
MelaPConstant * pAvgSmooth_MCFM_ZZQQB_bkgZZ_4mu
void setInputEvent(SimpleParticleCollection_t *pDaughters, SimpleParticleCollection_t *pAssociated=0, SimpleParticleCollection_t *pMothers=0, bool isGen=false)
Sets the input event for MELA. MELA cannot run without this.
std::complex< double > GetMadgraphCKMElement(int iquark, int jquark)
MelaPConstant * pAvgSmooth_JHUGen_ZZGG_HSMHiggs_2mu2e
double selfDGqqcoupl[SIZE_GQQ][2]
double selfDGvpvpcoupl[SIZE_GVV][2]
MelaPConstant * pAvgSmooth_MCFM_ZZQQB_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_bkgZZ_4e
TVar::VerbosityLevel myVerbosity_
void build(double mh_)
This is the actual building of the tool that occurs in each instance of the Mela::Mela constructor.
MelaPConstant * pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_2mu2e
void resetMCFM_EWKParameters(double ext_Gf, double ext_aemmz, double ext_mW, double ext_mZ, double ext_xW, int ext_ewscheme=3)
Resets the electroweak parameters back to their defaults.
double getPrimaryWidth(int ipart)
A function to get the current primary EW/QCD parameters from MELA.
int getNCandidates()
Returns the size of the candidate list TEvtProb::candList.
void computeDecayAngles(float &qH, float &m1, float &m2, float &costheta1, float &costheta2, float &Phi, float &costhetastar, float &Phi1)
computes the decay angles for gg -> H -> ZZ as defined in Figure 1 of arXiv:1001.3396
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZZ_4e
void computeProdP_VH(double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2], float &prob, bool includeHiggsDecay=false, bool useConstant=true)
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_bkgZZ_4mu
void compute4FermionWeight(float &w)
int selfDHwwCLambda_qsq[nSupportedHiggses][SIZE_HVV_CQSQ]
@ nFermionMassRemovalSchemes
MelaIO * getIORecord()
Returns the MELAIO object, and by consequence, the entire parton-by-parton matrix element record.
void setCurrentCandidateFromIndex(unsigned int icand)
Switches the candidate that you are working on to another candidate based off of an index.
MelaPConstant * pAvgSmooth_JHUGen_ZZGG_HSMHiggs_4mu
double selfDHttcoupl[nSupportedHiggses][SIZE_HQQ][2]
void setRemoveLeptonMasses(bool MasslessLeptonSwitch=true)
either permits or forbids massive leptons.
void getPAux(float &prob)
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZZ_4mu
RooSpin::modelMeasurables getMeasurablesRRV()
Returns a RooSpin::modelMeasureables object containing many observable quantities.
void setVerbosity(TVar::VerbosityLevel verbosity_=TVar::ERROR)
Sets the verbosity for MELA outside of the initial constructor.
void setCurrentCandidate(MELACandidate *cand)
Switches the candidate that you are working on to another candidate object specified.
MelaPConstant * pAvgSmooth_MCFM_ZZGG_bkgZZ_2mu2e
void resetWidth(double inwidth, int ipart)
Resets the width for a particle that is an electroweak parameter according to its id.
void setMelaHiggsWidth(double myHiggsWidth=-1, int index=0)
Sets the width of your chosen Higgs.
std::vector< MELATopCandidate_t * > * getTopCandidateCollection()
Same as getNCandidates but specifically for Top Quark Candidates.
void computeD_CP(TVar::MatrixElement myME, TVar::Process myType, float &prob)
computes the value of D_CP
MelaPConstant * getPConstantHandle(TVar::MatrixElement me_, TVar::Production prod_, TVar::Process proc_, TString relpath, TString spname, const bool useSqrts=false)
void computeProdP(double selfDHggcoupl_input[SIZE_HGG][2], double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2], double selfDHwwcoupl_input[nSupportedHiggses][SIZE_HVV][2], float &prob, bool useConstant=true)
computes Production side probabilities while taking in coupling arrays
double selfDHzpzpcoupl[SIZE_HVV][2]
MelaPConstant * pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_4e
void setRenFacScaleMode(TVar::EventScaleScheme renormalizationSch, TVar::EventScaleScheme factorizationSch, double ren_sf, double fac_sf)
Sets the renormalization and the factorization schemes.
double selfDWpffcoupl[SIZE_Vpff][2]
MelaPConstant * pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_4mu
double selfDZpffcoupl[SIZE_Vpff][2]
double selfDaTQGCcoupl[SIZE_ATQGC][2]
TVar::Production myProduction_
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_4mu
void computeConstant(float &prob)
MelaPConstant * pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_2mu2e
void computeVBFAngles(float &Q2V1, float &Q2V2, float &costheta1, float &costheta2, float &Phi, float &costhetastar, float &Phi1)
computes the production angles for Vector Boson Fusion (VBF) -> H -> ZZ as defined in Figure 1 of arX...
static void cleanLinkedFiles()
void setProcess(TVar::Process myModel, TVar::MatrixElement myME, TVar::Production myProduction)
Sets the process, matrix element, and production that MELA is to use for this event....
void deletePConstantHandles()
void setSpinZeroCouplings()
MelaPConstant * pAvgSmooth_JHUGen_JJVBF_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
Mela(double LHCsqrts_=13., double mh_=125., TVar::VerbosityLevel verbosity_=TVar::ERROR)
the MELA constructor
RooqqZZ_JHU_ZgammaZZ_fast * qqZZmodel
void resetQuarkMasses()
Resets the masses of each quark to their original values.
double selfDHqqcoupl[nSupportedHiggses][SIZE_HQQ][2]
void setTempCandidate(SimpleParticleCollection_t *pDaughters, SimpleParticleCollection_t *pAssociated=0, SimpleParticleCollection_t *pMothers=0, bool isGen=false)
Sets a temporary MELA candidate, by setting melaCand in Xcal2 to a temporary candidate without pushin...
MelaPConstant * pAvgSmooth_MCFM_JJVBF_bkgZZ_2mu2e
ScalarPdfFactory_HVV * ggSpin0Model
RooRealVar * costheta1_rrv
MelaPConstant * pAvgSmooth_MCFM_Had_WH_bkgZZ_2mu2e
double selfDGvvcoupl[SIZE_GVV][2]
void computeP_selfDspin0(double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2], float &prob, bool useConstant=true)
This is a function that calls Mela::computeP with preset quark, gluon, and vector boson couplings for...
MelaPConstant * pAvgSmooth_JHUGen_JJQCD_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
MelaPConstant * pAvgSmooth_MCFM_ZZGG_HSMHiggs_4mu
bool differentiate_HWW_HZZ
MelaPConstant * pAvgSmooth_MCFM_JJVBF_bkgZZ_4e
double getHiggsWidthAtPoleMass(double mass)
Returns the width of the Higgs at a given pole mass as a calculation.
void computeTTHAngles(int topDecay, float &mT1, float &mW1, float &mT2, float &mW2, float &costheta1, float &costheta2, float &Phi, float &costhetastar, float &Phi1, float &hbb, float &hWW, float &Phibb, float &Phi1bb, float &hWplusf, float &PhiWplusf, float &hWminusf, float &PhiWminusf)
computes the angles for a ttH system
MelaPConstant * pAvgSmooth_MCFM_JJVBF_bkgZZ_4mu
MelaPConstant * pAvgSmooth_MCFM_Had_WH_bkgZZ_4e
void computeVHAngles(float &mVstar, float &mV, float &costheta1, float &costheta2, float &Phi, float &costhetastar, float &Phi1)
computes the production for Vector Boson Fusion (VBF) -> H -> ZZ as defined in Figure 1 of arXiv:1208...
TVar::VerbosityLevel getVerbosity()
Gets the current verbosity level for MELA.
This is the code that interfaces with the generated Madgraph matrix elements in fortran for specified...
double selfDHg4g4coupl[nSupportedHiggses][SIZE_HGG][2]
MelaPConstant * pAvgSmooth_JHUGen_JQCD_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
void computeP(float &prob, bool useConstant=true)
Computes the probability for the probabilities on the decay side of things using the constituent daug...
float getConstant_JHUGenUndecayed()
void computePM4l(TVar::SuperMelaSyst syst, float &prob)
void setCandidateDecayMode(TVar::CandidateDecayMode mode)
Sets the decay mode for your event.
void setMelaHiggsMass(double myHiggsMass, int index=0)
Sets the mass of your chosen Higgs.
TensorPdfFactory_ppHVV * spin2Model
int getCurrentCandidateIndex()
Returns the index of the current MELA candidate - returns -1 if there is no candidate to be found.
double selfDZqqcoupl[SIZE_ZQQ][2]
double selfDHb4b4coupl[nSupportedHiggses][SIZE_HQQ][2]
double selfDHwpwpcoupl[SIZE_HVV][2]
TVar::LeptonInterference myLepInterf_
double selfDHzzLambda_qsq[nSupportedHiggses][SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ]
void SetMadgraphCKMElements(double ckmlambda=0.2265, double ckma=0.79, double ckmrho=0.141, double ckmeta=0.357, bool force_refresh=false)
void getXPropagator(TVar::ResonancePropagatorScheme scheme, float &prop)
void computeProdDecP(double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2], double selfDHwwcoupl_input[nSupportedHiggses][SIZE_HVV][2], double selfDaTQGCcoupl_input[SIZE_ATQGC][2], double selfDAZffcoupl_input[SIZE_AZff][2], float &prob, bool useConstant=true)
computes the combined production and decay probability while taking in coupling arrays
void reset_SelfDCouplings()
double selfDHwwcoupl[nSupportedHiggses][SIZE_HVV][2]
TVar::MatrixElement myME_
void setRemoveJetMasses(bool MasslessLeptonSwitch=true)
either permits or forbids massive jets.
double selfDGvvpcoupl[SIZE_GVV][2]
void constructDggr(float bkg_VAMCFM_noscale, float ggzz_VAMCFM_noscale, float ggHZZ_prob_pure_noscale, float ggHZZ_prob_int_noscale, float widthScale, float &myDggr)
void resetMass(double inmass, int ipart)
Resets the mass for a particle that is an electroweak parameter according to its id.
void resetInputEvent()
Resets the event in preparation for the next iteration of the event loop.
double selfDAZffcoupl[SIZE_AZff][2]
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZJets_2l2q
int selfDHzzCLambda_qsq[nSupportedHiggses][SIZE_HVV_CQSQ]
void setSpinOneCouplings()
void setMelaHiggsMassWidth(double myHiggsMass, double myHiggsWidth, int index)
a combination of setMelaHiggsMass and setMelaHiggsWidth.
double selfDZvvcoupl[SIZE_ZVV][2]
MelaPConstant * pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_4mu
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZZ_2mu2e
MelaPConstant * pAvgSmooth_MCFM_ZZGG_bkgZZ_4mu
void computeVBFAngles_ComplexBoost(float &Q2V1, float &Q2V2, float &costheta1_real, float &costheta1_imag, float &costheta2_real, float &costheta2_imag, float &Phi, float &costhetastar, float &Phi1)
void resetYukawaMass(double inmass, int ipart)
Resets the Yukawa coupling (or "Yukawa mass") for a specific particle. Does not change its "intrinsic...
This is the main Mela object!
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_2mu2e
SuperDijetMela * superDijet
ResonancePropagatorScheme
float getConstant_FourFermionDecay(const int &decid)
TRandom3 melaRandomNumber
const TVar::event_scales_type & getRenFacScaleMode() const
Returns the current RenFac Scale Mode for MELA.
void computeProdP_ttH(float &prob, int topProcess=2, int topDecay=0, bool useConstant=true)
void computeD_gg(TVar::MatrixElement myME, TVar::Process myType, float &prob)
double selfDHt4t4coupl[nSupportedHiggses][SIZE_HQQ][2]
double selfDHwwLambda_qsq[nSupportedHiggses][SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ]
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_bkgZZ_2mu2e
void setMelaPrimaryHiggsMass(double myHiggsMass)
Sets the mass of the "primary" higgs.
double selfDSMEFTSimcoupl[SIZE_SMEFT]
void computeDijetConvBW(float &prob, bool useTrueBW=false)
MelaPConstant * pAvgSmooth_JHUGen_Had_ZH_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
RooRealVar * costhetastar_rrv
RooRealVar * costheta2_rrv
double selfDHwwpcoupl[SIZE_HVV][2]
bool configureAnalyticalPDFs()
double selfDHzzcoupl[nSupportedHiggses][SIZE_HVV][2]
std::vector< TLorentzVector > calculate4Momentum(double Mx, double M1, double M2, double theta, double theta1, double theta2, double Phi1, double Phi)
void computeP_selfDspin1(double selfDZqqcoupl_input[SIZE_ZQQ][2], double selfDZvvcoupl_input[SIZE_ZVV][2], float &prob, bool useConstant=true)
This is a function that calls Mela::computeP with preset quark, gluon, and vector boson couplings for...
void getPConstantHandles()
void setSpinTwoCouplings()
VectorPdfFactory * spin1Model
MelaPConstant * pAvgSmooth_MCFM_ZZGG_HSMHiggs_2mu2e
double selfDHzzpcoupl[SIZE_HVV][2]
std::vector< SimpleParticle_t > SimpleParticleCollection_t
MelaPConstant * pAvgSmooth_MCFM_ZZQQB_bkgZZ_2mu2e
double selfDHggcoupl[nSupportedHiggses][SIZE_HGG][2]
MelaPConstant * pAvgSmooth_JHUGen_Had_WH_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
void deletePConstantHandle(MelaPConstant *&handle)
void setMelaLeptonInterference(TVar::LeptonInterference myLepInterf=TVar::DefaultLeptonInterf)
Sets the MELA Lepton Interference.
MelaPConstant * pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_4e
void appendTopCandidate(SimpleParticleCollection_t *TopDaughters)
Adds a top quark as a MELA candidate.
double selfDHbbcoupl[nSupportedHiggses][SIZE_HQQ][2]
MelaPConstant * pAvgSmooth_MCFM_Had_WH_bkgZZ_4mu
double selfDGggcoupl[SIZE_GGG][2]
MelaPConstant * pAvgSmooth_JHUGen_ZZGG_HSMHiggs_4e
MELACandidate * getCurrentCandidate()
Gets the current MELA top-level (input) candList object.
double getPrimaryMass(int ipart)
A function to get the current primary EW/QCD parameters from MELA.
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_4e