The Harmonization Group recommended object overlap removal.
More...
#include <OverlapRemovalASG.h>
|
| OverlapRemovalASG (bool dolargeJet=false) |
| Sets up ASG Overlap Removal Tool. More...
|
|
virtual | ~OverlapRemovalASG () |
| does nothing More...
|
|
virtual void | overlapremoval (const xAOD::PhotonContainer *photon, const xAOD::ElectronContainer *el, const xAOD::MuonContainer *mu, const xAOD::TauJetContainer *tau, const xAOD::JetContainer *jet, const xAOD::JetContainer *ljet, std::vector< unsigned int > &goodPhotons, std::vector< unsigned int > &goodElectrons, std::vector< unsigned int > &goodMuons, std::vector< unsigned int > &goodTaus, std::vector< unsigned int > &goodJets, std::vector< unsigned int > &goodLargeRJets, const bool isLooseEvent) |
| Perform the "ASG standard" overlap removal. More...
|
|
virtual void | print (std::ostream &) const |
| Print something useful to the screen. More...
|
|
virtual bool | overlapsEl (std::vector< unsigned int > &) |
|
virtual bool | overlapsMu (std::vector< unsigned int > &) |
|
The Harmonization Group recommended object overlap removal.
Definition at line 22 of file OverlapRemovalASG.h.
◆ OverlapRemovalASG()
top::OverlapRemovalASG::OverlapRemovalASG |
( |
bool |
dolargeJet = false | ) |
|
Sets up ASG Overlap Removal Tool.
- Parameters
-
dolargeJet | Enables OR also with large-R jets This is false by default becaause large-R jets are a bit special. |
Definition at line 12 of file OverlapRemovalASG.cxx.
◆ ~OverlapRemovalASG()
top::OverlapRemovalASG::~OverlapRemovalASG |
( |
| ) |
|
|
virtual |
◆ overlapremoval()
void top::OverlapRemovalASG::overlapremoval |
( |
const xAOD::PhotonContainer * |
photon, |
|
|
const xAOD::ElectronContainer * |
el, |
|
|
const xAOD::MuonContainer * |
mu, |
|
|
const xAOD::TauJetContainer * |
tau, |
|
|
const xAOD::JetContainer * |
jet, |
|
|
const xAOD::JetContainer * |
ljet, |
|
|
std::vector< unsigned int > & |
goodPhotons, |
|
|
std::vector< unsigned int > & |
goodElectrons, |
|
|
std::vector< unsigned int > & |
goodMuons, |
|
|
std::vector< unsigned int > & |
goodTaus, |
|
|
std::vector< unsigned int > & |
goodJets, |
|
|
std::vector< unsigned int > & |
goodLargeRJets, |
|
|
const bool |
isLooseEvent |
|
) |
| |
|
virtual |
Perform the "ASG standard" overlap removal.
This runs for every event.
- Parameters
-
photon | All the photons in the event |
el | All the electrons (even bad ones). Good ones are decorated with passPreORSelection = 1. |
mu | All the muons in the event |
tau | All the taus in the event |
jet | All the jets in the event |
ljet | All the large-R jets in the event |
goodPhotons | The indices of the photons to keep |
goodElectrons | The indices of the electrons to keep (e.g. the 0th, 2nd) |
goodMuons | The indices of the muons to keep |
goodTaus | The indices of the taus to keep |
goodJets | The indices of the jets to keep |
goodLargeRJets | The indices of the large-R jets to keep |
Implements top::OverlapRemovalBase.
Definition at line 26 of file OverlapRemovalASG.cxx.
39 std::string passTopCuts(
"");
42 ljet),
"Failed to remove overlaps");
48 ljet),
"Failed to remove overlaps");
◆ overlapsEl()
virtual bool top::OverlapRemovalBase::overlapsEl |
( |
std::vector< unsigned int > & |
| ) |
|
|
inlinevirtualinherited |
◆ overlapsMu()
virtual bool top::OverlapRemovalBase::overlapsMu |
( |
std::vector< unsigned int > & |
| ) |
|
|
inlinevirtualinherited |
◆ print()
void top::OverlapRemovalASG::print |
( |
std::ostream & |
os | ) |
const |
|
virtual |
Print something useful to the screen.
Implements top::OverlapRemovalBase.
Definition at line 97 of file OverlapRemovalASG.cxx.
98 os <<
"OverlapRemovalASG\n";
99 os <<
" (1) remove electron that sharing track with muon\n";
100 os <<
" (2) remove single jet closest to an electron (within dR < 0.2)\n";
101 os <<
" (3) remove electron with dR < 0.4 of jet\n";
102 os <<
" (4) remove muon within dR < 0.4 of any jet\n";
◆ removeObject()
For a generic container of type DataVector, fill a vector of ints for objects we want to keep This doesn't check for overlap removal (Large R jets)
Definition at line 80 of file OverlapRemovalASG.cxx.
85 unsigned int index(0);
88 for (
auto x : *xaod) {
89 if (
x->auxdataConst<
char >(passTopCuts) == 1) {
90 OUT_vec.push_back(
index);
◆ removeObjectOverlap()
For a generic container of type DataVector, fill a vector of ints for objects we want to keep.
Definition at line 63 of file OverlapRemovalASG.cxx.
68 unsigned int index(0);
71 for (
auto x : *xaod) {
72 if (
x->auxdataConst<
char >(passTopCuts) == 1 &&
x->auxdataConst<
char >(
m_overlaps) == 0) {
73 OUT_vec.push_back(
index);
◆ m_doLargeJet
bool top::OverlapRemovalASG::m_doLargeJet |
|
protected |
◆ m_overlapRemovalTool
◆ m_overlapRemovalToolLoose
◆ m_overlaps
const std::string top::OverlapRemovalASG::m_overlaps |
|
protected |
◆ m_passPreORSelection
const std::string top::OverlapRemovalASG::m_passPreORSelection |
|
protected |
◆ m_passPreORSelectionLoose
const std::string top::OverlapRemovalASG::m_passPreORSelectionLoose |
|
protected |
The documentation for this class was generated from the following files:
virtual void removeObjectOverlap(const xAOD::IParticleContainer *xaod, std::vector< unsigned int > &OUT_vec, const std::string passTopCuts)
For a generic container of type DataVector, fill a vector of ints for objects we want to keep.
virtual void removeObject(const xAOD::IParticleContainer *xaod, std::vector< unsigned int > &OUT_vec, const std::string passTopCuts)
For a generic container of type DataVector, fill a vector of ints for objects we want to keep This do...