ATLAS Offline Software
jFEXLargeRJetAlgo.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 // 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 
15 #include "AthenaKernel/CLASS_DEF.h"
19 
24 #include "StoreGate/StoreGateSvc.h"
25 
26 
27 namespace LVL1 {
28 
29  class jFEXLargeRJetAlgo : public AthAlgTool, virtual public IjFEXLargeRJetAlgo {
30 
31  public:
33  jFEXLargeRJetAlgo(const std::string& type, const std::string& name, const IInterface* parent);
34 
36  virtual StatusCode initialize() override;
37 
39  virtual ~jFEXLargeRJetAlgo();
40 
41  virtual StatusCode safetyTest() override;
42  virtual void setupCluster(int inputTable[15][15]) override;
43  virtual unsigned int getRingET() override;
44  virtual unsigned int getLargeClusterET(unsigned int smallClusterET, unsigned int largeRingET) override;
45  virtual void setFPGAEnergy(std::unordered_map<int,std::vector<int> > et_map) override;
46  virtual bool getLRjetSat() override;
47 
48  protected:
49 
50  private:
51 
52  SG::ReadHandleKey<LVL1::jTowerContainer> m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "Input container for jTowers"};
54  ToolHandle<IjFEXSmallRJetAlgo> m_jFEXSmallRJetAlgoTool {this, "jFEXSmallRJetAlgoTool", "LVL1::jFEXSmallRJetAlgo", "Tool that runs the jFEX Small R Jet algorithm"};
55 
56  bool getTTowerSat(unsigned int TTID );
57  bool m_saturation =false;
58  int m_largeRJetEtRing_IDs[15][15];
59  int getTTowerET(unsigned int TTID ) ;
60  std::unordered_map<int,std::vector<int> > m_map_Etvalues;
61  };
62 
63 
64 }//end of namespace
65 #endif
66 
IjFEXSmallRJetAlgo.h
LVL1::jFEXLargeRJetAlgo::setFPGAEnergy
virtual void setFPGAEnergy(std::unordered_map< int, std::vector< int > > et_map) override
Definition: jFEXLargeRJetAlgo.cxx:112
LVL1::jFEXLargeRJetAlgo::m_map_Etvalues
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition: jFEXLargeRJetAlgo.h:60
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
LVL1::jFEXLargeRJetAlgo::m_saturation
bool m_saturation
Definition: jFEXLargeRJetAlgo.h:57
SG::ReadHandleKey< LVL1::jTowerContainer >
LVL1::jFEXLargeRJetAlgo::jFEXLargeRJetAlgo
jFEXLargeRJetAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: jFEXLargeRJetAlgo.cxx:24
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IjFEXLargeRJetAlgo
Definition: IjFEXLargeRJetAlgo.h:21
AthAlgorithm.h
LVL1::jFEXLargeRJetAlgo::m_largeRJetEtRing_IDs
int m_largeRJetEtRing_IDs[15][15]
Definition: jFEXLargeRJetAlgo.h:58
LVL1::jFEXLargeRJetAlgo::getLRjetSat
virtual bool getLRjetSat() override
Definition: jFEXLargeRJetAlgo.cxx:70
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:87
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCell_SuperCell_ID.h
Helper class for offline supercell identifiers.
LVL1::jFEXLargeRJetAlgo::m_jFEXSmallRJetAlgoTool
ToolHandle< IjFEXSmallRJetAlgo > m_jFEXSmallRJetAlgoTool
Definition: jFEXLargeRJetAlgo.h:54
LVL1::jFEXLargeRJetAlgo::getRingET
virtual unsigned int getRingET() override
Definition: jFEXLargeRJetAlgo.cxx:59
TrigConf::name
Definition: HLTChainList.h:35
LVL1::jFEXLargeRJetAlgo::m_jTowerContainer
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition: jFEXLargeRJetAlgo.h:53
jTowerContainer.h
LVL1::jFEXLargeRJetAlgo::getLargeClusterET
virtual unsigned int getLargeClusterET(unsigned int smallClusterET, unsigned int largeRingET) override
Definition: jFEXLargeRJetAlgo.cxx:80
LVL1::jFEXLargeRJetAlgo::safetyTest
virtual StatusCode safetyTest() override
Definition: jFEXLargeRJetAlgo.cxx:42
CaloCellContainer.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1::jFEXLargeRJetAlgo::~jFEXLargeRJetAlgo
virtual ~jFEXLargeRJetAlgo()
Destructor.
Definition: jFEXLargeRJetAlgo.cxx:31
CaloIdManager.h
LVL1::jFEXLargeRJetAlgo::getTTowerSat
bool getTTowerSat(unsigned int TTID)
Definition: jFEXLargeRJetAlgo.cxx:102
LVL1::jFEXLargeRJetAlgo::m_jTowerContainerKey
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition: jFEXLargeRJetAlgo.h:52
AthAlgTool
Definition: AthAlgTool.h:26
StoreGateSvc.h
CLASS_DEF.h
macros to associate a CLID to a type
IjFEXLargeRJetAlgo.h
LVL1::jFEXLargeRJetAlgo::setupCluster
virtual void setupCluster(int inputTable[15][15]) override
Definition: jFEXLargeRJetAlgo.cxx:53
LVL1::jFEXLargeRJetAlgo::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: jFEXLargeRJetAlgo.cxx:34
LVL1::jFEXLargeRJetAlgo
Definition: jFEXLargeRJetAlgo.h:29