ATLAS Offline Software
OverlapRemovalASG.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 // $Id: OverlapRemovalIndices.h 643484 2015-02-02 11:23:34Z simon $
6 #ifndef ANALYSISTOP_TOPOBJECTSELECTONTOOLS_OVERLAPREMOVALASG_H
7 #define ANALYSISTOP_TOPOBJECTSELECTONTOOLS_OVERLAPREMOVALASG_H
8 
9 // system include(s):
10 #include <vector>
11 
12 // Framework includes:
13 #include "AsgTools/AnaToolHandle.h"
14 
17 
18 namespace top {
23  public:
31  OverlapRemovalASG(bool dolargeJet = false);
32 
34  virtual ~OverlapRemovalASG();
35 
57  virtual void overlapremoval(const xAOD::PhotonContainer* photon,
59  const xAOD::MuonContainer* mu,
60  const xAOD::TauJetContainer* tau,
61  const xAOD::JetContainer* jet,
62  const xAOD::JetContainer* ljet,
63  std::vector<unsigned int>& goodPhotons,
64  std::vector<unsigned int>& goodElectrons,
65  std::vector<unsigned int>& goodMuons,
66  std::vector<unsigned int>& goodTaus,
67  std::vector<unsigned int>& goodJets,
68  std::vector<unsigned int>& goodLargeRJets,
69  const bool isLooseEvent);
70 
72  virtual void print(std::ostream&) const;
73  protected:
76  virtual void removeObjectOverlap(const xAOD::IParticleContainer* xaod,
77  std::vector<unsigned int>& OUT_vec,
78  const std::string passTopCuts);
79 
80 
84  virtual void removeObject(const xAOD::IParticleContainer* xaod,
85  std::vector<unsigned int>& OUT_vec,
86  const std::string passTopCuts);
87 
88  // ASG overlap removal tool
91 
92  const std::string m_passPreORSelection;
93  const std::string m_passPreORSelectionLoose;
94  const std::string m_overlaps; // true if object overlaps with another
95 
97  };
98 }
99 #endif
asg::AnaToolHandle< ORUtils::IOverlapRemovalTool >
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::OverlapRemovalBase
Definition: OverlapRemovalBase.h:15
top::OverlapRemovalASG::m_overlapRemovalToolLoose
asg::AnaToolHandle< ORUtils::IOverlapRemovalTool > m_overlapRemovalToolLoose
Definition: OverlapRemovalASG.h:90
top::OverlapRemovalASG::removeObjectOverlap
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.
Definition: OverlapRemovalASG.cxx:63
top::OverlapRemovalASG::m_passPreORSelection
const std::string m_passPreORSelection
Definition: OverlapRemovalASG.h:92
top::OverlapRemovalASG::OverlapRemovalASG
OverlapRemovalASG(bool dolargeJet=false)
Sets up ASG Overlap Removal Tool.
Definition: OverlapRemovalASG.cxx:12
top::OverlapRemovalASG::m_passPreORSelectionLoose
const std::string m_passPreORSelectionLoose
Definition: OverlapRemovalASG.h:93
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
top::OverlapRemovalASG::removeObject
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...
Definition: OverlapRemovalASG.cxx:80
OverlapRemovalBase.h
top::OverlapRemovalASG::~OverlapRemovalASG
virtual ~OverlapRemovalASG()
does nothing
Definition: OverlapRemovalASG.cxx:23
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
AnaToolHandle.h
IOverlapRemovalTool.h
top::OverlapRemovalASG::print
virtual void print(std::ostream &) const
Print something useful to the screen.
Definition: OverlapRemovalASG.cxx:97
top::OverlapRemovalASG::m_doLargeJet
bool m_doLargeJet
Definition: OverlapRemovalASG.h:96
xAOD::photon
@ photon
Definition: TrackingPrimitives.h:199
top::OverlapRemovalASG::m_overlaps
const std::string m_overlaps
Definition: OverlapRemovalASG.h:94
top::OverlapRemovalASG::m_overlapRemovalTool
asg::AnaToolHandle< ORUtils::IOverlapRemovalTool > m_overlapRemovalTool
Definition: OverlapRemovalASG.h:89
top::OverlapRemovalASG
The Harmonization Group recommended object overlap removal.
Definition: OverlapRemovalASG.h:22
top::OverlapRemovalASG::overlapremoval
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.
Definition: OverlapRemovalASG.cxx:26
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53