ATLAS Offline Software
eFEXTOBEtTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //***************************************************************************
6 // eFEXTOBEtTool.h -
7 // -------------------
8 // begin : 12 12 2022
9 // email : Alan.Watson@CERN.CH
10 // ***************************************************************************/
11 
12 
13 #ifndef eFEXTOBEtTool_H
14 #define eFEXTOBEtTool_H
15 
20 
21 #include <vector>
22 
23 namespace LVL1 {
24  //Doxygen class description below:
33  static const InterfaceID IID_IeFEXTOBEtTool("LVL1::eFEXTOBEtTool", 1, 0);
34 
35  class eFEXTOBEtTool : public AthAlgTool {
36 
37  public:
38  static const InterfaceID& interfaceID() { return IID_IeFEXTOBEtTool; };
40  eFEXTOBEtTool(const std::string& type,const std::string& name,const IInterface* parent);
41 
43  virtual StatusCode initialize();
45  virtual ~eFEXTOBEtTool();
46 
48  virtual
49  StatusCode getegSums(float etaTOB, float phiTOB, int seed, int UnD,
50  std::vector<unsigned int> &ClusterCellETs,
51  std::vector<unsigned int> &RetaSums,
52  std::vector<unsigned int> &RhadSums,
53  std::vector<unsigned int> &WstotSums);
54 
55  virtual
56  StatusCode getTOBCellEnergies(float etaTOB, float phiTOB, std::vector<unsigned int> &ClusterCellETs) const;
57 
58 
60  virtual
61  StatusCode gettauSums(float etaTOB, float phiTOB, int seed, int UnD,
62  std::vector<unsigned int> &RcoreSums,
63  std::vector<unsigned int> &RemSums);
64 
66  virtual
67  unsigned int eTowerID(float eta, float phi) const;
68 
70  virtual
71  void location(float etaTOB, float phiTOB, int& eFEX, int& FPGA, int& fpgaEta) const;
72 
74  private:
75 
76  const float m_dphiTower = M_PI/32;
77  const float m_detaTower = 0.1;
78 
79  ToolHandle<eFEXtauAlgoBase> m_eFEXtauAlgoTool {
80  this, "eFEXtauAlgoTool", "LVL1::eFEXtauAlgo",
81  "Tool that runs the eFEX tau algorithm"};
82  ToolHandle<eFEXegAlgo> m_eFEXegAlgoTool {
83  this, "eFEXegAlgoTool", "LVL1::eFEXegAlgo",
84  "Tool that runs the eFEX e/gamma algorithm"};
85 
86  // Key for input towers
87  SG::ReadHandleKey<LVL1::eTowerContainer> m_eTowerContainerKey {this, "MyETowers", "eTowerContainer", "Input container for eTowers"};
88 
89  };
90 
91 } // end of namespace
92 
93 
94 
95 #endif
eTowerContainer.h
LVL1::eFEXTOBEtTool::m_eFEXtauAlgoTool
ToolHandle< eFEXtauAlgoBase > m_eFEXtauAlgoTool
Definition: eFEXTOBEtTool.h:79
M_PI
#define M_PI
Definition: ActiveFraction.h:11
LVL1::eFEXTOBEtTool::interfaceID
static const InterfaceID & interfaceID()
Definition: eFEXTOBEtTool.h:38
SG::ReadHandleKey< LVL1::eTowerContainer >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::eFEXTOBEtTool::eFEXTOBEtTool
eFEXTOBEtTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: eFEXTOBEtTool.cxx:21
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LVL1::eFEXTOBEtTool::m_dphiTower
const float m_dphiTower
Internal data.
Definition: eFEXTOBEtTool.h:76
LVL1::eFEXTOBEtTool::location
virtual void location(float etaTOB, float phiTOB, int &eFEX, int &FPGA, int &fpgaEta) const
Tool to find eFEX and FPGA numbers and eta index of a TOB within the FPGA.
Definition: eFEXTOBEtTool.cxx:226
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
eFEXegAlgo.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::eFEXTOBEtTool::initialize
virtual StatusCode initialize()
standard Athena-Algorithm method
Definition: eFEXTOBEtTool.cxx:35
LVL1::eFEXTOBEtTool::m_eFEXegAlgoTool
ToolHandle< eFEXegAlgo > m_eFEXegAlgoTool
Definition: eFEXTOBEtTool.h:82
LVL1::eFEXTOBEtTool::~eFEXTOBEtTool
virtual ~eFEXTOBEtTool()
Destructor.
Definition: eFEXTOBEtTool.cxx:29
TrigConf::name
Definition: HLTChainList.h:35
LVL1::eFEXTOBEtTool::getegSums
virtual StatusCode getegSums(float etaTOB, float phiTOB, int seed, int UnD, std::vector< unsigned int > &ClusterCellETs, std::vector< unsigned int > &RetaSums, std::vector< unsigned int > &RhadSums, std::vector< unsigned int > &WstotSums)
Tool to calculate eEM discriminant sums.
Definition: eFEXTOBEtTool.cxx:46
LVL1::eFEXTOBEtTool
Definition: eFEXTOBEtTool.h:35
LVL1::eFEXTOBEtTool::m_detaTower
const float m_detaTower
Definition: eFEXTOBEtTool.h:77
LVL1::eFEXTOBEtTool::eTowerID
virtual unsigned int eTowerID(float eta, float phi) const
Tool to find eTower identifier from an eta, phi coordinate pair.
Definition: eFEXTOBEtTool.cxx:202
eFEXtauAlgoBase.h
FEXReprocessingRun3.eFEX
eFEX
Definition: FEXReprocessingRun3.py:114
LVL1::eFEXTOBEtTool::m_eTowerContainerKey
SG::ReadHandleKey< LVL1::eTowerContainer > m_eTowerContainerKey
Definition: eFEXTOBEtTool.h:87
LVL1::gFEX::FPGA
FPGA
Definition: GTowerHelpers.h:17
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::eFEXTOBEtTool::gettauSums
virtual StatusCode gettauSums(float etaTOB, float phiTOB, int seed, int UnD, std::vector< unsigned int > &RcoreSums, std::vector< unsigned int > &RemSums)
Tool to calculate eTaudiscriminant sums.
Definition: eFEXTOBEtTool.cxx:160
LVL1::eFEXTOBEtTool::getTOBCellEnergies
virtual StatusCode getTOBCellEnergies(float etaTOB, float phiTOB, std::vector< unsigned int > &ClusterCellETs) const
Definition: eFEXTOBEtTool.cxx:91