ATLAS Offline Software
jFEXLargeRJetAlgo.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 // jFEXLargeRJetAlgo - Algorithm for large R jet Algorithm in jFEX
6 // -------------------
7 // begin : 22 01 2021
8 // email : varsiha.sothilingam@cern.ch
9 //***************************************************************************
10 
11 #ifndef jFEXLargeRJetAlgo_H
12 #define jFEXLargeRJetAlgo_H
13 
18 
19 
20 namespace LVL1 {
21 
22  class jFEXLargeRJetAlgo : public AthAlgTool, virtual public IjFEXLargeRJetAlgo {
23 
24  public:
26  jFEXLargeRJetAlgo(const std::string& type, const std::string& name, const IInterface* parent);
27 
29  virtual StatusCode initialize() override;
30 
32  virtual ~jFEXLargeRJetAlgo();
33 
34  virtual StatusCode safetyTest() override;
35  virtual void setupCluster(int inputTable[15][15]) override;
36  virtual unsigned int getRingET() override;
37  virtual unsigned int getLargeClusterET(unsigned int smallClusterET, unsigned int largeRingET) const override;
38  virtual void setFPGAEnergy(const std::unordered_map<int,std::vector<int> >& et_map) override;
39  virtual bool getLRjetSat() override;
40 
41  protected:
42 
43  private:
44 
45  SG::ReadHandleKey<LVL1::jTowerContainer> m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "Input container for jTowers"};
47  ToolHandle<IjFEXSmallRJetAlgo> m_jFEXSmallRJetAlgoTool {this, "jFEXSmallRJetAlgoTool", "LVL1::jFEXSmallRJetAlgo", "Tool that runs the jFEX Small R Jet algorithm"};
48 
49  bool getTTowerSat(unsigned int TTID );
50  bool m_saturation =false;
51  int m_largeRJetEtRing_IDs[15][15];
52  int getTTowerET(unsigned int TTID ) ;
53  std::unordered_map<int,std::vector<int> > m_map_Etvalues;
54  };
55 
56 
57 }//end of namespace
58 #endif
59 
IjFEXSmallRJetAlgo.h
LVL1::jFEXLargeRJetAlgo::m_map_Etvalues
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition: jFEXLargeRJetAlgo.h:53
LVL1::jFEXLargeRJetAlgo::setFPGAEnergy
virtual void setFPGAEnergy(const std::unordered_map< int, std::vector< int > > &et_map) override
Definition: jFEXLargeRJetAlgo.cxx:106
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
LVL1::jFEXLargeRJetAlgo::m_saturation
bool m_saturation
Definition: jFEXLargeRJetAlgo.h:50
SG::ReadHandleKey< LVL1::jTowerContainer >
LVL1::jFEXLargeRJetAlgo::jFEXLargeRJetAlgo
jFEXLargeRJetAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: jFEXLargeRJetAlgo.cxx:18
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IjFEXLargeRJetAlgo
Definition: IjFEXLargeRJetAlgo.h:21
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LVL1::jFEXLargeRJetAlgo::m_largeRJetEtRing_IDs
int m_largeRJetEtRing_IDs[15][15]
Definition: jFEXLargeRJetAlgo.h:51
LVL1::jFEXLargeRJetAlgo::getLRjetSat
virtual bool getLRjetSat() override
Definition: jFEXLargeRJetAlgo.cxx:64
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::jFEXLargeRJetAlgo::getTTowerET
int getTTowerET(unsigned int TTID)
Definition: jFEXLargeRJetAlgo.cxx:81
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::jFEXLargeRJetAlgo::m_jFEXSmallRJetAlgoTool
ToolHandle< IjFEXSmallRJetAlgo > m_jFEXSmallRJetAlgoTool
Definition: jFEXLargeRJetAlgo.h:47
LVL1::jFEXLargeRJetAlgo::getRingET
virtual unsigned int getRingET() override
Definition: jFEXLargeRJetAlgo.cxx:53
TrigConf::name
Definition: HLTChainList.h:35
LVL1::jFEXLargeRJetAlgo::m_jTowerContainer
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition: jFEXLargeRJetAlgo.h:46
jTowerContainer.h
LVL1::jFEXLargeRJetAlgo::safetyTest
virtual StatusCode safetyTest() override
Definition: jFEXLargeRJetAlgo.cxx:36
LVL1::jFEXLargeRJetAlgo::getLargeClusterET
virtual unsigned int getLargeClusterET(unsigned int smallClusterET, unsigned int largeRingET) const override
Definition: jFEXLargeRJetAlgo.cxx:74
LVL1::jFEXLargeRJetAlgo::~jFEXLargeRJetAlgo
virtual ~jFEXLargeRJetAlgo()
Destructor.
Definition: jFEXLargeRJetAlgo.cxx:25
LVL1::jFEXLargeRJetAlgo::getTTowerSat
bool getTTowerSat(unsigned int TTID)
Definition: jFEXLargeRJetAlgo.cxx:96
LVL1::jFEXLargeRJetAlgo::m_jTowerContainerKey
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition: jFEXLargeRJetAlgo.h:45
AthAlgTool
Definition: AthAlgTool.h:26
IjFEXLargeRJetAlgo.h
LVL1::jFEXLargeRJetAlgo::setupCluster
virtual void setupCluster(int inputTable[15][15]) override
Definition: jFEXLargeRJetAlgo.cxx:47
LVL1::jFEXLargeRJetAlgo::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: jFEXLargeRJetAlgo.cxx:28
LVL1::jFEXLargeRJetAlgo
Definition: jFEXLargeRJetAlgo.h:22