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(int seedThreshold) override;
45  virtual unsigned int getSeedET() const override;
46  virtual unsigned int getSmallClusterET() const override;
47  virtual unsigned int getSmallETRing() const override;
48  virtual unsigned int getTTIDcentre() const override;
49  virtual bool getSRjetSat() const override;
50  virtual void setFPGAEnergy(const std::unordered_map<int,std::vector<int> >& et_map) override;
51 
52  private:
53  SG::ReadHandleKey<LVL1::jTowerContainer> m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "Input container for jTowers"};
55 
56  void calcSaturation();
57  bool getTTowerSat(unsigned int TTID );
58  bool m_JetSaturation = false;
59 
60  int m_jFEXalgoTowerID[7][7] = {{0}};
61  int m_jFEXalgoTowerID_displaced[7][7] = {{0}};
62  int m_jFEXalgoSearchWindowSeedET[5][5] = {{0}};
64 
65  std::unordered_map<int,std::vector<int> > m_map_Etvalues;
66 
67  bool CalculateLM(int mymatrix[5][5]);
68  };
69 
70 
71 }//end of namespace
72 #endif
LVL1::jFEXSmallRJetAlgo::isSeedLocalMaxima
virtual bool isSeedLocalMaxima(int seedThreshold) override
Definition: jFEXSmallRJetAlgo.cxx:136
LVL1::jFEXSmallRJetAlgo::m_JetSaturation
bool m_JetSaturation
Definition: jFEXSmallRJetAlgo.h:58
LVL1::jFEXSmallRJetAlgo::m_jTowerContainer
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition: jFEXSmallRJetAlgo.h:54
LVL1::jFEXSmallRJetAlgo::m_jFEXalgoSearchWindowSeedET
int m_jFEXalgoSearchWindowSeedET[5][5]
Definition: jFEXSmallRJetAlgo.h:62
IjFEXSmallRJetAlgo.h
LVL1::jFEXSmallRJetAlgo
Definition: jFEXSmallRJetAlgo.h:28
LVL1::jFEXSmallRJetAlgo::m_jTowerContainerKey
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition: jFEXSmallRJetAlgo.h:53
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
LVL1::jFEXSmallRJetAlgo::getTTIDcentre
virtual unsigned int getTTIDcentre() const override
Definition: jFEXSmallRJetAlgo.cxx:194
LVL1::jFEXSmallRJetAlgo::getSmallETRing
virtual unsigned int getSmallETRing() const override
Definition: jFEXSmallRJetAlgo.cxx:189
LVL1::jFEXSmallRJetAlgo::setFPGAEnergy
virtual void setFPGAEnergy(const std::unordered_map< int, std::vector< int > > &et_map) override
Definition: jFEXSmallRJetAlgo.cxx:199
LVL1::jFEXSmallRJetAlgo::getSmallClusterET
virtual unsigned int getSmallClusterET() const override
Definition: jFEXSmallRJetAlgo.cxx:158
SG::ReadHandleKey< LVL1::jTowerContainer >
LVL1::jFEXSmallRJetAlgo::m_jFEXalgoTowerID
int m_jFEXalgoTowerID[7][7]
Definition: jFEXSmallRJetAlgo.h:60
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:204
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::m_jFEXalgoSearchWindowSeedET_displaced
int m_jFEXalgoSearchWindowSeedET_displaced[5][5]
Definition: jFEXSmallRJetAlgo.h:63
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:61
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:185
LVL1::jFEXSmallRJetAlgo::calcSaturation
void calcSaturation()
Definition: jFEXSmallRJetAlgo.cxx:172
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
LVL1::jFEXSmallRJetAlgo::getSeedET
virtual unsigned int getSeedET() const override
Definition: jFEXSmallRJetAlgo.cxx:151
StoreGateSvc.h
LVL1::jFEXSmallRJetAlgo::m_map_Etvalues
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition: jFEXSmallRJetAlgo.h:65
CLASS_DEF.h
macros to associate a CLID to a type