ATLAS Offline Software
eFEXtauAlgoBase.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 //***********************************************************************************
6 // eFEXtauAlgoBase.h
7 // -------------------
8 // begin : 08 05 2023
9 // email : david.reikher@cern.ch,
10 // nicholas.andrew.luongo@cern.ch
11 // *********************************************************************************/
12 
13 #ifndef eFEXtauAlgoBase_H
14 #define eFEXtauAlgoBase_H
15 
21 
22 namespace LVL1 {
23 // Doxygen class description below:
26  static const InterfaceID IID_IeFEXtauAlgoBase("LVL1::eFEXtauAlgoBase", 1, 0);
27 
28 class eFEXtauAlgoBase : public AthAlgTool {
29 
30 public:
31  static const InterfaceID& interfaceID() { return IID_IeFEXtauAlgoBase; };
33  eFEXtauAlgoBase(const std::string &type, const std::string &name,
34  const IInterface *parent);
35 
37  virtual ~eFEXtauAlgoBase();
38 
39  virtual StatusCode safetyTest();
40 
41  virtual void compute() {};
42  virtual bool isCentralTowerSeed() const;
43  virtual bool isBDT() const {return false;}
44  virtual void
45  setThresholds(const std::vector<unsigned int> & /*rHadThreshold*/,
46  const std::vector<unsigned int> & /*bdtThreshold*/,
47  unsigned int /*etThreshold*/,
48  unsigned int /*etThresholdForRHad*/,
49  unsigned int /*bdtMinEtThreshold*/, unsigned int /*etThresholdForRHadFrac*/) {};
50  virtual void getRCore(std::vector<unsigned int> &rCoreVec) const;
51  virtual unsigned int rCoreCore() const { return 0; }
52  virtual unsigned int rCoreEnv() const { return 0; }
53  virtual unsigned int rHadCore() const = 0;
54  virtual unsigned int rHadEnv() const = 0;
55  virtual float getRealRCore() const;
56  virtual void getRHad(std::vector<unsigned int> &rHadVec) const;
57  virtual float getRealRHad() const;
58  virtual void getSums(unsigned int seed, bool UnD,
59  std::vector<unsigned int> &RcoreSums,
60  std::vector<unsigned int> &Remums);
61  virtual unsigned int getBDTScore() const { return 0; }
62  virtual unsigned int getBDTCondition() const { return 0; }
63  virtual unsigned int getBDTHadFracCondition() const { return 0; }
65  virtual void setup(int inputTable[3][3], int efex_id, int fpga_id, int central_eta) = 0;
66  virtual std::unique_ptr<eFEXtauTOB> getTauTOB() const = 0;
67  virtual unsigned int getEt() const = 0;
68  virtual unsigned int getBitwiseEt() const = 0;
69  virtual bool getUnD() const { return false; }
70  virtual unsigned int getSeed() const = 0;
71  protected:
73  this, "MyETowers", "eTowerContainer", "Input container for eTowers"};
74  bool m_cellsSet = false;
75 
76  int m_eFexalgoTowerID[3][3]{};
77 
78  void buildLayers(int efex_id, int fpga_id, int central_eta);
80  void setSuperCells(eFEXtauTOB *tob, bool withSupercells);
81  virtual void setSupercellSeed() {};
82  virtual void setUnDAndOffPhi() {};
83 
84 
85 
86 
87  unsigned int m_em0cells[3][3]{};
88  unsigned int m_em1cells[12][3]{};
89  unsigned int m_em2cells[12][3]{};
90  unsigned int m_em3cells[3][3]{};
91  unsigned int m_hadcells[3][3]{};
92  unsigned int m_twrcells[3][3]{};
93 
94 };
95 
96 } // namespace LVL1
97 
98 #endif
LVL1::eFEXtauAlgoBase::getRealRCore
virtual float getRealRCore() const
Definition: eFEXtauAlgoBase.cxx:96
eTowerContainer.h
LVL1::eFEXtauAlgoBase::m_eTowerContainerKey
SG::ReadHandleKey< LVL1::eTowerContainer > m_eTowerContainerKey
Definition: eFEXtauAlgoBase.h:72
LVL1::eFEXtauAlgoBase::m_em3cells
unsigned int m_em3cells[3][3]
Definition: eFEXtauAlgoBase.h:90
LVL1::eFEXtauAlgoBase::setSuperCells
void setSuperCells(eFEXtauTOB *tob, bool withSupercells)
eFEXtauTOB.h
eFexTauRoIContainer.h
LVL1::eFEXtauAlgoBase::setThresholds
virtual void setThresholds(const std::vector< unsigned int > &, const std::vector< unsigned int > &, unsigned int, unsigned int, unsigned int, unsigned int)
Definition: eFEXtauAlgoBase.h:45
SG::ReadHandleKey< LVL1::eTowerContainer >
LVL1::eFEXtauAlgoBase::getRCore
virtual void getRCore(std::vector< unsigned int > &rCoreVec) const
Definition: eFEXtauAlgoBase.cxx:120
LVL1::eFEXtauAlgoBase::setup
virtual void setup(int inputTable[3][3], int efex_id, int fpga_id, int central_eta)=0
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LVL1::eFEXtauAlgoBase::m_em0cells
unsigned int m_em0cells[3][3]
Definition: eFEXtauAlgoBase.h:87
LVL1::eFEXtauAlgoBase::getSeed
virtual unsigned int getSeed() const =0
LVL1::eFEXtauAlgoBase::setSCellEncoder
void setSCellEncoder(LVL1::eFEXtauTOB *tob) const
LVL1::eFEXtauAlgoBase::getBDTCondition
virtual unsigned int getBDTCondition() const
Definition: eFEXtauAlgoBase.h:62
LVL1::eFEXtauAlgoBase
Definition: eFEXtauAlgoBase.h:28
LVL1::eFEXtauAlgoBase::setSupercellSeed
virtual void setSupercellSeed()
Definition: eFEXtauAlgoBase.h:81
LVL1::eFEXtauAlgoBase::m_hadcells
unsigned int m_hadcells[3][3]
Definition: eFEXtauAlgoBase.h:91
LVL1::eFEXtauAlgoBase::m_em2cells
unsigned int m_em2cells[12][3]
Definition: eFEXtauAlgoBase.h:89
LVL1::eFEXtauAlgoBase::safetyTest
virtual StatusCode safetyTest()
Definition: eFEXtauAlgoBase.cxx:24
LVL1::eFEXtauAlgoBase::getBitwiseEt
virtual unsigned int getBitwiseEt() const =0
LVL1::eFEXtauAlgoBase::getSums
virtual void getSums(unsigned int seed, bool UnD, std::vector< unsigned int > &RcoreSums, std::vector< unsigned int > &Remums)
Definition: eFEXtauAlgoBase.cxx:76
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
WriteDecorHandle.h
Handle class for adding a decoration to an object.
LVL1::eFEXtauAlgoBase::setUnDAndOffPhi
virtual void setUnDAndOffPhi()
Definition: eFEXtauAlgoBase.h:82
LVL1::eFEXtauAlgoBase::getUnD
virtual bool getUnD() const
Definition: eFEXtauAlgoBase.h:69
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::eFEXtauAlgoBase::m_eFexalgoTowerID
int m_eFexalgoTowerID[3][3]
Definition: eFEXtauAlgoBase.h:76
LVL1::eFEXtauAlgoBase::getEt
virtual unsigned int getEt() const =0
LVL1::eFEXtauAlgoBase::m_twrcells
unsigned int m_twrcells[3][3]
Definition: eFEXtauAlgoBase.h:92
LVL1::eFEXtauAlgoBase::getRHad
virtual void getRHad(std::vector< unsigned int > &rHadVec) const
Definition: eFEXtauAlgoBase.cxx:87
TrigConf::name
Definition: HLTChainList.h:35
LVL1::eFEXtauAlgoBase::getTauTOB
virtual std::unique_ptr< eFEXtauTOB > getTauTOB() const =0
LVL1::eFEXtauAlgoBase::isBDT
virtual bool isBDT() const
Definition: eFEXtauAlgoBase.h:43
LVL1::eFEXtauAlgoBase::m_em1cells
unsigned int m_em1cells[12][3]
Definition: eFEXtauAlgoBase.h:88
LVL1::eFEXtauTOB
Definition: eFEXtauTOB.h:18
LVL1::eFEXtauAlgoBase::getBDTHadFracCondition
virtual unsigned int getBDTHadFracCondition() const
Definition: eFEXtauAlgoBase.h:63
LVL1::eFEXtauAlgoBase::rCoreEnv
virtual unsigned int rCoreEnv() const
Definition: eFEXtauAlgoBase.h:52
LVL1::eFEXtauAlgoBase::getBDTScore
virtual unsigned int getBDTScore() const
Definition: eFEXtauAlgoBase.h:61
LVL1::eFEXtauAlgoBase::~eFEXtauAlgoBase
virtual ~eFEXtauAlgoBase()
Destructor.
Definition: eFEXtauAlgoBase.cxx:22
LVL1::eFEXtauAlgoBase::interfaceID
static const InterfaceID & interfaceID()
Definition: eFEXtauAlgoBase.h:31
LVL1::eFEXtauAlgoBase::rHadCore
virtual unsigned int rHadCore() const =0
LVL1::eFEXtauAlgoBase::compute
virtual void compute()
Definition: eFEXtauAlgoBase.h:41
LVL1::eFEXtauAlgoBase::rHadEnv
virtual unsigned int rHadEnv() const =0
LVL1::eFEXtauAlgoBase::isCentralTowerSeed
virtual bool isCentralTowerSeed() const
Definition: eFEXtauAlgoBase.cxx:130
LVL1::eFEXtauAlgoBase::buildLayers
void buildLayers(int efex_id, int fpga_id, int central_eta)
Definition: eFEXtauAlgoBase.cxx:37
LVL1::eFEXtauAlgoBase::m_cellsSet
bool m_cellsSet
Definition: eFEXtauAlgoBase.h:74
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::eFEXtauAlgoBase::setSCellPointers
void setSCellPointers()
LVL1::eFEXtauAlgoBase::rCoreCore
virtual unsigned int rCoreCore() const
Definition: eFEXtauAlgoBase.h:51
LVL1::eFEXtauAlgoBase::getRealRHad
virtual float getRealRHad() const
Definition: eFEXtauAlgoBase.cxx:108
LVL1::eFEXtauAlgoBase::eFEXtauAlgoBase
eFEXtauAlgoBase(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: eFEXtauAlgoBase.cxx:15