ATLAS Offline Software
JetInputElRemovalTool.h
Go to the documentation of this file.
1 //-*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
8 // Author: Clement Camincher (ccaminch@cern.ch)
10 #ifndef JETRECTOOLS_JETINPUTELREMOVALTOOL_H
11 #define JETRECTOOLS_JETINPUTELREMOVALTOOL_H
12 
13 
14 #include "AsgTools/AsgTool.h"
17 
19 
23 
24 #include "xAODEgamma/Electron.h"
26 
27 
28 #include "JetRec/JetRecTool.h"
29 
31 
32 
38 
39 
40 
42  ,virtual public IJetExecuteTool
43 {
44 public:
45 
47  JetInputElRemovalTool(const std::string & t);
49 
51 
52  int execute() const;
53 
55 
56 
57 
58 
71  int fillSelectedClusters(std::vector<const xAOD::Electron*>&selected_el, ConstDataVector<xAOD::CaloClusterContainer> & selected_cl) const ;
72  int fillSelectedClustersInJets(std::vector<const xAOD::Electron*>&selected_el, ConstDataVector<xAOD::CaloClusterContainer> & selected_cl) const ;
73 
74  int fillSelectedTracks(std::vector<const xAOD::Electron*> & selected_el, ConstDataVector<xAOD::TrackParticleContainer> & selected_trk) const ;
75 
76 
77 private:
78 
90  std::vector<const xAOD::Electron*> selectElectron() const;
91 
92 
93  // std::string m_elInputContainer = "Electrons" ; // input name for electrons
94  std::string m_elIDname = "DFCommonElectronsLHTight" ; // remove electrons passing this ID. Ex :DFCommonElectronsLHTight
95  float m_elPt = 25000 ;
96  bool m_useOnlyclInJets=false; //Use only clusters from jets
97 
98  float m_clRemovRadius =0.15; // remove clusters within this radius around electron
99  float m_clEMFrac = 0.8; // remove clusters having EM frac lower than this
100 
105 
106  using ClOutHandleKey =
108 
110 
113 
115 
116 };
117 
118 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
JetInputElRemovalTool::m_clEMFrac
float m_clEMFrac
Definition: JetInputElRemovalTool.h:99
IJetExecuteTool
IJetExecuteTool is a dual-use tool interface for generic tools, i.e. those that behave like algorithm...
Definition: IJetExecuteTool.h:19
JetInputElRemovalTool::m_elIDname
std::string m_elIDname
Definition: JetInputElRemovalTool.h:94
JetInputElRemovalTool::fillSelectedClustersInJets
int fillSelectedClustersInJets(std::vector< const xAOD::Electron * > &selected_el, ConstDataVector< xAOD::CaloClusterContainer > &selected_cl) const
Definition: JetInputElRemovalTool.cxx:254
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey< xAOD::TrackParticleContainer >
JetInputElRemovalTool::m_trkOutputContainer_key
TrkOutHandleKey m_trkOutputContainer_key
Definition: JetInputElRemovalTool.h:114
JetInputElRemovalTool::m_trkInputContainer_key
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trkInputContainer_key
Definition: JetInputElRemovalTool.h:101
JetInputElRemovalTool::selectElectron
std::vector< const xAOD::Electron * > selectElectron() const
Select the electron of the event My select :
Definition: JetInputElRemovalTool.cxx:128
JetInputElRemovalTool::execute
int execute() const
Method to be called for each event.
Definition: JetInputElRemovalTool.cxx:75
SG::WriteHandleKey< ConstDataVector< xAOD::CaloClusterContainer > >
IJetExecuteTool.h
ElectronContainer.h
JetInputElRemovalTool::m_clInputContainer_key
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clInputContainer_key
Definition: JetInputElRemovalTool.h:103
CaloCluster.h
JetInputElRemovalTool::fillSelectedTracks
int fillSelectedTracks(std::vector< const xAOD::Electron * > &selected_el, ConstDataVector< xAOD::TrackParticleContainer > &selected_trk) const
Definition: JetInputElRemovalTool.cxx:332
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
JetInputElRemovalTool::m_clRemovRadius
float m_clRemovRadius
Definition: JetInputElRemovalTool.h:98
JetInputElRemovalTool::fillSelectedClusters
int fillSelectedClusters(std::vector< const xAOD::Electron * > &selected_el, ConstDataVector< xAOD::CaloClusterContainer > &selected_cl) const
: Select TopoClusters away of the electrons may select :
Definition: JetInputElRemovalTool.cxx:172
JetInputElRemovalTool::m_clOutputContainer_key
ClOutHandleKey m_clOutputContainer_key
Definition: JetInputElRemovalTool.h:109
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
JetInputElRemovalTool::JetInputElRemovalTool
JetInputElRemovalTool(const std::string &t)
Definition: JetInputElRemovalTool.cxx:20
JetRecTool.h
JetInputElRemovalTool::m_useOnlyclInJets
bool m_useOnlyclInJets
Definition: JetInputElRemovalTool.h:96
JetInputElRemovalTool::m_jetInputContainer_key
SG::ReadHandleKey< xAOD::JetContainer > m_jetInputContainer_key
Definition: JetInputElRemovalTool.h:102
JetInputElRemovalTool::m_elInputContainer_key
SG::ReadHandleKey< xAOD::EgammaContainer > m_elInputContainer_key
Definition: JetInputElRemovalTool.h:104
JetInputElRemovalTool::finalize
StatusCode finalize()
Definition: JetInputElRemovalTool.cxx:122
TrackParticle.h
JetInputElRemovalTool
Selec electrons and store a vector of cluster free of the electron ones.
Definition: JetInputElRemovalTool.h:43
JetInputElRemovalTool::m_elPt
float m_elPt
Definition: JetInputElRemovalTool.h:95
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition: ConstDataVector.h:76
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
CaloClusterContainer.h
Electron.h
JetInputElRemovalTool::~JetInputElRemovalTool
~JetInputElRemovalTool()
AsgTool.h
JetInputElRemovalTool::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: JetInputElRemovalTool.cxx:60