namespace Gambit::ColliderBit::ATLAS

ATLAS-specific efficiency and smearing functions for super fast detector simulation.

Functions

Name
voidapplyElectronEff(std::vector< const HEPUtils::Particle * > & electrons)
voidapplyMuonEff(std::vector< const HEPUtils::Particle * > & muons)
Randomly filter the supplied particle list by parameterised muon efficiency.
voidapplyMuonEffR2(std::vector< const HEPUtils::Particle * > & muons)
Randomly filter the supplied particle list by parameterised muon efficiency.
voidapplyTauEfficiencyR1(std::vector< const HEPUtils::Particle * > & taus)
voidapplyTauEfficiencyR2(std::vector< const HEPUtils::Particle * > & taus)
voidapplyPhotonEfficiencyR2(std::vector< const HEPUtils::Particle * > & photons)
voidsmearElectronEnergy(std::vector< HEPUtils::Particle * > & electrons)
Randomly smear the supplied electrons’ momenta by parameterised resolutions.
voidsmearMuonMomentum(std::vector< HEPUtils::Particle * > & muons)
Randomly smear the supplied muons’ momenta by parameterised resolutions.
voidsmearJets(std::vector< HEPUtils::Jet * > & jets)
Randomly smear the supplied jets’ momenta by parameterised resolutions.
voidsmearMET(HEPUtils::P4 & pmiss, double set)
Randomly smear the MET vector by parameterised resolutions.
voidsmearTaus(std::vector< HEPUtils::Particle * > & taus)
Randomly smear the supplied taus’ momenta by parameterised resolutions.
voidapplyLooseIDElectronSelectionR2(std::vector< const HEPUtils::Particle * > & electrons)
voidapplyLooseIDElectronSelectionR2(std::vector< HEPUtils::Particle * > & electrons)
Alias to allow non-const particle vectors.
voidapplyMediumIDElectronSelectionR2(std::vector< const HEPUtils::Particle * > & electrons)
voidapplyMediumIDElectronSelectionR2(std::vector< HEPUtils::Particle * > & electrons)
Alias to allow non-const particle vectors.
voidapplyMediumIDElectronSelection(std::vector< const HEPUtils::Particle * > & electrons)
voidapplyMediumIDElectronSelection(std::vector< HEPUtils::Particle * > & electrons)
Alias to allow non-const particle vectors.
voidapplyTightIDElectronSelection(std::vector< const HEPUtils::Particle * > & electrons)
voidapplyTightIDElectronSelection(std::vector< HEPUtils::Particle * > & electrons)
Alias to allow non-const particle vectors.
voidapplyElectronIDEfficiency2019(std::vector< const HEPUtils::Particle * > & electrons, str operating_point)
voidapplyElectronIsolationEfficiency2019(std::vector< const HEPUtils::Particle * > & electrons, str operating_point)
voidapplyElectronReconstructionEfficiency2020(std::vector< const HEPUtils::Particle * > & electrons, str operating_point)
voidapplyElectronIDEfficiency2020(std::vector< const HEPUtils::Particle * > & electrons, str operating_point)
voidapplyElectronIsolationEfficiency2020(std::vector< const HEPUtils::Particle * > & electrons, str operating_point)
voidapplyMuonIDEfficiency2020(std::vector< const HEPUtils::Particle * > & muons, str operating_point)
voidapplyMuonIsolationEfficiency2020(std::vector< const HEPUtils::Particle * > & muons, str operating_point)

Functions Documentation

function applyElectronEff

inline void applyElectronEff(
    std::vector< const HEPUtils::Particle * > & electrons
)

Note: Should be applied after the electron energy smearing

Randomly filter the supplied particle list by parameterised electron efficiency

function applyMuonEff

inline void applyMuonEff(
    std::vector< const HEPUtils::Particle * > & muons
)

Randomly filter the supplied particle list by parameterised muon efficiency.

function applyMuonEffR2

inline void applyMuonEffR2(
    std::vector< const HEPUtils::Particle * > & muons
)

Randomly filter the supplied particle list by parameterised muon efficiency.

function applyTauEfficiencyR1

inline void applyTauEfficiencyR1(
    std::vector< const HEPUtils::Particle * > & taus
)

Note: From Delphes 3.1.2

Todo: Use https://cds.cern.ch/record/1233743/files/ATL-PHYS-PUB-2010-001.pdf– it is more accurate and has pT-dependence

Randomly filter the supplied particle list by parameterised Run 1 tau efficiency

function applyTauEfficiencyR2

inline void applyTauEfficiencyR2(
    std::vector< const HEPUtils::Particle * > & taus
)

Note:

  • From Delphes 3.3.2 & ATL-PHYS-PUB-2015-045, 60% for 1-prong, 70% for multi-prong: this is wrong!!
  • No delete, because this should only ever be applied to copies of the Event Particle* vectors in Analysis routines

Randomly filter the supplied particle list by parameterised Run 2 tau efficiency

function applyPhotonEfficiencyR2

inline void applyPhotonEfficiencyR2(
    std::vector< const HEPUtils::Particle * > & photons
)

function smearElectronEnergy

inline void smearElectronEnergy(
    std::vector< HEPUtils::Particle * > & electrons
)

Randomly smear the supplied electrons’ momenta by parameterised resolutions.

function smearMuonMomentum

inline void smearMuonMomentum(
    std::vector< HEPUtils::Particle * > & muons
)

Randomly smear the supplied muons’ momenta by parameterised resolutions.

function smearJets

