A class to perform the overlap removal. More...
#include <OverlapTools.h>
Public Member Functions | |
OverlapTools () | |
Default ctor. | |
virtual void | performOverlap (ElectronVector &electrons, MuonVector &muons, TauVector &taus, JetVector &jets) |
dtor (for now we don't have anything to delete) | |
virtual void | j_e_overlap (ElectronVector &electrons, JetVector &jets, double dR) |
remove jet from electron | |
virtual void | e_j_overlap (ElectronVector &electrons, JetVector &jets, double dR) |
remove electron from jet | |
virtual void | m_j_overlap (MuonVector &muons, JetVector &jets, double dR) |
remove muon from jet | |
virtual void | e_m_overlap (ElectronVector &electrons, MuonVector &muons, double dR) |
remove electron from muon | |
virtual void | e_e_overlap (ElectronVector &electrons, double dR) |
remove electron from electron | |
virtual void | m_m_overlap (MuonVector &muons, double dR) |
remove muon from muon | |
virtual void | t_e_overlap (TauVector &taus, ElectronVector &electrons, double dR) |
remove tau from electron | |
virtual void | t_m_overlap (TauVector &taus, MuonVector &muons, double dR) |
remove tau from muon | |
virtual void | j_t_overlap (TauVector &taus, JetVector &jets, double dR) |
virtual void | removeNonisolatedLeptons (ElectronVector &electrons, MuonVector &muons) |
remove non-isolated leptons from the input collections | |
OverlapTools & | setElectronIsolation (Isolation eleIso) |
electron isolation used in leptonPassesIsolation() | |
OverlapTools & | setMuonIsolation (Isolation muIso) |
muon isolation used in leptonPassesIsolation() | |
bool | leptonPassesIsolation (const Lepton *lep, const Isolation &iso) |
used within removeNonisolatedLeptons() | |
Static Public Member Functions | |
static OverlapTools * | build (const AnalysisType &a, bool verbose) |
provide analysis-specific OR tool (or vanilla one if analysis is unknown) | |
Protected Attributes | |
Isolation | m_electronIsolation |
Isolation | m_muonIsolation |
bool | m_verbose |
A class to perform the overlap removal.
The generic OverlapTools implements the generic definitions from https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/SusyObjectDefinitionsr2013TeV#Overlap_Removals
Analysis-dependent criteria should be implemented in your analysis-specific class inheriting from Overlap_Removals.
The analysis-specific tool should be instantiated with Overlap_Removals::build().
For details on the design and implementation of this class, see the documentation for JetSelector.
daniel.joseph.antrim@cern.ch davide.gerbaudo@gmail.com, Sep 2015
OverlapTools * Susy::OverlapTools::build | ( | const AnalysisType & | a, |
bool | verbose | ||
) | [static] |
provide analysis-specific OR tool (or vanilla one if analysis is unknown)
The user owns the selector (i.e. should use std::shared_ptr or delete it when done with it).
void Susy::OverlapTools::j_t_overlap | ( | TauVector & | taus, |
JetVector & | jets, | ||
double | dR | ||
) | [virtual] |
remove jet from tau
void Susy::OverlapTools::performOverlap | ( | ElectronVector & | electrons, |
MuonVector & | muons, | ||
TauVector & | taus, | ||
JetVector & | jets | ||
) | [virtual] |
dtor (for now we don't have anything to delete)
includes several of the member functions below.
Following the rel20/13TeV prescription described in: https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/SusyObjectDefinitionsr2013TeV#Overlap_Removals
void Susy::OverlapTools::removeNonisolatedLeptons | ( | ElectronVector & | electrons, |
MuonVector & | muons | ||
) | [virtual] |
remove non-isolated leptons from the input collections
Some analyses might want to perform the overlap removal using isolated leptons only. In this case, they need to call this function within performOverlap() before calling all the a_b_overlap() functions. They also need to call setElectronIsolation() and setMuonIsolation() beforehand, with the values that can be retrieved from the ElectronSelector and MuonSelector.