namespace Gambit::ColliderBit::CMS
CMS-specific efficiency and smearing functions for super fast detector simulation.
Functions
Name | |
---|---|
void | applyElectronTrackingEff(std::vector< const HEPUtils::Particle * > & electrons) Randomly filter the supplied particle list by parameterised electron tracking efficiency. |
void | applyElectronEff(std::vector< const HEPUtils::Particle * > & electrons) |
void | applyMuonTrackEff(std::vector< const HEPUtils::Particle * > & muons) |
void | applyMuonEff(std::vector< const HEPUtils::Particle * > & muons) Randomly filter the supplied particle list by parameterised muon efficiency. |
void | applyTauEfficiency(std::vector< const HEPUtils::Particle * > & taus) Randomly filter the supplied particle list by parameterised tau efficiency. |
void | smearElectronEnergy(std::vector< HEPUtils::Particle * > & electrons) Randomly smear the supplied electrons’ momenta by parameterised resolutions. |
void | smearMuonMomentum(std::vector< HEPUtils::Particle * > & muons) Randomly smear the supplied muons’ momenta by parameterised resolutions. |
void | smearJets(std::vector< HEPUtils::Jet * > & jets) Randomly smear the supplied jets’ momenta by parameterised resolutions. |
void | smearTaus(std::vector< HEPUtils::Particle * > & taus) Randomly smear the supplied hadronic taus’ momenta by parameterised resolutions. |
void | applyCSVv2MediumBtagEff(std::vector< const HEPUtils::Jet * > & bjets) |
void | applyCSVv2MediumBtagEff(std::vector< HEPUtils::Jet * > & bjets) |
void | applyCSVv2LooseBtagEff(std::vector< const HEPUtils::Jet * > & bjets) |
void | applyCSVv2LooseBtagEff(std::vector< HEPUtils::Jet * > & bjets) |
void | applyBtagMisId(double mis_id_prob, std::vector< const HEPUtils::Jet * > & jets, std::vector< const HEPUtils::Jet * > & bjets) Apply user-specified b-tag misidentification rate (flat) |
void | applyBtagMisId(double mis_id_prob, std::vector< HEPUtils::Jet * > & jets, std::vector< HEPUtils::Jet * > & bjets) |
void | applyCSVv2LooseBtagMisId(std::vector< const HEPUtils::Jet * > & jets, std::vector< const HEPUtils::Jet * > & bjets) |
void | applyCSVv2LooseBtagMisId(std::vector< HEPUtils::Jet * > & jets, std::vector< HEPUtils::Jet * > & bjets) |
void | applyCSVv2LooseBtagEffAndMisId(std::vector< const HEPUtils::Jet * > & jets, std::vector< const HEPUtils::Jet * > & bjets) Apply both b-tag efficiency and misidentification rate for CSVv2 loose WP. |
void | applyCSVv2LooseBtagEffAndMisId(std::vector< HEPUtils::Jet * > & jets, std::vector< HEPUtils::Jet * > & bjets) |
void | applyCSVv2MediumBtagMisId(std::vector< const HEPUtils::Jet * > & jets, std::vector< const HEPUtils::Jet * > & bjets) |
void | applyCSVv2MediumBtagMisId(std::vector< HEPUtils::Jet * > & jets, std::vector< HEPUtils::Jet * > & bjets) |
void | applyCSVv2MediumBtagEffAndMisId(std::vector< const HEPUtils::Jet * > & jets, std::vector< const HEPUtils::Jet * > & bjets) Apply both b-tag efficiency and misidentification rate for CSVv2 medium WP. |
void | applyCSVv2MediumBtagEffAndMisId(std::vector< HEPUtils::Jet * > & jets, std::vector< HEPUtils::Jet * > & bjets) |
Functions Documentation
function applyElectronTrackingEff
inline void applyElectronTrackingEff(
std::vector< const HEPUtils::Particle * > & electrons
)
Randomly filter the supplied particle list by parameterised electron tracking efficiency.
function applyElectronEff
inline void applyElectronEff(
std::vector< const HEPUtils::Particle * > & electrons
)
Note:
- Should be applied after the electron energy smearing
- Eff values currently identical to those in ATLAS (AB, 2016-01-24)
Randomly filter the supplied particle list by parameterised electron efficiency
function applyMuonTrackEff
inline void applyMuonTrackEff(
std::vector< const HEPUtils::Particle * > & muons
)
Note: Eff values currently identical to those in ATLAS (AB, 2016-01-24)
Randomly filter the supplied particle list by parameterised muon tracking efficiency
function applyMuonEff
inline void applyMuonEff(
std::vector< const HEPUtils::Particle * > & muons
)
Randomly filter the supplied particle list by parameterised muon efficiency.
function applyTauEfficiency
inline void applyTauEfficiency(
std::vector< const HEPUtils::Particle * > & taus
)
Randomly filter the supplied particle list by parameterised tau efficiency.
Note: No delete, because this should only ever be applied to copies of the Event Particle* vectors in Analysis routines
function smearElectronEnergy
inline void smearElectronEnergy(
std::vector< HEPUtils::Particle * > & electrons
)
Randomly smear the supplied electrons’ momenta by parameterised resolutions.
Function that mimics the DELPHES electron energy resolution. We need to smear E, then recalculate pT, then reset the 4-vector.
function smearMuonMomentum
inline void smearMuonMomentum(
std::vector< HEPUtils::Particle * > & muons
)
Randomly smear the supplied muons’ momenta by parameterised resolutions.
Function that mimics the DELPHES muon momentum resolution. We need to smear pT, then recalculate E, then reset the 4-vector.
function smearJets
inline void smearJets(
std::vector< HEPUtils::Jet * > & jets
)
Randomly smear the supplied jets’ momenta by parameterised resolutions.
Todo: Update cf. Matthias study for ATLAS
Function that mimics the DELPHES jet momentum resolution. We need to smear pT, then recalculate E, then reset the 4-vector
TodoThis is the ATLAS number… I can’t find values for the CMS parameterisation, cf. https://cds.cern.ch/record/1339945/files/JME-10-014-pas.pdfhttps://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideJetResolutionhttps://github.com/adrager/cmssw/blob/CMSSW_7_2_X/CondFormats/JetMETObjects/test/TestCorrections.C
function smearTaus
inline void smearTaus(
std::vector< HEPUtils::Particle * > & taus
)
Randomly smear the supplied hadronic taus’ momenta by parameterised resolutions.
Todo: Update cf. Matthias study for ATLAS
We need to smear pT, then recalculate E, then reset the 4-vector. Same as for jets, but on a vector of particles. (?)
TodoIs this the best way to smear? Should we preserve the mean jet energy, or pT, or direction?
function applyCSVv2MediumBtagEff
inline void applyCSVv2MediumBtagEff(
std::vector< const HEPUtils::Jet * > & bjets
)
Note: Numbers digitized from https://twiki.cern.ch/twiki/pub/CMSPublic/SUSMoriond2017ObjectsEfficiency/btag_eff_CSVv2_DeepCSV.pdf
Apply efficiency function to CSVv2 medium WP b-tagged jets
function applyCSVv2MediumBtagEff
inline void applyCSVv2MediumBtagEff(
std::vector< HEPUtils::Jet * > & bjets
)
function applyCSVv2LooseBtagEff
inline void applyCSVv2LooseBtagEff(
std::vector< const HEPUtils::Jet * > & bjets
)
Note: Numbers digitized from https://twiki.cern.ch/twiki/pub/CMSPublic/SUSMoriond2017ObjectsEfficiency/btag_eff_CSVv2_DeepCSV.pdf
Apply efficiency function to CSVv2 loose WP b-tagged jets
function applyCSVv2LooseBtagEff
inline void applyCSVv2LooseBtagEff(
std::vector< HEPUtils::Jet * > & bjets
)
function applyBtagMisId
inline void applyBtagMisId(
double mis_id_prob,
std::vector< const HEPUtils::Jet * > & jets,
std::vector< const HEPUtils::Jet * > & bjets
)
Apply user-specified b-tag misidentification rate (flat)
function applyBtagMisId
inline void applyBtagMisId(
double mis_id_prob,
std::vector< HEPUtils::Jet * > & jets,
std::vector< HEPUtils::Jet * > & bjets
)
function applyCSVv2LooseBtagMisId
inline void applyCSVv2LooseBtagMisId(
std::vector< const HEPUtils::Jet * > & jets,
std::vector< const HEPUtils::Jet * > & bjets
)
Note: Numbers from Table 2 in https://arxiv.org/pdf/1712.07158.pdf
Apply b-tag misidentification rate for CSVv2 loose WP
function applyCSVv2LooseBtagMisId
inline void applyCSVv2LooseBtagMisId(
std::vector< HEPUtils::Jet * > & jets,
std::vector< HEPUtils::Jet * > & bjets
)
function applyCSVv2LooseBtagEffAndMisId
inline void applyCSVv2LooseBtagEffAndMisId(
std::vector< const HEPUtils::Jet * > & jets,
std::vector< const HEPUtils::Jet * > & bjets
)
Apply both b-tag efficiency and misidentification rate for CSVv2 loose WP.
function applyCSVv2LooseBtagEffAndMisId
inline void applyCSVv2LooseBtagEffAndMisId(
std::vector< HEPUtils::Jet * > & jets,
std::vector< HEPUtils::Jet * > & bjets
)
function applyCSVv2MediumBtagMisId
inline void applyCSVv2MediumBtagMisId(
std::vector< const HEPUtils::Jet * > & jets,
std::vector< const HEPUtils::Jet * > & bjets
)
Note: Numbers from Table 2 in https://arxiv.org/pdf/1712.07158.pdf
Apply b-tag misidentification rate for CSVv2 medium WP
function applyCSVv2MediumBtagMisId
inline void applyCSVv2MediumBtagMisId(
std::vector< HEPUtils::Jet * > & jets,
std::vector< HEPUtils::Jet * > & bjets
)
function applyCSVv2MediumBtagEffAndMisId
inline void applyCSVv2MediumBtagEffAndMisId(
std::vector< const HEPUtils::Jet * > & jets,
std::vector< const HEPUtils::Jet * > & bjets
)
Apply both b-tag efficiency and misidentification rate for CSVv2 medium WP.
function applyCSVv2MediumBtagEffAndMisId
inline void applyCSVv2MediumBtagEffAndMisId(
std::vector< HEPUtils::Jet * > & jets,
std::vector< HEPUtils::Jet * > & bjets
)
Updated on 2022-08-03 at 12:57:56 +0000