ATLAS Offline Software
eFEXTOBEtTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 
17 #include "AthenaKernel/CLASS_DEF.h"
22 
23 #include <vector>
24 
25 namespace LVL1 {
26 
27  //Doxygen class description below:
37  class eFEXTOBEtTool : public AthAlgTool, virtual public IeFEXTOBEtTool {
38 
39  public:
41  eFEXTOBEtTool(const std::string& type,const std::string& name,const IInterface* parent);
42 
44  virtual StatusCode initialize() override;
46  virtual ~eFEXTOBEtTool();
47 
49  virtual
50  StatusCode getegSums(float etaTOB, float phiTOB, int seed, int UnD,
51  std::vector<unsigned int> &ClusterCellETs,
52  std::vector<unsigned int> &RetaSums,
53  std::vector<unsigned int> &RhadSums,
54  std::vector<unsigned int> &WstotSums) override;
55 
56  virtual
57  StatusCode getTOBCellEnergies(float etaTOB, float phiTOB, std::vector<unsigned int> &ClusterCellETs) override;
58 
59 
61  virtual
62  StatusCode gettauSums(float etaTOB, float phiTOB, int seed, int UnD,
63  std::vector<unsigned int> &RcoreSums,
64  std::vector<unsigned int> &RemSums) override;
65 
67  virtual
68  unsigned int eTowerID(float eta, float phi) const override;
69 
71  virtual
72  void location(float etaTOB, float phiTOB, int& eFEX, int& FPGA, int& fpgaEta) override;
73 
75  private:
76 
77  const float m_dphiTower = M_PI/32;
78  const float m_detaTower = 0.1;
79 
80  ToolHandle<IeFEXtauAlgo> m_eFEXtauAlgoTool {
81  this, "eFEXtauAlgoTool", "LVL1::eFEXtauAlgo",
82  "Tool that runs the eFEX tau algorithm"};
83  ToolHandle<IeFEXegAlgo> m_eFEXegAlgoTool {
84  this, "eFEXegAlgoTool", "LVL1::eFEXegAlgo",
85  "Tool that runs the eFEX e/gamma algorithm"};
86 
87  // Key for input towers
88  SG::ReadHandleKey<LVL1::eTowerContainer> m_eTowerContainerKey {this, "MyETowers", "eTowerContainer", "Input container for eTowers"};
89 
90  };
91 
92 } // end of namespace
93 
94 //CLASS_DEF( LVL1::eFEXTOBEtTool , 32201201 , 1 )
95 
96 
97 #endif
LVL1::eFEXTOBEtTool::m_eFEXtauAlgoTool
ToolHandle< IeFEXtauAlgo > m_eFEXtauAlgoTool
Definition: eFEXTOBEtTool.h:80
LVL1::eFEXTOBEtTool::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: eFEXTOBEtTool.cxx:35
LVL1::eFEXTOBEtTool::eTowerID
virtual unsigned int eTowerID(float eta, float phi) const override
Tool to find eTower identifier from an eta, phi coordinate pair.
Definition: eFEXTOBEtTool.cxx:199
IeFEXegAlgo.h
eTowerContainer.h
M_PI
#define M_PI
Definition: ActiveFraction.h:11
IeFEXtauAlgo.h
LVL1::eFEXTOBEtTool::m_eFEXegAlgoTool
ToolHandle< IeFEXegAlgo > m_eFEXegAlgoTool
Definition: eFEXTOBEtTool.h:83
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
LVL1::eFEXTOBEtTool::m_dphiTower
const float m_dphiTower
Internal data.
Definition: eFEXTOBEtTool.h:77
LVL1::IeFEXTOBEtTool
Definition: IeFEXTOBEtTool.h:26
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
LVL1::eFEXTOBEtTool::getTOBCellEnergies
virtual StatusCode getTOBCellEnergies(float etaTOB, float phiTOB, std::vector< unsigned int > &ClusterCellETs) override
Definition: eFEXTOBEtTool.cxx:91
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::eFEXTOBEtTool::gettauSums
virtual StatusCode gettauSums(float etaTOB, float phiTOB, int seed, int UnD, std::vector< unsigned int > &RcoreSums, std::vector< unsigned int > &RemSums) override
Tool to calculate eTaudiscriminant sums.
Definition: eFEXTOBEtTool.cxx:157
LVL1::eFEXTOBEtTool::location
virtual void location(float etaTOB, float phiTOB, int &eFEX, int &FPGA, int &fpgaEta) override
Tool to find eFEX and FPGA numbers and eta index of a TOB within the FPGA.
Definition: eFEXTOBEtTool.cxx:223
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) override
Tool to calculate eEM discriminant sums.
Definition: eFEXTOBEtTool.cxx:46
LVL1::eFEXTOBEtTool::~eFEXTOBEtTool
virtual ~eFEXTOBEtTool()
Destructor.
Definition: eFEXTOBEtTool.cxx:29
TrigConf::name
Definition: HLTChainList.h:35
LVL1::eFEXTOBEtTool
The eFEXTOBEtTool class is a utility for recalculating the jet discriminant ("isolation") quantities ...
Definition: eFEXTOBEtTool.h:37
LVL1::eFEXTOBEtTool::m_detaTower
const float m_detaTower
Definition: eFEXTOBEtTool.h:78
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IeFEXTOBEtTool.h
FEXReprocessingRun3.eFEX
eFEX
Definition: FEXReprocessingRun3.py:114
LVL1::eFEXTOBEtTool::m_eTowerContainerKey
SG::ReadHandleKey< LVL1::eTowerContainer > m_eTowerContainerKey
Definition: eFEXTOBEtTool.h:88
LVL1::gFEX::FPGA
FPGA
Definition: GTowerHelpers.h:17
AthAlgTool
Definition: AthAlgTool.h:26
CLASS_DEF.h
macros to associate a CLID to a type