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"
21 
22 #include <vector>
23 
24 namespace LVL1 {
25 
26  //Doxygen class description below:
36  class eFEXTOBEtTool : public AthAlgTool, virtual public IeFEXTOBEtTool {
37 
38  public:
40  eFEXTOBEtTool(const std::string& type,const std::string& name,const IInterface* parent);
41 
43  virtual StatusCode initialize() override;
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) override;
54 
55 
57  virtual
58  StatusCode gettauSums(float etaTOB, float phiTOB, int seed, int UnD,
59  std::vector<unsigned int> &RcoreSums,
60  std::vector<unsigned int> &RemSums) override;
61 
63  virtual
64  unsigned int eTowerID(float eta, float phi) const override;
65 
67  virtual
68  void location(float etaTOB, float phiTOB, int& eFEX, int& FPGA, int& fpgaEta) override;
69 
71  private:
72 
73  const float m_dphiTower = M_PI/32;
74  const float m_detaTower = 0.1;
75 
76  ToolHandle<IeFEXtauAlgo> m_eFEXtauAlgoTool {
77  this, "eFEXtauAlgoTool", "LVL1::eFEXtauAlgo",
78  "Tool that runs the eFEX tau algorithm"};
79  ToolHandle<IeFEXegAlgo> m_eFEXegAlgoTool {
80  this, "eFEXegAlgoTool", "LVL1::eFEXegAlgo",
81  "Tool that runs the eFEX e/gamma algorithm"};
82 
83  };
84 
85 } // end of namespace
86 
87 //CLASS_DEF( LVL1::eFEXTOBEtTool , 32201201 , 1 )
88 
89 
90 #endif
LVL1::eFEXTOBEtTool::m_eFEXtauAlgoTool
ToolHandle< IeFEXtauAlgo > m_eFEXtauAlgoTool
Definition: eFEXTOBEtTool.h:76
LVL1::eFEXTOBEtTool::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: eFEXTOBEtTool.cxx:34
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:132
IeFEXegAlgo.h
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
M_PI
#define M_PI
Definition: ActiveFraction.h:11
IeFEXtauAlgo.h
LVL1::eFEXTOBEtTool::m_eFEXegAlgoTool
ToolHandle< IeFEXegAlgo > m_eFEXegAlgoTool
Definition: eFEXTOBEtTool.h:79
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:20
LVL1::eFEXTOBEtTool::m_dphiTower
const float m_dphiTower
Internal data.
Definition: eFEXTOBEtTool.h:73
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
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:90
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:156
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:44
LVL1::eFEXTOBEtTool::~eFEXTOBEtTool
virtual ~eFEXTOBEtTool()
Destructor.
Definition: eFEXTOBEtTool.cxx:28
TrigConf::name
Definition: HLTChainList.h:35
LVL1::eFEXTOBEtTool
The eFEXTOBEtTool class is a utility for recalculating the jet discriminant ("isolation") quantities ...
Definition: eFEXTOBEtTool.h:36
LVL1::eFEXTOBEtTool::m_detaTower
const float m_detaTower
Definition: eFEXTOBEtTool.h:74
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IeFEXTOBEtTool.h
FEXReprocessingRun3.eFEX
eFEX
Definition: FEXReprocessingRun3.py:114
LVL1::gFEX::FPGA
FPGA
Definition: GTowerHelpers.h:17
AthAlgTool
Definition: AthAlgTool.h:26
CLASS_DEF.h
macros to associate a CLID to a type