ATLAS Offline Software
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 
17 #include "AthenaKernel/CLASS_DEF.h"
19 
24 #include "StoreGate/StoreGateSvc.h"
26 
27 
28 namespace 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 
54 protected:
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;
64  int m_SumlowEta =0;
65  bool m_SumlowEtaSat =0;
66  int m_SumhighEta=0;
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
LVL1::jFEXsumETAlgo::reset
virtual StatusCode reset() override
Definition: jFEXsumETAlgo.cxx:52
LVL1::jFEXsumETAlgo::m_SumETSat
std::vector< bool > m_SumETSat
Definition: jFEXsumETAlgo.h:63
LVL1::FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width
constexpr static int jFEX_thin_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:26
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
LVL1::jFEXsumETAlgo::~jFEXsumETAlgo
virtual ~jFEXsumETAlgo()
Destructor.
Definition: jFEXsumETAlgo.cxx:32
bin
Definition: BinsDiffFromStripMedian.h:43
LVL1::jFEXsumETAlgo::m_FPGA
std::vector< std::vector< int > > m_FPGA
Definition: jFEXsumETAlgo.h:59
LVL1::jFEXsumETAlgo::m_map_Etvalues
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition: jFEXsumETAlgo.h:69
LVL1::FEXAlgoSpaceDefs::jFEX_algoSpace_height
constexpr static int jFEX_algoSpace_height
Definition: FEXAlgoSpaceDefs.h:27
SG::ReadHandleKey< LVL1::jTowerContainer >
LVL1::jFEXsumETAlgo::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: jFEXsumETAlgo.cxx:35
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::jFEXsumETAlgo::setup
virtual void setup(int FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width]) override
Definition: jFEXsumETAlgo.cxx:60
AthAlgorithm.h
LVL1::jFEXsumETAlgo::getETupperEta
virtual std::tuple< int, bool > getETupperEta(uint bin) override
Definition: jFEXsumETAlgo.cxx:164
LVL1::jFEXsumETAlgo::getETlowerEta
virtual std::tuple< int, bool > getETlowerEta(uint bin) override
Definition: jFEXsumETAlgo.cxx:150
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
LVL1::jFEXsumETAlgo::m_jTowerContainer
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition: jFEXsumETAlgo.h:58
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::jFEXsumETAlgo::getTTowerET
virtual int getTTowerET(unsigned int TTID=0) override
Definition: jFEXsumETAlgo.cxx:188
LVL1::FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width
constexpr static int jFEX_wide_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:25
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCell_SuperCell_ID.h
Helper class for offline supercell identifiers.
LVL1::jFEXsumETAlgo::setFPGAEnergy
virtual void setFPGAEnergy(std::unordered_map< int, std::vector< int > > et_map) override
Definition: jFEXsumETAlgo.cxx:202
LVL1::jFEXsumETAlgo::m_FPGA_fcal
std::vector< std::vector< int > > m_FPGA_fcal
Definition: jFEXsumETAlgo.h:61
FEXAlgoSpaceDefs.h
LVL1::jFEXsumETAlgo::m_SumhighEta
int m_SumhighEta
Definition: jFEXsumETAlgo.h:66
TrigConf::name
Definition: HLTChainList.h:35
jTowerContainer.h
LVL1::jFEXsumETAlgo::m_SumET
std::vector< int > m_SumET
Definition: jFEXsumETAlgo.h:62
LVL1::jFEXsumETAlgo::m_SumlowEtaSat
bool m_SumlowEtaSat
Definition: jFEXsumETAlgo.h:65
LVL1::jFEXsumETAlgo::jFEXsumETAlgo
jFEXsumETAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: jFEXsumETAlgo.cxx:27
LVL1::jFEXsumETAlgo::m_SumlowEta
int m_SumlowEta
Definition: jFEXsumETAlgo.h:64
CaloCellContainer.h
LVL1::jFEXsumETAlgo::buildFWDSumET
virtual void buildFWDSumET() override
Definition: jFEXsumETAlgo.cxx:115
LVL1::jFEXsumETAlgo
Definition: jFEXsumETAlgo.h:30
LVL1::jFEXsumETAlgo::m_SumhighEtaSat
bool m_SumhighEtaSat
Definition: jFEXsumETAlgo.h:67
LVL1::jFEXsumETAlgo::m_FPGA_phi02
std::vector< std::vector< int > > m_FPGA_phi02
Definition: jFEXsumETAlgo.h:60
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1::jFEXsumETAlgo::getTTowerSat
bool getTTowerSat(unsigned int TTID)
Definition: jFEXsumETAlgo.cxx:178
CaloIdManager.h
LVL1::gFEX::FPGA
FPGA
Definition: GTowerHelpers.h:17
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::jFEXsumETAlgo::m_jTowerContainerKey
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition: jFEXsumETAlgo.h:57
StoreGateSvc.h
CLASS_DEF.h
macros to associate a CLID to a type
LVL1::IjFEXsumETAlgo
Definition: IjFEXsumETAlgo.h:22
IjFEXsumETAlgo.h
LVL1::jFEXsumETAlgo::safetyTest
virtual StatusCode safetyTest() override
Definition: jFEXsumETAlgo.cxx:41
LVL1::jFEXsumETAlgo::buildBarrelSumET
virtual void buildBarrelSumET() override
Definition: jFEXsumETAlgo.cxx:96