ATLAS Offline Software
Loading...
Searching...
No Matches
jFEXsumETAlgo.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// jFEXsumETAlgo - Algorithm for Sum Et Algorithm in jFEX
6// -------------------
7// begin : 12 05 2021
8// email : Sergi.Rodriguez@cern.ch
9//***************************************************************************
10
11#ifndef jFEXsumETAlgo_H
12#define jFEXsumETAlgo_H
13
14
19
26
27
28namespace LVL1 {
29
30 class jFEXsumETAlgo : public AthAlgTool, virtual public IjFEXsumETAlgo{
31
32 public:
34 jFEXsumETAlgo(const std::string& type, const std::string& name, const IInterface* parent);
35
37 virtual StatusCode initialize() override;
38 virtual StatusCode reset() override;
39
41 virtual ~jFEXsumETAlgo();
42
43 virtual StatusCode safetyTest() override;
46 virtual int getTTowerET(unsigned int TTID=0) override; // arguments 2,2 to get the central TT from m_TTwindow[5][5]
47
48 virtual void buildBarrelSumET() override;
49 virtual void buildFWDSumET() override;
50 virtual std::tuple<int, bool> getETlowerEta(uint bin) override;
51 virtual std::tuple<int, bool> getETupperEta(uint bin) override;
52 virtual void setFPGAEnergy(std::unordered_map<int,std::vector<int> > et_map) override;
53
54protected:
55
56 private:
57 SG::ReadHandleKey<LVL1::jTowerContainer> m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "Input container for jTowers"};
59 std::vector<std::vector<int>> m_FPGA;
60 std::vector<std::vector<int>> m_FPGA_phi02;
61 std::vector<std::vector<int>> m_FPGA_fcal;
62 std::vector<int> m_SumET;
63 std::vector<bool> m_SumETSat;
68
69 std::unordered_map<int,std::vector<int> > m_map_Etvalues;
70
71 bool getTTowerSat(unsigned int TTID );
72
73 };
74
75
76
77}//end of namespace
78
79
80//CLASS_DEF( LVL1::jFEXsumETAlgo , 121222945 , 1 )
81
82#endif
Helper class for offline supercell identifiers.
macros to associate a CLID to a type
unsigned int uint
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
static constexpr int jFEX_wide_algoSpace_width
static constexpr int jFEX_thin_algoSpace_width
static constexpr int jFEX_algoSpace_height
std::unordered_map< int, std::vector< int > > m_map_Etvalues
std::vector< bool > m_SumETSat
virtual StatusCode safetyTest() override
virtual ~jFEXsumETAlgo()
Destructor.
std::vector< std::vector< int > > m_FPGA_fcal
virtual StatusCode reset() override
virtual void setFPGAEnergy(std::unordered_map< int, std::vector< int > > et_map) override
virtual void buildBarrelSumET() override
jFEXsumETAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
virtual std::tuple< int, bool > getETupperEta(uint bin) override
virtual void buildFWDSumET() override
std::vector< std::vector< int > > m_FPGA_phi02
std::vector< int > m_SumET
virtual void setup(int FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width]) override
std::vector< std::vector< int > > m_FPGA
virtual StatusCode initialize() override
standard Athena-Algorithm method
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
virtual std::tuple< int, bool > getETlowerEta(uint bin) override
bool getTTowerSat(unsigned int TTID)
SG::ReadHandle< jTowerContainer > m_jTowerContainer
virtual int getTTowerET(unsigned int TTID=0) override
Property holding a SG store/key/clid from which a ReadHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...