![]() |
ATLAS Offline Software
|
Rivet routine for classifying MC events according to the Higgs template cross section categories. More...
#include <HiggsTemplateCrossSections.h>
Public Member Functions | |
| HiggsTemplateCrossSections () | |
| HiggsClassification | classifyEvent (const Event &event, const HTXS::HiggsProdMode prodMode, const HTXS::HiggsDecayMode decayMode) const |
| Main classificaion method. | |
Utility methods | |
Methods to identify the Higgs boson and associated vector boson and to build jets | |
| Particle | getLastInstance (const Particle &ptcl) const |
| follow a "propagating" particle and return its last instance | |
| bool | originateFrom (const Particle &p, const Particles &ptcls) const |
| Whether particle p originate from any of the ptcls. | |
| bool | originateFrom (const Particle &p, const Particle &p2) const |
| Whether particle p originates from p2. | |
| bool | hasChild (HepMC::ConstGenParticlePtr ptcl, int pdgID) const |
| Checks whether the input particle has a child with a given PDGID. | |
| bool | hasParent (HepMC::ConstGenParticlePtr ptcl, int pdgID) const |
| Checks whether the input particle has a parent with a given PDGID. | |
| bool | quarkDecay (const Particle &p) const |
| Return true is particle decays to quarks. | |
| bool | ChLeptonDecay (const Particle &p) const |
| Return true if particle decays to charged leptons. | |
| HiggsClassification | error (HiggsClassification &cat, HTXS::ErrorCode err, std::string_view msg={}, int NmaxWarnings=20) const |
| Returns the classification object with the error code set. | |
Categorization methods | |
Methods to assign the truth category based on the identified Higgs boson and associated vector bosons and/or reconstructed jets | |
| int | getBin (double x, const std::vector< double > &bins) const |
| Return bin index of x given the provided bin edges. 0=first bin, -1=underflow bin. | |
| int | vbfTopology (const Jets &jets, const Particle &higgs) const |
| VBF topolog selection 0 = fail loose selction: m_jj > 400 GeV and Dy_jj > 2.8 1 pass loose, but fail additional cut pT(Hjj)<25. | |
| int | vbfTopology_Stage1_2 (const Jets &jets, const Particle &higgs) const |
| VBF topology selection 0 = fail loose selection: m_jj > 350 GeV 1 pass loose, but fail additional cut pT(Hjj)<25. | |
| int | vbfTopology_Stage1_2_Fine (const Jets &jets, const Particle &higgs) const |
| VBF topology selection for Stage1_2 0 = fail loose selection: m_jj > 350 GeV 1 pass loose, but fail additional cut pT(Hjj)<25. | |
| int | vbfTopology_Stage1_3_Fine (const Jets &jets, const Particle &higgs) const |
| VBF topology selection for Stage1_3 Includes additional deltaphijj binning. | |
| bool | isVH (HTXS::HiggsProdMode p) const |
| Whether the Higgs is produced in association with a vector boson (VH). | |
| HTXS::Stage0::Category | getStage0Category (const HTXS::HiggsProdMode prodMode, const Particle &higgs, const Particle &V) const |
| Stage-0 HTXS categorization. | |
| HTXS::Stage1::Category | getStage1Category (const HTXS::HiggsProdMode prodMode, const Particle &higgs, const Jets &jets, const Particle &V) const |
| Stage-1 categorization. | |
| HTXS::Stage1_2::Category | getStage1_2_Category (const HTXS::HiggsProdMode prodMode, const Particle &higgs, const Jets &jets, const Particle &V) const |
| Stage-1.2 categorization. | |
| HTXS::Stage1_2_Fine::Category | getStage1_2_Fine_Category (const HTXS::HiggsProdMode prodMode, const Particle &higgs, const Jets &jets, const Particle &V) const |
| Stage-1.2_Fine categorization. | |
| HTXS::Stage1_3::Category | getStage1_3_Category (const HTXS::HiggsProdMode prodMode, const Particle &higgs, const Jets &jets, const Particle &V) const |
| Stage-1.3 categorization. | |
| HTXS::Stage1_3_Fine::Category | getStage1_3_Fine_Category (const HTXS::HiggsProdMode prodMode, const Particle &higgs, const Jets &jets, const Particle &V, const bool isTHW) const |
| Stage-1.3 Fine categorization. | |
Higgs decay categorization methods | |
Methods to classify the Higgs boson decay mode according to the Stage-0 decay categorization defined in HTXS::Stage0::DecayCategory | |
| HTXS::Stage0::DecayCategory | getStage0DecayCategory (const Particle &higgs, const Particles &decayparticles, std::vector< float > &decay_observables, int &cuts_passed) const |
| Stage-0 Higgs decay categorization. | |
| int | doAngleDressing (const Particles &dp, const std::vector< std::vector< double > > &cosangle, std::vector< FourMomentum > &v_p4, std::vector< int > &v_pid) const |
| dress leptons with photons within a 0.1 radian angle. | |
| unsigned char | findZZ4ldecay (std::vector< FourMomentum > v_p4, std::vector< int > v_pid, std::vector< float > &decay_observables) const |
| Select H->ZZ->4l candidate: 4 charged leptons, net charge=0, combined invariant mass in [105, 130] GeV, passing angular overlap cut. | |
| bool | ZZ4langle_cut (const std::vector< FourMomentum > &v_p4, const std::vector< int > &v_pid) const |
| Reject lepton pairs whose opening angle is too small (cos > cos(0.1)). | |
| unsigned char | ZZ4lm12m34_cut (const std::vector< FourMomentum > &v_p4, const std::vector< int > &v_pid, std::vector< int > &lepton_index) const |
| Apply m12 and m34 mass window cuts for ZZ->4l selection Also insert the leading lepton pair and subleading lepton pair index into lepton_index We always have lepton_index[0] = e/mu, lepton_index[1] = anti-(e/mu), etc. | |
| bool | ZZ4lJpsi_cut (std::vector< FourMomentum > &v_p4, std::vector< int > &v_pid) const |
| J/psi veto: reject events with a same-flavour opposite-sign lepton pair with invariant mass below 5 GeV, or if there are more than 4 leptons, remove all lepton pairs with invariant mass below 5 Gev. | |
| bool | remove_least_mij (std::vector< FourMomentum > &v_p4, std::vector< int > &v_pid) const |
| removes SFOS lepton pairs with invariant mass < 5GeV removes only the pair with the least invariant mass | |
| bool | calculate_decay_observables (const std::vector< FourMomentum > &v_p4, const std::vector< int > &v_4l_index, std::vector< float > &decay_observable) const |
| calculate the relevant 4l decay observables | |
| bool | passm12 (double m) const |
| Pass leading lepton-pair mass window [50, 106] GeV. | |
| bool | passm34 (double m) const |
| Pass sub-leading lepton-pair mass window [12, 115] GeV. | |
Default Rivet analysis methods and steering methods | |
| void | setHiggsProdMode (HTXS::HiggsProdMode prodMode) |
| Sets the Higgs production mode. | |
| void | setHiggsDecayMode (HTXS::HiggsDecayMode decayMode) |
| Sets the Higgs production mode. | |
| void | init () |
| default Rivet Analysis::init method Booking of histograms, initializing Rivet projection Extracts Higgs production mode from shell variable if not set manually using setHiggsProdMode | |
| void | analyze (const Event &event) |
| void | printClassificationSummary () |
| void | finalize () |
| void | initializeHistos () |
Private Attributes | |
| double | m_sumw =0.0 |
| HTXS::HiggsProdMode | m_HiggsProdMode |
| HTXS::HiggsDecayMode | m_HiggsDecayMode |
| std::array< std::atomic< size_t >, HTXS::NUM_ERRORCODES > m_errorCount | ATLAS_THREAD_SAFE {} |
| Histo1DPtr | m_hist_stage0 |
| Histo1DPtr | m_hist_stage1_pTjet25 |
| Histo1DPtr | m_hist_stage1_pTjet30 |
| Histo1DPtr | m_hist_stage1_2_pTjet25 |
| Histo1DPtr | m_hist_stage1_2_pTjet30 |
| Histo1DPtr | m_hist_stage1_2_fine_pTjet25 |
| Histo1DPtr | m_hist_stage1_2_fine_pTjet30 |
| Histo1DPtr | m_hist_stage1_3_pTjet25 |
| Histo1DPtr | m_hist_stage1_3_pTjet30 |
| Histo1DPtr | m_hist_stage1_3_fine_pTjet25 |
| Histo1DPtr | m_hist_stage1_3_fine_pTjet30 |
| Histo1DPtr | m_hist_pT_Higgs |
| Histo1DPtr | m_hist_y_Higgs |
| Histo1DPtr | m_hist_pT_V |
| Histo1DPtr | m_hist_pT_jet1 |
| Histo1DPtr | m_hist_deltay_jj |
| Histo1DPtr | m_hist_dijet_mass |
| Histo1DPtr | m_hist_pT_Hjj |
| Histo1DPtr | m_hist_Njets25 |
| Histo1DPtr | m_hist_Njets30 |
| Histo1DPtr | m_hist_isZ2vv |
Rivet routine for classifying MC events according to the Higgs template cross section categories.
Definition at line 35 of file HiggsTemplateCrossSections.h.
|
inline |
Definition at line 38 of file HiggsTemplateCrossSections.h.
Definition at line 1332 of file HiggsTemplateCrossSections.h.
|
inline |
calculate the relevant 4l decay observables
Definition at line 1195 of file HiggsTemplateCrossSections.h.
|
inline |
Return true if particle decays to charged leptons.
Definition at line 98 of file HiggsTemplateCrossSections.h.
|
inline |
Main classificaion method.
Definition at line 132 of file HiggsTemplateCrossSections.h.
|
inline |
dress leptons with photons within a 0.1 radian angle.
Also puts isolated photons (photons with no leptons within 0.1 rad cone) into v_p4.
Definition at line 990 of file HiggsTemplateCrossSections.h.
|
inline |
Returns the classification object with the error code set.
Prints an warning message, and keeps track of number of errors
Definition at line 112 of file HiggsTemplateCrossSections.h.
|
inline |
Definition at line 1414 of file HiggsTemplateCrossSections.h.
|
inline |
Select H->ZZ->4l candidate: 4 charged leptons, net charge=0, combined invariant mass in [105, 130] GeV, passing angular overlap cut.
Definition at line 1036 of file HiggsTemplateCrossSections.h.
|
inline |
Return bin index of x given the provided bin edges. 0=first bin, -1=underflow bin.
Definition at line 354 of file HiggsTemplateCrossSections.h.
|
inline |
follow a "propagating" particle and return its last instance
Definition at line 50 of file HiggsTemplateCrossSections.h.
|
inline |
Stage-0 HTXS categorization.
Definition at line 441 of file HiggsTemplateCrossSections.h.
|
inline |
Stage-0 Higgs decay categorization.
Identifies the stable final-state decay products originating from the Higgs boson and classifies the decay mode.
Definition at line 917 of file HiggsTemplateCrossSections.h.
|
inline |
Stage-1.2 categorization.
Definition at line 523 of file HiggsTemplateCrossSections.h.
|
inline |
Stage-1.2_Fine categorization.
Definition at line 600 of file HiggsTemplateCrossSections.h.
|
inline |
Stage-1.3 categorization.
Definition at line 688 of file HiggsTemplateCrossSections.h.
|
inline |
Stage-1.3 Fine categorization.
Definition at line 796 of file HiggsTemplateCrossSections.h.
|
inline |
Stage-1 categorization.
Definition at line 457 of file HiggsTemplateCrossSections.h.
|
inline |
Checks whether the input particle has a child with a given PDGID.
Definition at line 77 of file HiggsTemplateCrossSections.h.
|
inline |
Checks whether the input particle has a parent with a given PDGID.
Definition at line 84 of file HiggsTemplateCrossSections.h.
|
inline |
default Rivet Analysis::init method Booking of histograms, initializing Rivet projection Extracts Higgs production mode from shell variable if not set manually using setHiggsProdMode
Definition at line 1295 of file HiggsTemplateCrossSections.h.
|
inline |
Definition at line 1426 of file HiggsTemplateCrossSections.h.
|
inline |
Whether the Higgs is produced in association with a vector boson (VH).
Definition at line 438 of file HiggsTemplateCrossSections.h.
|
inline |
Whether particle p originates from p2.
Definition at line 72 of file HiggsTemplateCrossSections.h.
|
inline |
Whether particle p originate from any of the ptcls.
Definition at line 59 of file HiggsTemplateCrossSections.h.
|
inline |
Pass leading lepton-pair mass window [50, 106] GeV.
Definition at line 1275 of file HiggsTemplateCrossSections.h.
|
inline |
Pass sub-leading lepton-pair mass window [12, 115] GeV.
Definition at line 1278 of file HiggsTemplateCrossSections.h.
|
inline |
Definition at line 1392 of file HiggsTemplateCrossSections.h.
|
inline |
Return true is particle decays to quarks.
Definition at line 91 of file HiggsTemplateCrossSections.h.
|
inline |
removes SFOS lepton pairs with invariant mass < 5GeV removes only the pair with the least invariant mass
Definition at line 1169 of file HiggsTemplateCrossSections.h.
|
inline |
Sets the Higgs production mode.
Definition at line 1290 of file HiggsTemplateCrossSections.h.
|
inline |
Sets the Higgs production mode.
Definition at line 1287 of file HiggsTemplateCrossSections.h.
|
inline |
VBF topolog selection 0 = fail loose selction: m_jj > 400 GeV and Dy_jj > 2.8 1 pass loose, but fail additional cut pT(Hjj)<25.
2 pass tight selection
Definition at line 371 of file HiggsTemplateCrossSections.h.
|
inline |
VBF topology selection 0 = fail loose selection: m_jj > 350 GeV 1 pass loose, but fail additional cut pT(Hjj)<25.
2 pass pT(Hjj)>25 selection 3 pass tight (m_jj>700 GeV), but fail additional cut pT(Hjj)<25. 4 pass pT(Hjj)>25 selection
Definition at line 381 of file HiggsTemplateCrossSections.h.
|
inline |
VBF topology selection for Stage1_2 0 = fail loose selection: m_jj > 350 GeV 1 pass loose, but fail additional cut pT(Hjj)<25.
2 pass pT(Hjj)>25 selection 3 pass 700<m_jj<1000 GeV, but fail additional cut pT(Hjj)<25. 4 pass pT(Hjj)>25 selection 5 pass 1000<m_jj<1500 GeV, but fail additional cut pT(Hjj)<25. 6 pass pT(Hjj)>25 selection 7 pass m_jj>1500 GeV, but fail additional cut pT(Hjj)<25. 8 pass pT(Hjj)>25 selection
Definition at line 395 of file HiggsTemplateCrossSections.h.
|
inline |
VBF topology selection for Stage1_3 Includes additional deltaphijj binning.
Definition at line 408 of file HiggsTemplateCrossSections.h.
|
inline |
Reject lepton pairs whose opening angle is too small (cos > cos(0.1)).
Definition at line 1076 of file HiggsTemplateCrossSections.h.
|
inline |
J/psi veto: reject events with a same-flavour opposite-sign lepton pair with invariant mass below 5 GeV, or if there are more than 4 leptons, remove all lepton pairs with invariant mass below 5 Gev.
Definition at line 1158 of file HiggsTemplateCrossSections.h.
|
inline |
Apply m12 and m34 mass window cuts for ZZ->4l selection Also insert the leading lepton pair and subleading lepton pair index into lepton_index We always have lepton_index[0] = e/mu, lepton_index[1] = anti-(e/mu), etc.
Definition at line 1099 of file HiggsTemplateCrossSections.h.
|
mutableprivate |
Definition at line 1459 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1458 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1457 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1468 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1468 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1470 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1469 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1469 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1466 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1468 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1467 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1467 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1460 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1463 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1463 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1462 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1462 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1465 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1465 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1464 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1464 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1461 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1461 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1466 of file HiggsTemplateCrossSections.h.
|
private |
Definition at line 1456 of file HiggsTemplateCrossSections.h.