ATLAS Offline Software
Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 //
5 // Algorithm to select the abbreviated list of eEMs , no order is applied
6 //
7 #include "eEmSelect.h"
8 
10 #include "../IO/eEmTOBArray.h"
11 #include "../IO/GenericTOBArray.h"
12 #include "isocut.h"
13 
14 #include <sstream>
15 
16 namespace GlobalSim {
17  eEmSelect::eEmSelect(const std::string& name,
18  unsigned int InputWidth,
19  unsigned int MinET,
20  unsigned int REtaMin,
21  unsigned int RHadMin,
22  unsigned int WsTotMin):
23 
24  m_name{name},
25  m_InputWidth{InputWidth},
26  m_MinET{MinET},
27  m_REtaMin{REtaMin},
28  m_RHadMin{RHadMin},
29  m_WsTotMin{WsTotMin} {
30  }
31 
33 
35  GenericTOBArray & output) const {
36 
37  std::size_t neems{0};
38  for (const auto& eem : eems) {
39  if (eem->Et() <= m_MinET) {continue;}
40  if (!isocut(m_REtaMin, eem-> Reta())) {continue;}
41  if (!isocut(m_RHadMin, eem-> Rhad())) {continue;}
42  if (!isocut(m_WsTotMin, eem-> Wstot())) {continue;}
43 
44  const TCS::GenericTOB gtob(*eem);
45  output.push_back(gtob);
46  if (++neems > m_InputWidth) {break;}
47  }
48 
49  return StatusCode::SUCCESS;
50  }
51 
52  std::string eEmSelect::toString() const {
53  std::stringstream ss;
54  ss << "eEmSelect. alg_name: " << m_name << '\n'
55  << " max objects: " << m_InputWidth
56  << " minET " << m_MinET
57  << " REtaMin " << m_REtaMin
58  << " RHadMin " << m_RHadMin
59  << " WsTotMin " << m_WsTotMin;
60 
61  return ss.str();
62  }
63 }
64 
GlobalSim::eEmSelect::m_WsTotMin
unsigned int m_WsTotMin
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.h:42
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
xAOD::EgammaParameters::Reta
@ Reta
e237/e277
Definition: EgammaEnums.h:154
GlobalSim::eEmSelect::m_REtaMin
unsigned int m_REtaMin
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.h:40
GlobalSim::eEmSelect::m_MinET
unsigned int m_MinET
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.h:39
GlobalSim::eEmSelect::m_name
std::string m_name
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.h:37
GlobalSim::eEmTOBArray
Definition: Global/GlobalSimulation/src/IO/eEmTOBArray.h:20
GlobalSim
AlgTool to obtain a selection of eFex RoIs read in from the event store.
Definition: dump.h:8
GlobalSim::eEmSelect::~eEmSelect
virtual ~eEmSelect()
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.cxx:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GlobalSim::eEmSelect::m_RHadMin
unsigned int m_RHadMin
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.h:41
GlobalSim::GenericTOBArray
Definition: GenericTOBArray.h:32
GlobalSim::eEmSelect::eEmSelect
eEmSelect(const std::string &name, unsigned int InputWidth, unsigned int MinET, unsigned int REtaMin, unsigned int RHadMin, unsigned int WsTotMin)
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.cxx:17
merge.output
output
Definition: merge.py:17
TCS::GenericTOB
Definition: GenericTOB.h:35
GlobalSim::eEmSelect::run
StatusCode run(const eEmTOBArray &input, GenericTOBArray &output) const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.cxx:34
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
GenericTOB.h
isocut.h
eEmSelect.h
GlobalSim::eEmSelect::toString
std::string toString() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.cxx:52
GlobalSim::eEmSelect::m_InputWidth
unsigned int m_InputWidth
Definition: Global/GlobalSimulation/src/L1TopoAlgs/eEmSelect.h:38
xAOD::EgammaParameters::Rhad
@ Rhad
ethad/et
Definition: EgammaEnums.h:160
GlobalSim::isocut
bool isocut(const std::string &threshold, const unsigned int bit)
Definition: isocut.cxx:10