ATLAS Offline Software
jFEXSmallRJetAlgo.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 // jFEXSmallRJetAlgo - Algorithm for small R jet Algorithm in jFEX
6 // -------------------
7 // begin : 03 11 2020
8 // email : varsiha.sothilingam@cern.ch
9 //***************************************************************************
10 
11 #ifndef jFEXSmallRJetAlgo_H
12 #define jFEXSmallRJetAlgo_H
13 
16 #include "AthenaKernel/CLASS_DEF.h"
18 
23 #include "StoreGate/StoreGateSvc.h"
24 
25 
26 namespace LVL1 {
27 
28  class jFEXSmallRJetAlgo : public AthAlgTool, virtual public IjFEXSmallRJetAlgo {
29 
30  public:
32  jFEXSmallRJetAlgo(const std::string& type, const std::string& name, const IInterface* parent);
33 
35  virtual StatusCode initialize() override;
36 
38  virtual ~jFEXSmallRJetAlgo();
39 
40  virtual StatusCode safetyTest() override;
41  virtual void setup(int inputTable[7][7], int inputTableDisplaced[7][7]) override;
42  virtual unsigned int getTTowerET(unsigned int TTID ) const override;
43  virtual void buildSeeds() override;
44  virtual bool isSeedLocalMaxima() override;
45  virtual unsigned int getSmallClusterET() const override;
46  virtual unsigned int getSmallETRing() const override;
47  virtual unsigned int getTTIDcentre() const override;
48  virtual bool getSRjetSat() const override;
49  virtual void setFPGAEnergy(const std::unordered_map<int,std::vector<int> >& et_map) override;
50 
51  private:
52  SG::ReadHandleKey<LVL1::jTowerContainer> m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "Input container for jTowers"};
54 
55  void calcSaturation();
56  bool getTTowerSat(unsigned int TTID );
57  bool m_JetSaturation = false;
58 
59  int m_jFEXalgoTowerID[7][7] = {{0}};
60  int m_jFEXalgoTowerID_displaced[7][7] = {{0}};
61  int m_jFEXalgoSearchWindowSeedET[5][5] = {{0}};
63 
64  std::unordered_map<int,std::vector<int> > m_map_Etvalues;
65 
66  bool CalculateLM(int mymatrix[5][5]);
67  };
68 
69 
70 }//end of namespace
71 #endif
LVL1::jFEXSmallRJetAlgo::m_JetSaturation
bool m_JetSaturation
Definition: jFEXSmallRJetAlgo.h:57
LVL1::jFEXSmallRJetAlgo::m_jTowerContainer
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition: jFEXSmallRJetAlgo.h:53
LVL1::jFEXSmallRJetAlgo::m_jFEXalgoSearchWindowSeedET
int m_jFEXalgoSearchWindowSeedET[5][5]
Definition: jFEXSmallRJetAlgo.h:61
IjFEXSmallRJetAlgo.h
LVL1::jFEXSmallRJetAlgo
Definition: jFEXSmallRJetAlgo.h:28
LVL1::jFEXSmallRJetAlgo::m_jTowerContainerKey
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition: jFEXSmallRJetAlgo.h:52
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
LVL1::jFEXSmallRJetAlgo::getTTIDcentre
virtual unsigned int getTTIDcentre() const override
Definition: jFEXSmallRJetAlgo.cxx:189
LVL1::jFEXSmallRJetAlgo::getSmallETRing
virtual unsigned int getSmallETRing() const override
Definition: jFEXSmallRJetAlgo.cxx:184
LVL1::jFEXSmallRJetAlgo::setFPGAEnergy
virtual void setFPGAEnergy(const std::unordered_map< int, std::vector< int > > &et_map) override
Definition: jFEXSmallRJetAlgo.cxx:194
LVL1::jFEXSmallRJetAlgo::getSmallClusterET
virtual unsigned int getSmallClusterET() const override
Definition: jFEXSmallRJetAlgo.cxx:153
SG::ReadHandleKey< LVL1::jTowerContainer >
LVL1::jFEXSmallRJetAlgo::m_jFEXalgoTowerID
int m_jFEXalgoTowerID[7][7]
Definition: jFEXSmallRJetAlgo.h:59
LVL1::IjFEXSmallRJetAlgo
Definition: IjFEXSmallRJetAlgo.h:21
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::jFEXSmallRJetAlgo::~jFEXSmallRJetAlgo
virtual ~jFEXSmallRJetAlgo()
Destructor.
Definition: jFEXSmallRJetAlgo.cxx:31
LVL1::jFEXSmallRJetAlgo::getTTowerSat
bool getTTowerSat(unsigned int TTID)
Definition: jFEXSmallRJetAlgo.cxx:199
LVL1::jFEXSmallRJetAlgo::getTTowerET
virtual unsigned int getTTowerET(unsigned int TTID) const override
Definition: jFEXSmallRJetAlgo.cxx:70
LVL1::jFEXSmallRJetAlgo::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: jFEXSmallRJetAlgo.cxx:34
LVL1::jFEXSmallRJetAlgo::safetyTest
virtual StatusCode safetyTest() override
Definition: jFEXSmallRJetAlgo.cxx:43
LVL1::jFEXSmallRJetAlgo::isSeedLocalMaxima
virtual bool isSeedLocalMaxima() override
Definition: jFEXSmallRJetAlgo.cxx:136
LVL1::jFEXSmallRJetAlgo::m_jFEXalgoSearchWindowSeedET_displaced
int m_jFEXalgoSearchWindowSeedET_displaced[5][5]
Definition: jFEXSmallRJetAlgo.h:62
AthAlgorithm.h
LVL1::jFEXSmallRJetAlgo::CalculateLM
bool CalculateLM(int mymatrix[5][5])
Definition: jFEXSmallRJetAlgo.cxx:107
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::jFEXSmallRJetAlgo::m_jFEXalgoTowerID_displaced
int m_jFEXalgoTowerID_displaced[7][7]
Definition: jFEXSmallRJetAlgo.h:60
AthAlgTool.h
LVL1::jFEXSmallRJetAlgo::jFEXSmallRJetAlgo
jFEXSmallRJetAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: jFEXSmallRJetAlgo.cxx:24
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCell_SuperCell_ID.h
Helper class for offline supercell identifiers.
LVL1::jFEXSmallRJetAlgo::buildSeeds
virtual void buildSeeds() override
Definition: jFEXSmallRJetAlgo.cxx:84
TrigConf::name
Definition: HLTChainList.h:35
jTowerContainer.h
LVL1::jFEXSmallRJetAlgo::getSRjetSat
virtual bool getSRjetSat() const override
Definition: jFEXSmallRJetAlgo.cxx:180
LVL1::jFEXSmallRJetAlgo::calcSaturation
void calcSaturation()
Definition: jFEXSmallRJetAlgo.cxx:167
CaloCellContainer.h
LVL1::jFEXSmallRJetAlgo::setup
virtual void setup(int inputTable[7][7], int inputTableDisplaced[7][7]) override
Definition: jFEXSmallRJetAlgo.cxx:54
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloIdManager.h
AthAlgTool
Definition: AthAlgTool.h:26
StoreGateSvc.h
LVL1::jFEXSmallRJetAlgo::m_map_Etvalues
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition: jFEXSmallRJetAlgo.h:64
CLASS_DEF.h
macros to associate a CLID to a type