inline void smearJets(
    std::vector< HEPUtils::Jet * > & jets
)

Randomly smear the supplied jets’ momenta by parameterised resolutions.

TodoIs this the best way to smear? Should we preserve the mean jet energy, or pT, or direction?

function smearMET

inline void smearMET(
    HEPUtils::P4 & pmiss,
    double set
)

Randomly smear the MET vector by parameterised resolutions.

function smearTaus

inline void smearTaus(
    std::vector< HEPUtils::Particle * > & taus
)

Randomly smear the supplied taus’ momenta by parameterised resolutions.

TodoIs this the best way to smear? Should we preserve the mean jet energy, or pT, or direction?

function applyLooseIDElectronSelectionR2

inline void applyLooseIDElectronSelectionR2(
    std::vector< const HEPUtils::Particle * > & electrons
)

Note: Numbers digitised from Fig 3 of 13 TeV note (ATL-PHYS-PUB-2015-041)

Todo: What about faking by jets or non-electrons?

Efficiency function for Loose ID electrons

function applyLooseIDElectronSelectionR2

inline void applyLooseIDElectronSelectionR2(
    std::vector< HEPUtils::Particle * > & electrons
)

Alias to allow non-const particle vectors.

function applyMediumIDElectronSelectionR2

inline void applyMediumIDElectronSelectionR2(
    std::vector< const HEPUtils::Particle * > & electrons
)

Note: Numbers digitised from Fig 3 of 13 TeV note (ATL-PHYS-PUB-2015-041)

Efficiency function for Loose ID electrons

function applyMediumIDElectronSelectionR2

inline void applyMediumIDElectronSelectionR2(
    std::vector< HEPUtils::Particle * > & electrons
)

Alias to allow non-const particle vectors.

function applyMediumIDElectronSelection

inline void applyMediumIDElectronSelection(
    std::vector< const HEPUtils::Particle * > & electrons
)

Note: Numbers digitised from 8 TeV note (ATLAS-CONF-2014-032)

Efficiency function for Medium ID electrons

No delete is necessary, because this should only ever be applied to a copy of the Event Particle* vectors

TodoThis is an exact duplication of the below filtering code – split into a single util fn (in unnamed namespace?) when binned fns are static

function applyMediumIDElectronSelection

inline void applyMediumIDElectronSelection(
    std::vector< HEPUtils::Particle * > & electrons
)

Alias to allow non-const particle vectors.

function applyTightIDElectronSelection

inline void applyTightIDElectronSelection(
    std::vector< const HEPUtils::Particle * > & electrons
)

Note: Numbers digitised from 8 TeV note (ATLAS-CONF-2014-032)

Efficiency function for Tight ID electrons

No delete is necessary, because this should only ever be applied to a copy of the Event Particle* vectors

TodoThis is an exact duplication of the above filtering code – split into a single util fn (in unnamed namespace?) when binned fns are static

function applyTightIDElectronSelection

inline void applyTightIDElectronSelection(
    std::vector< HEPUtils::Particle * > & electrons
)

Alias to allow non-const particle vectors.

function applyElectronIDEfficiency2019

inline void applyElectronIDEfficiency2019(
    std::vector< const HEPUtils::Particle * > & electrons,
    str operating_point
)

Note: These efficiencies are 1D efficiencies so only pT is used

Electron 2019 ID efficiency functions from https://arxiv.org/pdf/1902.04655.pdf

function applyElectronIsolationEfficiency2019

inline void applyElectronIsolationEfficiency2019(
    std::vector< const HEPUtils::Particle * > & electrons,
    str operating_point
)

Note: These efficiencies are 1D efficiencies so only pT is used

Electron 2019 Isolation efficiency functions from https://arxiv.org/pdf/1902.04655.pdf

function applyElectronReconstructionEfficiency2020

inline void applyElectronReconstructionEfficiency2020(
    std::vector< const HEPUtils::Particle * > & electrons,
    str operating_point
)

Note: These efficiencies are 1D efficiencies so only dependence on p_T is used

Electron 2020 reconstruction efficiency functions in 1908.00005 using 81 fb^-1 of Run 2 data

function applyElectronIDEfficiency2020

inline void applyElectronIDEfficiency2020(
    std::vector< const HEPUtils::Particle * > & electrons,
    str operating_point
)

Note: These efficiencies are 1D efficiencies so only dependence on p_T is used

Electron 2020 ID efficiency functions in 1908.00005 using 81 fb^-1 of Run 2 data

function applyElectronIsolationEfficiency2020

inline void applyElectronIsolationEfficiency2020(
    std::vector< const HEPUtils::Particle * > & electrons,
    str operating_point
)

Note: These efficiencies are 1D efficiencies so only dependence on p_T is used

Electron 2020 isolation efficiency functions in 1908.00005 using 81 fb^-1 of Run 2 data

function applyMuonIDEfficiency2020

inline void applyMuonIDEfficiency2020(
    std::vector< const HEPUtils::Particle * > & muons,
    str operating_point
)

Note: These efficiencies are 1D efficiencies so only dependence on p_T is used

Muon 2020 identification efficiency functions from full Run2 dataset released in 2012.00578

function applyMuonIsolationEfficiency2020

inline void applyMuonIsolationEfficiency2020(
    std::vector< const HEPUtils::Particle * > & muons,
    str operating_point
)

Note: These efficiencies are 1D efficiencies so only dependence on p_T is used

Muon 2020 isolation efficiency functions from full Run2 dataset released in 2012.00578


Updated on 2023-06-26 at 21:36:52 +0000