ATLAS Offline Software
Loading...
Searching...
No Matches
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
23namespace 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
#define M_PI
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
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.
SG::ReadHandleKey< LVL1::eTowerContainer > m_eTowerContainerKey
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.
virtual StatusCode initialize()
standard Athena-Algorithm method
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.
const float m_dphiTower
Internal data.
virtual ~eFEXTOBEtTool()
Destructor.
ToolHandle< eFEXegAlgo > m_eFEXegAlgoTool
static const InterfaceID & interfaceID()
eFEXTOBEtTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
virtual unsigned int eTowerID(float eta, float phi) const
Tool to find eTower identifier from an eta, phi coordinate pair.
ToolHandle< eFEXtauAlgoBase > m_eFEXtauAlgoTool
virtual StatusCode getTOBCellEnergies(float etaTOB, float phiTOB, std::vector< unsigned int > &ClusterCellETs) const
const float m_detaTower
Property holding a SG store/key/clid from which a ReadHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IeFEXTOBEtTool("LVL1::eFEXTOBEtTool", 1, 0)
The eFEXTOBEtTool class is a utility for recalculating the jet discriminant ("isolation") quantities ...