ATLAS Offline Software
PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef TOPOBJECTSELECTIONTOOLS_PHOTON_H_
6 #define TOPOBJECTSELECTIONTOOLS_PHOTON_H_
7 
8 #include <memory>
9 #include <string>
10 
13 
16 #include "AsgTools/AnaToolHandle.h"
17 namespace top {
24  public:
33  Photon(double ptcut, double etamax, IsolationBase* isolation);
34 
45  Photon(double ptcut, double etamax,
46  const std::string& tightID,
47  const std::string& looseID,
48  IsolationBase* isolation);
49 
58  bool passSelection(const xAOD::Photon& ph) const override;
59 
66  bool passSelectionLoose(const xAOD::Photon& ph) const override;
67 
75  void print(std::ostream&) const override;
76  private:
84  const std::string& photon_selection) const;
85 
86  std::string getConfigFile(int operatingPoint);
87 
88  // minimum pT cut to apply
89  double m_ptcut;
90 
91  // max eta cut
92  double m_etamax;
93 
94  std::string m_photon_selection;
96 
97  // Proper tool to select photons.
98  // ToolHandle<AsgPhotonIsEMSelector> m_photonTightIsEMSelector;
99  // ToolHandle<AsgPhotonIsEMSelector> m_photonMediumIsEMSelector;
100  // ToolHandle<AsgPhotonIsEMSelector> m_photonLooseIsEMSelector;
101 
102  // The isolation tool, or nullptr if we don't want isolation
103  std::unique_ptr<top::IsolationBase> m_isolation;
104 
105  // Removing photon clusters from EMEC bad HV regions
106  // https://twiki.cern.ch/twiki/bin/view/AtlasProtected/EGammaIdentificationRun2#Removal_of_Electron_Photon_clust
108  };
109 } // namespace top
110 #endif // TOPOBJECTSELECTIONTOOLS_PHOTON_H_
top::Photon::m_isolation
std::unique_ptr< top::IsolationBase > m_isolation
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h:103
top::Photon::m_etamax
double m_etamax
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h:92
asg::AnaToolHandle< IAsgDeadHVCellRemovalTool >
top::Photon::m_photon_selection
std::string m_photon_selection
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h:94
top::Photon::getConfigFile
std::string getConfigFile(int operatingPoint)
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::Photon::print
void print(std::ostream &) const override
Print some useful information about the photon selection.
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/Root/Photon.cxx:103
Pythia8_A14_NNPDF23LO_forMGHT_EvtGen.ptcut
float ptcut
Definition: Pythia8_A14_NNPDF23LO_forMGHT_EvtGen.py:9
IsolationTools.h
top::PhotonSelectionBase
Base class for implementing an Photon selection.
Definition: PhotonSelectionBase.h:20
IAsgDeadHVCellRemovalTool.h
PhotonSelectionBase.h
AnaToolHandle.h
top::Photon::passSelectionLoose
bool passSelectionLoose(const xAOD::Photon &ph) const override
The loose selection.
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/Root/Photon.cxx:55
top::Photon::m_deadHVTool
asg::AnaToolHandle< IAsgDeadHVCellRemovalTool > m_deadHVTool
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h:107
top::Photon
Photon selection for top analyses.
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h:23
AsgPhotonIsEMSelector.h
top::Photon::m_ptcut
double m_ptcut
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h:89
top::Photon::passSelectionNoIsolation
bool passSelectionNoIsolation(const xAOD::Photon &ph, const std::string &photon_selection) const
Do all the cuts except for the isolation.
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/Root/Photon.cxx:63
xAOD::Photon_v1
Definition: Photon_v1.h:37
top::IsolationBase
A common base for implementing isolation cuts.
Definition: IsolationTools.h:16
top::Photon::Photon
Photon(double ptcut, double etamax, IsolationBase *isolation)
Class to help select good photons.
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/Root/Photon.cxx:17
top::Photon::m_loose_photon_selection
std::string m_loose_photon_selection
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/TopObjectSelectionTools/Photon.h:95
top::Photon::passSelection
bool passSelection(const xAOD::Photon &ph) const override
The cuts to select good photons for your analysis should be implemented in here.
Definition: PhysicsAnalysis/TopPhys/xAOD/TopObjectSelectionTools/Root/Photon.cxx:47