JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
Mela.h
Go to the documentation of this file.
1 
11 /*
12 ************* HEADER: CMS MELA interface to MCFM/JHUGen-MELA *************
13 Please see the ../src/Mela.cc file for the instructions.
14 */
15 
16 #ifndef MELA_Mela_h
17 #define MELA_Mela_h
18 
19 #include <vector>
20 #include <complex>
21 #include "TLorentzVector.h"
22 #include "TRandom3.h"
23 #include "MadMela.h"
24 
25 
26 class TFile;
27 class TGraph;
28 class TH1F;
29 class TH2F;
30 class TH3F;
31 class RooRealVar;
32 class RooAbsPdf;
33 class RooArgSet;
35 class VectorPdfFactory;
36 class TensorPdfFactory;
38 class ZZMatrixElement;
39 class SuperMELA;
40 
41 #include "TVar.hh"
42 #include "TEvtProb.hh"
43 #include "MelaPConstant.h"
44 #include "SuperDijetMela.h"
45 #include "ScalarPdfFactory_HVV.h"
46 #include "VectorPdfFactory.h"
47 #include "TensorPdfFactory_ppHVV.h"
49 
54 class Mela{
55 
56 public:
65  Mela(double LHCsqrts_=13., double mh_=125., TVar::VerbosityLevel verbosity_=TVar::ERROR); // Higgs mass for supermela
66 
72  Mela(const Mela& other);
73 
77  ~Mela();
78 
84  void build(double mh_);
85 
94  void setProcess(TVar::Process myModel, TVar::MatrixElement myME, TVar::Production myProduction);
95 
102 
109 
116 
123  void setRemoveLeptonMasses(bool MasslessLeptonSwitch=true);
124 
131  void setRemoveJetMasses(bool MasslessLeptonSwitch=true);
132 
142  void setMelaPrimaryHiggsMass(double myHiggsMass);
143 
151  void setMelaHiggsMass(double myHiggsMass, int index=0);
152 
160  void setMelaHiggsWidth(double myHiggsWidth=-1, int index=0);
161 
170  void setMelaHiggsMassWidth(double myHiggsMass, double myHiggsWidth, int index);
171 
181  void setRenFacScaleMode(TVar::EventScaleScheme renormalizationSch, TVar::EventScaleScheme factorizationSch, double ren_sf, double fac_sf);
182 
190 
198  void setCurrentCandidateFromIndex(unsigned int icand); // Switches to another candidate
199 
206  void setCurrentCandidate(MELACandidate* cand); // Switches to another candidate
207 
218  void setInputEvent(
219  SimpleParticleCollection_t* pDaughters,
220  SimpleParticleCollection_t* pAssociated=0,
221  SimpleParticleCollection_t* pMothers=0,
222  bool isGen=false
223  ); // Adds another candidate
224 
231  void resetInputEvent(); // Reset the input candidates. Important to call in order to clean up TEvtProb!
232 
242  void setTempCandidate(
243  SimpleParticleCollection_t* pDaughters,
244  SimpleParticleCollection_t* pAssociated=0,
245  SimpleParticleCollection_t* pMothers=0,
246  bool isGen=false
247  ); // Adds a temp. candidate
248 
255  void appendTopCandidate(SimpleParticleCollection_t* TopDaughters); // Adds a top
256 
257  // Function to set EW parameters in MCFM/JHUGen
319  void resetMass(double inmass, int ipart);
320 
371  void resetWidth(double inwidth, int ipart);
372 
396  void resetYukawaMass(double inmass, int ipart);
397 
415  void resetQuarkMasses();
416 
421  void resetMCFM_EWKParameters(double ext_Gf, double ext_aemmz, double ext_mW, double ext_mZ, double ext_xW, int ext_ewscheme=3);
422 
423  // Function to get current primary EW/QCD parameters from MCFM/JHUGen (notice Higgs mass/width used in the ME could be different)
475  double getPrimaryMass(int ipart);
476 
519  double getPrimaryWidth(int ipart);
520 
529  double getHiggsWidthAtPoleMass(double mass);
530 
531  void SetMadgraphCKMElements(double ckmlambda=0.2265, double ckma=0.79, double ckmrho=0.141, double ckmeta=0.357, bool force_refresh=false);
532  std::complex<double> GetMadgraphCKMElement(int iquark, int jquark);
537  MelaIO* getIORecord(); // Full parton-by-parton ME record
538 
545 
551 
556  int getNCandidates();
557 
562  std::vector<MELATopCandidate_t*>* getTopCandidateCollection();
563 
584  void getConstant(float& prob); // <ME> constants
585 
586 
587  void getPAux(float& prob); // SuperProb
588 
606 
629  void computeDecayAngles(
630  float& qH,
631  float& m1,
632  float& m2,
633  float& costheta1,
634  float& costheta2,
635  float& Phi,
636  float& costhetastar,
637  float& Phi1
638  );
639 
659  void computeVBFAngles(
660  float& Q2V1,
661  float& Q2V2,
662  float& costheta1,
663  float& costheta2,
664  float& Phi,
665  float& costhetastar,
666  float& Phi1
667  );
669  float& Q2V1,
670  float& Q2V2,
671  float& costheta1_real, float& costheta1_imag,
672  float& costheta2_real, float& costheta2_imag,
673  float& Phi,
674  float& costhetastar,
675  float& Phi1
676  );
677 
694  void computeVHAngles(
695  float& mVstar,
696  float& mV,
697  float& costheta1,
698  float& costheta2,
699  float& Phi,
700  float& costhetastar,
701  float& Phi1
702  );
703 
732  void computeTTHAngles(
733  int topDecay,
734 
735  float& mT1,
736  float& mW1,
737  float& mT2,
738  float& mW2,
739 
740  // TTH system
741  float& costheta1,
742  float& costheta2,
743  float& Phi,
744  float& costhetastar,
745  float& Phi1,
746 
747  // TT system
748  float& hbb,
749  float& hWW,
750  float& Phibb,
751  float& Phi1bb,
752 
753  // Wplus system
754  float& hWplusf,
755  float& PhiWplusf,
756 
757  // Wminus system
758  float& hWminusf,
759  float& PhiWminusf
760  );
761 
771  void computeP_selfDspin0(
772  double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2],
773  float& prob,
774  bool useConstant=true
775  );
776 
787  void computeP_selfDspin1(
788  double selfDZqqcoupl_input[SIZE_ZQQ][2],
789  double selfDZvvcoupl_input[SIZE_ZVV][2],
790  float& prob,
791  bool useConstant=true
792  );
793 
803  void computeP_selfDspin1(
804  double selfDZvvcoupl_input[SIZE_ZVV][2],
805  float& prob,
806  bool useConstant=true
807  );
808 
820  void computeP_selfDspin2(
821  double selfDGggcoupl_input[SIZE_GGG][2],
822  double selfDGqqcoupl_input[SIZE_GQQ][2],
823  double selfDGvvcoupl_input[SIZE_GVV][2],
824  float& prob,
825  bool useConstant=true
826  );
827 
838  void computeP_selfDspin2(
839  double selfDGggcoupl_input[SIZE_GGG][2],
840  double selfDGvvcoupl_input[SIZE_GVV][2],
841  float& prob,
842  bool useConstant=true
843  );
844 
861  void computeP(
862  float& prob,
863  bool useConstant=true
864  );
865 
873  void computeD_CP(
874  TVar::MatrixElement myME,
875  TVar::Process myType,
876  float& prob
877  );
878 
879  //****VVH Spin-0****//
893  void computeProdDecP(
894  double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2],
895  double selfDHwwcoupl_input[nSupportedHiggses][SIZE_HVV][2],
896  double selfDaTQGCcoupl_input[SIZE_ATQGC][2],
897  double selfDAZffcoupl_input[SIZE_AZff][2],
898  float& prob,
899  bool useConstant=true
900  );
901 
933  void computeProdDecP(
934  float& prob,
935  bool useConstant=true
936  );
937 
938  //****HJ/HJJ/VBF Spin-0****//
950  void computeProdP(
951  double selfDHggcoupl_input[SIZE_HGG][2],
952  double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2],
953  double selfDHwwcoupl_input[nSupportedHiggses][SIZE_HVV][2],
954  float& prob,
955  bool useConstant=true
956  );
957 
964  void computeProdP(
965  float& prob,
966  bool useConstant=true
967  );
968 
969  //****VH Spin-0****//
970  void computeProdP_VH(
971  double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2],
972  float& prob,
973  bool includeHiggsDecay=false,
974  bool useConstant=true
975  );
976  void computeProdP_VH(
977  float& prob,
978  bool includeHiggsDecay=false,
979  bool useConstant=true
980  );
981 
982  //***ttH Spin-0****//
983  void computeProdP_ttH(
984  float& prob,
985  int topProcess=2,
986  int topDecay=0,
987  bool useConstant=true
988  );
989 
990  // Calculation weight to correct for fermion interference
991  void compute4FermionWeight(float& w);
992 
993  // Calculation of X propagator
994  void getXPropagator(TVar::ResonancePropagatorScheme scheme, float& prop);
995 
996  //*** SuperMela ***//
997  void computePM4l(
998  TVar::SuperMelaSyst syst,
999  float& prob
1000  );
1001 
1002  //*** SuperJJMela ***//
1003  void computeDijetConvBW(float& prob, bool useTrueBW=false);
1004 
1005  //*** Dgg10 ***//
1006  void computeD_gg(
1007  TVar::MatrixElement myME,
1008  TVar::Process myType,
1009  float& prob
1010  );
1011 
1012  // Access ZZMEs Calculate4Momentum
1013  std::vector<TLorentzVector> calculate4Momentum(double Mx, double M1, double M2, double theta, double theta1, double theta2, double Phi1, double Phi);
1014 
1015  /********************/
1016  /*** Data members ***/
1017  /********************/
1018  TRandom3 melaRandomNumber; // Used in SuperMELA smearing
1019  RooRealVar* mzz_rrv;
1020  RooRealVar* z1mass_rrv;
1021  RooRealVar* z2mass_rrv;
1022  RooRealVar* costhetastar_rrv;
1023  RooRealVar* costheta1_rrv;
1024  RooRealVar* costheta2_rrv;
1025  RooRealVar* phi_rrv;
1026  RooRealVar* phi1_rrv;
1027  RooRealVar* Y_rrv;
1028  RooRealVar* upFrac_rrv;
1029 
1030  RooAbsPdf* pdf;
1035 
1037 
1038  // Self-define arrays are now members of MELA.
1039  // There are a lot of them!
1040  //****Spin-0****//
1041  // The first dimension (of size [nSupportedHiggses=2]) supports a second resonance present in MCFM
1042 
1085  //****Spin-1****//
1088  //****Spin-2****//
1094  //****aTQGC****//
1096  //****Anomalous couplings between the Z and fermions**//
1098  //****SMEFTSIM terms**//
1100  double selfDSMEFTSimcoupl[SIZE_SMEFT]; //madMela
1101  // That is a lot of them!
1102 
1105  static void cleanLinkedFiles();
1106 
1107 protected:
1108  /********************/
1109  /*** Data members ***/
1110  /********************/
1111  double LHCsqrts;
1117 
1120 
1121 
1123 
1124  MELACandidate* melaCand; // Pointer to persistent TEvtProb object
1125 
1126  /***** ME CONSTANT HANDLES *****/
1127  // Constants that vary with sqrts due to application of PDFs
1128  //
1130  //
1132  //
1134  //
1136  //
1138  // Decay ME constants that do not use PDFs
1139  //
1143  //
1147  //
1151  //
1155  //
1159  //
1163  //
1167  //
1171  //
1175  //
1179  //
1183  //
1185 
1186 
1187  /*****************/
1188  /*** Functions ***/
1189  /*****************/
1190  void printLogo() const;
1191 
1192  void setSpinZeroCouplings();
1193  void setSpinOneCouplings();
1194  void setSpinTwoCouplings();
1195  void setATQGCCouplings();
1196  void setAZffCouplings();
1197 
1198  bool configureAnalyticalPDFs();
1199  void reset_SelfDCouplings();
1200  void reset_PAux(); // SuperProb reset
1201  void reset_CandRef();
1202 
1203  void constructDggr(
1204  float bkg_VAMCFM_noscale,
1205  float ggzz_VAMCFM_noscale,
1206  float ggHZZ_prob_pure_noscale,
1207  float ggHZZ_prob_int_noscale,
1208  float widthScale,
1209  float& myDggr
1210  );
1211 
1212  void getPConstantHandles();
1213  void deletePConstantHandles();
1215  TVar::MatrixElement me_,
1216  TVar::Production prod_,
1217  TVar::Process proc_,
1218  TString relpath,
1219  TString spname,
1220  const bool useSqrts=false
1221  );
1222  void deletePConstantHandle(MelaPConstant*& handle);
1223  void computeConstant(float& prob);
1224  void setConstant();
1226  float getConstant_4l();
1227  float getConstant_2l2q();
1228  float getConstant_4q();
1229  float getConstant_FourFermionDecay(const int& decid);
1230 
1231 };
1232 
1233 #endif
1234 
TVar::ERROR
@ ERROR
Definition: TVar.hh:49
Mela::getConstant
void getConstant(float &prob)
This function returns a multiplicative constant to the matrix element calculation.
Definition: Mela.cc:2207
Mela::computeP_selfDspin2
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...
Definition: Mela.cc:1186
Mela::pAvgSmooth_MCFM_ZZGG_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_ZZGG_bkgZZ_4e
Definition: Mela.h:1161
Mela::pAvgSmooth_MCFM_ZZGG_HSMHiggs_4e
MelaPConstant * pAvgSmooth_MCFM_ZZGG_HSMHiggs_4e
Definition: Mela.h:1145
Mela::ZZME
ZZMatrixElement * ZZME
Definition: Mela.h:1118
Mela::pAvgSmooth_MCFM_ZZQQB_bkgZZ_4mu
MelaPConstant * pAvgSmooth_MCFM_ZZQQB_bkgZZ_4mu
Definition: Mela.h:1164
MelaIO
Definition: MelaIO.h:8
TVar::LeptonInterference
LeptonInterference
Definition: TVar.hh:105
SIZE_GVV
@ SIZE_GVV
Definition: raw_couplings.txt:158
Mela::setInputEvent
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.
Definition: Mela.cc:349
Mela::GetMadgraphCKMElement
std::complex< double > GetMadgraphCKMElement(int iquark, int jquark)
Definition: Mela.cc:552
Mela::pAvgSmooth_JHUGen_ZZGG_HSMHiggs_2mu2e
MelaPConstant * pAvgSmooth_JHUGen_ZZGG_HSMHiggs_2mu2e
Definition: Mela.h:1142
Mela::selfDGqqcoupl
double selfDGqqcoupl[SIZE_GQQ][2]
Definition: Mela.h:1089
Mela::selfDGvpvpcoupl
double selfDGvpvpcoupl[SIZE_GVV][2]
Definition: Mela.h:1093
Mela::Y_rrv
RooRealVar * Y_rrv
Definition: Mela.h:1027
Mela::pAvgSmooth_MCFM_ZZQQB_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_ZZQQB_bkgZZ_4e
Definition: Mela.h:1165
TVar::VerbosityLevel
VerbosityLevel
Definition: TVar.hh:47
RooqqZZ_JHU_ZgammaZZ_fast
Definition: RooqqZZ_JHU_ZgammaZZ_fast.h:18
Mela::pAvgSmooth_MCFM_Had_ZH_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_bkgZZ_4e
Definition: Mela.h:1173
Mela::myVerbosity_
TVar::VerbosityLevel myVerbosity_
Definition: Mela.h:1116
Mela::build
void build(double mh_)
This is the actual building of the tool that occurs in each instance of the Mela::Mela constructor.
Definition: Mela.cc:139
Mela::pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_2mu2e
MelaPConstant * pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_2mu2e
Definition: Mela.h:1150
Mela::resetMCFM_EWKParameters
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.
Definition: Mela.cc:540
Mela::getPrimaryWidth
double getPrimaryWidth(int ipart)
A function to get the current primary EW/QCD parameters from MELA.
Definition: Mela.cc:545
Mela::getNCandidates
int getNCandidates()
Returns the size of the candidate list TEvtProb::candList.
Definition: Mela.cc:588
anonymous_namespace{TCouplingsBase.hh}::SIZE_SMEFT
@ SIZE_SMEFT
Definition: TCouplingsBase.hh:322
SIZE_HVV_CQSQ
@ SIZE_HVV_CQSQ
Definition: raw_couplings.txt:74
Mela::computeDecayAngles
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
Definition: Mela.cc:598
ScalarPdfFactory_HVV.h
Mela::pAvgSmooth_MCFM_JJQCD_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZZ_4e
Definition: Mela.h:1181
Mela::selfDM_Zprime
double selfDM_Zprime
Definition: Mela.h:1081
Mela::computeProdP_VH
void computeProdP_VH(double selfDHvvcoupl_input[nSupportedHiggses][SIZE_HVV][2], float &prob, bool includeHiggsDecay=false, bool useConstant=true)
Definition: Mela.cc:1769
Mela::pAvgSmooth_MCFM_Had_ZH_bkgZZ_4mu
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_bkgZZ_4mu
Definition: Mela.h:1172
MelaPConstant.h
Mela::auxiliaryProb
float auxiliaryProb
Definition: Mela.h:1122
Mela::compute4FermionWeight
void compute4FermionWeight(float &w)
Definition: Mela.cc:1846
Mela::selfDHwwCLambda_qsq
int selfDHwwCLambda_qsq[nSupportedHiggses][SIZE_HVV_CQSQ]
Definition: Mela.h:1069
TVar::nFermionMassRemovalSchemes
@ nFermionMassRemovalSchemes
Definition: TVar.hh:114
TVar::event_scales_type
Definition: TVar.hh:259
SIZE_GGG
@ SIZE_GGG
Definition: raw_couplings.txt:131
Mela::getIORecord
MelaIO * getIORecord()
Returns the MELAIO object, and by consequence, the entire parton-by-parton matrix element record.
Definition: Mela.cc:584
SuperDijetMela
Definition: SuperDijetMela.h:8
ScalarPdfFactory_HVV
Definition: ScalarPdfFactory_HVV.h:8
Mela::setCurrentCandidateFromIndex
void setCurrentCandidateFromIndex(unsigned int icand)
Switches the candidate that you are working on to another candidate based off of an index.
Definition: Mela.cc:347
SuperMELA
Definition: SuperMELA.h:17
Mela::pAvgSmooth_JHUGen_ZZGG_HSMHiggs_4mu
MelaPConstant * pAvgSmooth_JHUGen_ZZGG_HSMHiggs_4mu
Definition: Mela.h:1140
Mela::z1mass_rrv
RooRealVar * z1mass_rrv
Definition: Mela.h:1020
Mela::selfDHttcoupl
double selfDHttcoupl[nSupportedHiggses][SIZE_HQQ][2]
Definition: Mela.h:1057
Mela::setRemoveLeptonMasses
void setRemoveLeptonMasses(bool MasslessLeptonSwitch=true)
either permits or forbids massive leptons.
Definition: Mela.cc:556
Mela::getPAux
void getPAux(float &prob)
Definition: Mela.cc:594
Mela::pAvgSmooth_MCFM_JJQCD_bkgZZ_4mu
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZZ_4mu
Definition: Mela.h:1180
Mela::getMeasurablesRRV
RooSpin::modelMeasurables getMeasurablesRRV()
Returns a RooSpin::modelMeasureables object containing many observable quantities.
Definition: Mela.cc:568
Mela::setVerbosity
void setVerbosity(TVar::VerbosityLevel verbosity_=TVar::ERROR)
Sets the verbosity for MELA outside of the initial constructor.
Definition: Mela.cc:330
Mela::setCurrentCandidate
void setCurrentCandidate(MELACandidate *cand)
Switches the candidate that you are working on to another candidate object specified.
Definition: Mela.cc:348
Mela::pAvgSmooth_MCFM_ZZGG_bkgZZ_2mu2e
MelaPConstant * pAvgSmooth_MCFM_ZZGG_bkgZZ_2mu2e
Definition: Mela.h:1162
TVar::CandidateDecayMode
CandidateDecayMode
Definition: TVar.hh:37
Mela::resetWidth
void resetWidth(double inwidth, int ipart)
Resets the width for a particle that is an electroweak parameter according to its id.
Definition: Mela.cc:523
Mela::mzz_rrv
RooRealVar * mzz_rrv
Definition: Mela.h:1019
Mela::setMelaHiggsWidth
void setMelaHiggsWidth(double myHiggsWidth=-1, int index=0)
Sets the width of your chosen Higgs.
Definition: Mela.cc:343
Mela::getTopCandidateCollection
std::vector< MELATopCandidate_t * > * getTopCandidateCollection()
Same as getNCandidates but specifically for Top Quark Candidates.
Definition: Mela.cc:589
Mela::computeD_CP
void computeD_CP(TVar::MatrixElement myME, TVar::Process myType, float &prob)
computes the value of D_CP
Definition: Mela.cc:1378
Mela::getPConstantHandle
MelaPConstant * getPConstantHandle(TVar::MatrixElement me_, TVar::Production prod_, TVar::Process proc_, TString relpath, TString spname, const bool useSqrts=false)
Definition: Mela.cc:2704
Mela::computeProdP
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
Definition: Mela.cc:1540
Mela::selfDHzpzpcoupl
double selfDHzpzpcoupl[SIZE_HVV][2]
Definition: Mela.h:1074
SIZE_ZQQ
@ SIZE_ZQQ
Definition: raw_couplings.txt:107
Mela::pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_4e
MelaPConstant * pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_4e
Definition: Mela.h:1157
Mela::setRenFacScaleMode
void setRenFacScaleMode(TVar::EventScaleScheme renormalizationSch, TVar::EventScaleScheme factorizationSch, double ren_sf, double fac_sf)
Sets the renormalization and the factorization schemes.
Definition: Mela.cc:558
TVar::Process
Process
Definition: TVar.hh:124
Mela::selfDGa_Zprime
double selfDGa_Zprime
Definition: Mela.h:1082
TVar::EventScaleScheme
EventScaleScheme
Definition: TVar.hh:195
Mela::selfDWpffcoupl
double selfDWpffcoupl[SIZE_Vpff][2]
Definition: Mela.h:1080
Mela::pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_4mu
MelaPConstant * pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_4mu
Definition: Mela.h:1148
Mela::selfDZpffcoupl
double selfDZpffcoupl[SIZE_Vpff][2]
Definition: Mela.h:1075
Mela::selfDaTQGCcoupl
double selfDaTQGCcoupl[SIZE_ATQGC][2]
Definition: Mela.h:1095
Mela::myProduction_
TVar::Production myProduction_
Definition: Mela.h:1114
Mela::pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_4mu
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_4mu
Definition: Mela.h:1152
VectorPdfFactory
Definition: VectorPdfFactory.h:12
Mela::computeConstant
void computeConstant(float &prob)
Definition: Mela.cc:2208
Mela::pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_2mu2e
MelaPConstant * pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_2mu2e
Definition: Mela.h:1158
Mela::computeVBFAngles
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...
Definition: Mela.cc:660
Mela::cleanLinkedFiles
static void cleanLinkedFiles()
Definition: Mela.cc:126
Mela::setProcess
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....
Definition: Mela.cc:309
Mela::deletePConstantHandles
void deletePConstantHandles()
Definition: Mela.cc:2768
Mela::setSpinZeroCouplings
void setSpinZeroCouplings()
Definition: Mela.cc:375
Mela::pAvgSmooth_JHUGen_JJVBF_HSMHiggs
MelaPConstant * pAvgSmooth_JHUGen_JJVBF_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
Definition: Mela.h:1133
Mela::Mela
Mela(double LHCsqrts_=13., double mh_=125., TVar::VerbosityLevel verbosity_=TVar::ERROR)
the MELA constructor
Definition: Mela.cc:53
Mela::qqZZmodel
RooqqZZ_JHU_ZgammaZZ_fast * qqZZmodel
Definition: Mela.h:1034
Mela::resetQuarkMasses
void resetQuarkMasses()
Resets the masses of each quark to their original values.
Definition: Mela.cc:539
Mela::selfDHqqcoupl
double selfDHqqcoupl[nSupportedHiggses][SIZE_HQQ][2]
Definition: Mela.h:1053
Mela::setTempCandidate
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...
Definition: Mela.cc:366
SIZE_ZVV
@ SIZE_ZVV
Definition: raw_couplings.txt:114
Mela::pAvgSmooth_MCFM_JJVBF_bkgZZ_2mu2e
MelaPConstant * pAvgSmooth_MCFM_JJVBF_bkgZZ_2mu2e
Definition: Mela.h:1170
Mela::ggSpin0Model
ScalarPdfFactory_HVV * ggSpin0Model
Definition: Mela.h:1031
Mela::costheta1_rrv
RooRealVar * costheta1_rrv
Definition: Mela.h:1023
TEvtProb.hh
Mela::pAvgSmooth_MCFM_Had_WH_bkgZZ_2mu2e
MelaPConstant * pAvgSmooth_MCFM_Had_WH_bkgZZ_2mu2e
Definition: Mela.h:1178
Mela::selfDGvvcoupl
double selfDGvvcoupl[SIZE_GVV][2]
Definition: Mela.h:1091
Mela::computeP_selfDspin0
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...
Definition: Mela.cc:1117
TVar::DefaultLeptonInterf
@ DefaultLeptonInterf
Definition: TVar.hh:106
Mela::melaCand
MELACandidate * melaCand
Definition: Mela.h:1124
Mela::pAvgSmooth_JHUGen_JJQCD_HSMHiggs
MelaPConstant * pAvgSmooth_JHUGen_JJQCD_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
Definition: Mela.h:1131
Mela::pAvgSmooth_MCFM_ZZGG_HSMHiggs_4mu
MelaPConstant * pAvgSmooth_MCFM_ZZGG_HSMHiggs_4mu
Definition: Mela.h:1144
TensorPdfFactory_ppHVV.h
Mela::differentiate_HWW_HZZ
bool differentiate_HWW_HZZ
Definition: Mela.h:1070
Mela::pAvgSmooth_MCFM_JJVBF_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_JJVBF_bkgZZ_4e
Definition: Mela.h:1169
SIZE_HQQ
@ SIZE_HQQ
Definition: raw_couplings.txt:5
Mela::getHiggsWidthAtPoleMass
double getHiggsWidthAtPoleMass(double mass)
Returns the width of the Higgs at a given pole mass as a calculation.
Definition: Mela.cc:546
Mela::computeTTHAngles
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
Definition: Mela.cc:935
Mela::pAvgSmooth_MCFM_JJVBF_bkgZZ_4mu
MelaPConstant * pAvgSmooth_MCFM_JJVBF_bkgZZ_4mu
Definition: Mela.h:1168
anonymous_namespace{TCouplingsBase.hh}::SIZE_HGG
@ SIZE_HGG
Definition: TCouplingsBase.hh:40
Mela::pAvgSmooth_MCFM_Had_WH_bkgZZ_4e
MelaPConstant * pAvgSmooth_MCFM_Had_WH_bkgZZ_4e
Definition: Mela.h:1177
Mela::computeVHAngles
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...
Definition: Mela.cc:826
TensorPdfFactory_ppHVV
Definition: TensorPdfFactory_ppHVV.h:8
Mela::getVerbosity
TVar::VerbosityLevel getVerbosity()
Gets the current verbosity level for MELA.
Definition: Mela.cc:339
Mela::setATQGCCouplings
void setATQGCCouplings()
Definition: Mela.cc:423
MadMela.h
This is the code that interfaces with the generated Madgraph matrix elements in fortran for specified...
Mela::selfDHg4g4coupl
double selfDHg4g4coupl[nSupportedHiggses][SIZE_HGG][2]
Definition: Mela.h:1051
Mela::pAvgSmooth_JHUGen_JQCD_HSMHiggs
MelaPConstant * pAvgSmooth_JHUGen_JQCD_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
Definition: Mela.h:1129
Mela::computeP
void computeP(float &prob, bool useConstant=true)
Computes the probability for the probabilities on the decay side of things using the constituent daug...
Definition: Mela.cc:1223
SuperDijetMela.h
Mela::getConstant_JHUGenUndecayed
float getConstant_JHUGenUndecayed()
Definition: Mela.cc:2290
Mela::computePM4l
void computePM4l(TVar::SuperMelaSyst syst, float &prob)
Definition: Mela.cc:1903
Mela::printLogo
void printLogo() const
Definition: Mela.cc:246
Mela::setCandidateDecayMode
void setCandidateDecayMode(TVar::CandidateDecayMode mode)
Sets the decay mode for your event.
Definition: Mela.cc:346
VectorPdfFactory.h
Mela::setMelaHiggsMass
void setMelaHiggsMass(double myHiggsMass, int index=0)
Sets the mass of your chosen Higgs.
Definition: Mela.cc:342
Mela::spin2Model
TensorPdfFactory_ppHVV * spin2Model
Definition: Mela.h:1033
Mela::getCurrentCandidateIndex
int getCurrentCandidateIndex()
Returns the index of the current MELA candidate - returns -1 if there is no candidate to be found.
Definition: Mela.cc:587
Mela::reset_PAux
void reset_PAux()
Definition: Mela.cc:595
Mela::selfDZqqcoupl
double selfDZqqcoupl[SIZE_ZQQ][2]
Definition: Mela.h:1086
Mela::selfDHb4b4coupl
double selfDHb4b4coupl[nSupportedHiggses][SIZE_HQQ][2]
Definition: Mela.h:1059
Mela::selfDHwpwpcoupl
double selfDHwpwpcoupl[SIZE_HVV][2]
Definition: Mela.h:1079
Mela::reset_CandRef
void reset_CandRef()
Definition: Mela.cc:590
Mela::myLepInterf_
TVar::LeptonInterference myLepInterf_
Definition: Mela.h:1115
SIZE_Vpff
@ SIZE_Vpff
Definition: raw_couplings.txt:100
Mela::selfDHzzLambda_qsq
double selfDHzzLambda_qsq[nSupportedHiggses][SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ]
Definition: Mela.h:1066
Mela::SetMadgraphCKMElements
void SetMadgraphCKMElements(double ckmlambda=0.2265, double ckma=0.79, double ckmrho=0.141, double ckmeta=0.357, bool force_refresh=false)
Definition: Mela.cc:548
Mela::phi_rrv
RooRealVar * phi_rrv
Definition: Mela.h:1025
Mela::getXPropagator
void getXPropagator(TVar::ResonancePropagatorScheme scheme, float &prop)
Definition: Mela.cc:1838
Mela::~Mela
~Mela()
MELA destructor.
Definition: Mela.cc:81
Mela::computeProdDecP
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
Definition: Mela.cc:1469
Mela::reset_SelfDCouplings
void reset_SelfDCouplings()
Definition: Mela.cc:436
Mela::selfDHwwcoupl
double selfDHwwcoupl[nSupportedHiggses][SIZE_HVV][2]
Definition: Mela.h:1065
Mela::myME_
TVar::MatrixElement myME_
Definition: Mela.h:1113
Mela::setRemoveJetMasses
void setRemoveJetMasses(bool MasslessLeptonSwitch=true)
either permits or forbids massive jets.
Definition: Mela.cc:557
Mela::selfDGvvpcoupl
double selfDGvvpcoupl[SIZE_GVV][2]
Definition: Mela.h:1092
Mela::constructDggr
void constructDggr(float bkg_VAMCFM_noscale, float ggzz_VAMCFM_noscale, float ggHZZ_prob_pure_noscale, float ggHZZ_prob_int_noscale, float widthScale, float &myDggr)
Definition: Mela.cc:1959
Mela::resetMass
void resetMass(double inmass, int ipart)
Resets the mass for a particle that is an electroweak parameter according to its id.
Definition: Mela.cc:522
Mela::resetInputEvent
void resetInputEvent()
Resets the event in preparation for the next iteration of the event loop.
Definition: Mela.cc:362
TVar::MatrixElement
MatrixElement
Definition: TVar.hh:55
Mela::pdf
RooAbsPdf * pdf
Definition: Mela.h:1030
nSupportedHiggses
@ nSupportedHiggses
Definition: TMCFM.hh:15
SIZE_ATQGC
@ SIZE_ATQGC
Definition: raw_couplings.txt:176
Mela::myModel_
TVar::Process myModel_
Definition: Mela.h:1112
Mela::selfDAZffcoupl
double selfDAZffcoupl[SIZE_AZff][2]
Definition: Mela.h:1097
Mela::pAvgSmooth_MCFM_JJQCD_bkgZJets_2l2q
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZJets_2l2q
Definition: Mela.h:1184
Mela::selfDHzzCLambda_qsq
int selfDHzzCLambda_qsq[nSupportedHiggses][SIZE_HVV_CQSQ]
Definition: Mela.h:1068
Mela::setAZffCouplings
void setAZffCouplings()
Definition: Mela.cc:428
Mela::setSpinOneCouplings
void setSpinOneCouplings()
Definition: Mela.cc:408
Mela::setMelaHiggsMassWidth
void setMelaHiggsMassWidth(double myHiggsMass, double myHiggsWidth, int index)
a combination of setMelaHiggsMass and setMelaHiggsWidth.
Definition: Mela.cc:344
SIZE_HVV_LAMBDAQSQ
@ SIZE_HVV_LAMBDAQSQ
Definition: raw_couplings.txt:66
Mela::selfDZvvcoupl
double selfDZvvcoupl[SIZE_ZVV][2]
Definition: Mela.h:1087
Mela::pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_4mu
MelaPConstant * pAvgSmooth_MCFM_Had_WH_S_HSMHiggs_4mu
Definition: Mela.h:1156
Mela::pAvgSmooth_MCFM_JJQCD_bkgZZ_2mu2e
MelaPConstant * pAvgSmooth_MCFM_JJQCD_bkgZZ_2mu2e
Definition: Mela.h:1182
Mela::pAvgSmooth_MCFM_ZZGG_bkgZZ_4mu
MelaPConstant * pAvgSmooth_MCFM_ZZGG_bkgZZ_4mu
Definition: Mela.h:1160
Mela::computeVBFAngles_ComplexBoost
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)
Definition: Mela.cc:742
Mela::resetYukawaMass
void resetYukawaMass(double inmass, int ipart)
Resets the Yukawa coupling (or "Yukawa mass") for a specific particle. Does not change its "intrinsic...
Definition: Mela.cc:524
Mela
This is the main Mela object!
Definition: Mela.h:54
Mela::pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_2mu2e
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_2mu2e
Definition: Mela.h:1154
Mela::superDijet
SuperDijetMela * superDijet
Definition: Mela.h:1119
Mela::selfDM_Wprime
double selfDM_Wprime
Definition: Mela.h:1083
TVar::ResonancePropagatorScheme
ResonancePropagatorScheme
Definition: TVar.hh:116
Mela::getConstant_FourFermionDecay
float getConstant_FourFermionDecay(const int &decid)
Definition: Mela.cc:2352
Mela::melaRandomNumber
TRandom3 melaRandomNumber
Definition: Mela.h:1018
Mela::getRenFacScaleMode
const TVar::event_scales_type & getRenFacScaleMode() const
Returns the current RenFac Scale Mode for MELA.
Definition: Mela.cc:561
Mela::computeProdP_ttH
void computeProdP_ttH(float &prob, int topProcess=2, int topDecay=0, bool useConstant=true)
Definition: Mela.cc:1817
Mela::computeD_gg
void computeD_gg(TVar::MatrixElement myME, TVar::Process myType, float &prob)
Definition: Mela.cc:1973
Mela::super
SuperMELA * super
Definition: Mela.h:1036
Mela::selfDGa_Wprime
double selfDGa_Wprime
Definition: Mela.h:1084
Mela::selfDHt4t4coupl
double selfDHt4t4coupl[nSupportedHiggses][SIZE_HQQ][2]
Definition: Mela.h:1061
Mela::selfDHwwLambda_qsq
double selfDHwwLambda_qsq[nSupportedHiggses][SIZE_HVV_LAMBDAQSQ][SIZE_HVV_CQSQ]
Definition: Mela.h:1067
Mela::pAvgSmooth_MCFM_Had_ZH_bkgZZ_2mu2e
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_bkgZZ_2mu2e
Definition: Mela.h:1174
Mela::setMelaPrimaryHiggsMass
void setMelaPrimaryHiggsMass(double myHiggsMass)
Sets the mass of the "primary" higgs.
Definition: Mela.cc:341
Mela::z2mass_rrv
RooRealVar * z2mass_rrv
Definition: Mela.h:1021
SIZE_AZff
@ SIZE_AZff
Definition: raw_couplings.txt:194
Mela::selfDSMEFTSimcoupl
double selfDSMEFTSimcoupl[SIZE_SMEFT]
Definition: Mela.h:1100
Mela::computeDijetConvBW
void computeDijetConvBW(float &prob, bool useTrueBW=false)
Definition: Mela.cc:2831
Mela::pAvgSmooth_JHUGen_Had_ZH_HSMHiggs
MelaPConstant * pAvgSmooth_JHUGen_Had_ZH_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
Definition: Mela.h:1135
Mela::costhetastar_rrv
RooRealVar * costhetastar_rrv
Definition: Mela.h:1022
TVar::SuperMelaSyst
SuperMelaSyst
Definition: TVar.hh:185
Mela::costheta2_rrv
RooRealVar * costheta2_rrv
Definition: Mela.h:1024
Mela::setConstant
void setConstant()
Definition: Mela.cc:2214
Mela::selfDHwwpcoupl
double selfDHwwpcoupl[SIZE_HVV][2]
Definition: Mela.h:1077
Mela::getConstant_4l
float getConstant_4l()
Definition: Mela.cc:2325
RooqqZZ_JHU_ZgammaZZ_fast.h
Mela::configureAnalyticalPDFs
bool configureAnalyticalPDFs()
Definition: Mela.cc:2008
ZZMatrixElement
Definition: ZZMatrixElement.h:9
TVar.hh
Mela::selfDHzzcoupl
double selfDHzzcoupl[nSupportedHiggses][SIZE_HVV][2]
Definition: Mela.h:1063
Mela::calculate4Momentum
std::vector< TLorentzVector > calculate4Momentum(double Mx, double M1, double M2, double theta, double theta1, double theta2, double Phi1, double Phi)
Definition: Mela.cc:564
Mela::computeP_selfDspin1
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...
Definition: Mela.cc:1152
Mela::getPConstantHandles
void getPConstantHandles()
Definition: Mela.cc:2509
Mela::setSpinTwoCouplings
void setSpinTwoCouplings()
Definition: Mela.cc:411
TensorPdfFactory
Definition: TensorPdfFactory.h:10
Mela::LHCsqrts
double LHCsqrts
Definition: Mela.h:1111
Mela::phi1_rrv
RooRealVar * phi1_rrv
Definition: Mela.h:1026
Mela::spin1Model
VectorPdfFactory * spin1Model
Definition: Mela.h:1032
Mela::pAvgSmooth_MCFM_ZZGG_HSMHiggs_2mu2e
MelaPConstant * pAvgSmooth_MCFM_ZZGG_HSMHiggs_2mu2e
Definition: Mela.h:1146
Mela::selfDHzzpcoupl
double selfDHzzpcoupl[SIZE_HVV][2]
Definition: Mela.h:1072
MELACandidate
Definition: MELACandidate.h:7
SIZE_HVV
@ SIZE_HVV
Definition: raw_couplings.txt:57
SimpleParticleCollection_t
std::vector< SimpleParticle_t > SimpleParticleCollection_t
Definition: TVar.hh:25
Mela::pAvgSmooth_MCFM_ZZQQB_bkgZZ_2mu2e
MelaPConstant * pAvgSmooth_MCFM_ZZQQB_bkgZZ_2mu2e
Definition: Mela.h:1166
MelaPConstant
Definition: MelaPConstant.h:9
Mela::selfDHggcoupl
double selfDHggcoupl[nSupportedHiggses][SIZE_HGG][2]
Definition: Mela.h:1049
Mela::pAvgSmooth_JHUGen_Had_WH_HSMHiggs
MelaPConstant * pAvgSmooth_JHUGen_Had_WH_HSMHiggs[TVar::nFermionMassRemovalSchemes-1]
Definition: Mela.h:1137
Mela::deletePConstantHandle
void deletePConstantHandle(MelaPConstant *&handle)
Definition: Mela.cc:2824
Mela::setMelaLeptonInterference
void setMelaLeptonInterference(TVar::LeptonInterference myLepInterf=TVar::DefaultLeptonInterf)
Sets the MELA Lepton Interference.
Definition: Mela.cc:345
Mela::pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_4e
MelaPConstant * pAvgSmooth_MCFM_JJVBF_S_HSMHiggs_4e
Definition: Mela.h:1149
Mela::appendTopCandidate
void appendTopCandidate(SimpleParticleCollection_t *TopDaughters)
Adds a top quark as a MELA candidate.
Definition: Mela.cc:372
RooSpin::modelMeasurables
Definition: RooSpin.h:50
Mela::upFrac_rrv
RooRealVar * upFrac_rrv
Definition: Mela.h:1028
Mela::getConstant_2l2q
float getConstant_2l2q()
Definition: Mela.cc:2336
Mela::selfDHbbcoupl
double selfDHbbcoupl[nSupportedHiggses][SIZE_HQQ][2]
Definition: Mela.h:1055
TVar::Production
Production
Definition: TVar.hh:61
Mela::pAvgSmooth_MCFM_Had_WH_bkgZZ_4mu
MelaPConstant * pAvgSmooth_MCFM_Had_WH_bkgZZ_4mu
Definition: Mela.h:1176
Mela::getConstant_4q
float getConstant_4q()
Definition: Mela.cc:2345
Mela::selfDGggcoupl
double selfDGggcoupl[SIZE_GGG][2]
Definition: Mela.h:1090
Mela::pAvgSmooth_JHUGen_ZZGG_HSMHiggs_4e
MelaPConstant * pAvgSmooth_JHUGen_ZZGG_HSMHiggs_4e
Definition: Mela.h:1141
Mela::getCurrentCandidate
MELACandidate * getCurrentCandidate()
Gets the current MELA top-level (input) candList object.
Definition: Mela.cc:586
SIZE_GQQ
@ SIZE_GQQ
Definition: raw_couplings.txt:121
Mela::getPrimaryMass
double getPrimaryMass(int ipart)
A function to get the current primary EW/QCD parameters from MELA.
Definition: Mela.cc:544
Mela::pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_4e
MelaPConstant * pAvgSmooth_MCFM_Had_ZH_S_HSMHiggs_4e
Definition: Mela.h:1153