ATLAS Offline Software
eFEXtauAlgoBase.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 //***********************************************************************************
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 
22 
23 namespace LVL1 {
24 // Doxygen class description below:
28 class eFEXtauAlgoBase : public AthAlgTool, virtual public IeFEXtauAlgo {
29 
30 public:
32  eFEXtauAlgoBase(const std::string &type, const std::string &name,
33  const IInterface *parent);
34 
36  virtual ~eFEXtauAlgoBase();
37 
38  virtual StatusCode safetyTest() override;
39 
40  virtual void compute() override{};
41  virtual bool isCentralTowerSeed() const override;
42  virtual bool isBDT() const override { return false; }
43  virtual void
44  setThresholds(const std::vector<unsigned int> & /*rHadThreshold*/,
45  const std::vector<unsigned int> & /*bdtThreshold*/,
46  unsigned int /*etThreshold*/,
47  unsigned int /*etThresholdForRHad*/,
48  unsigned int /*bdtMinEtThreshold*/) override{};
49  virtual void getRCore(std::vector<unsigned int> &rCoreVec) const override;
50  virtual unsigned int rCoreCore() const override { return 0; }
51  virtual unsigned int rCoreEnv() const override { return 0; }
52  virtual float getRealRCore() const override;
53  virtual void getRHad(std::vector<unsigned int> &rHadVec) const override;
54  virtual float getRealRHad() const override;
55  virtual void getSums(unsigned int seed, bool UnD,
56  std::vector<unsigned int> &RcoreSums,
57  std::vector<unsigned int> &Remums) override;
58  virtual unsigned int getBDTScore() const override { return 0; }
59  virtual unsigned int getBDTCondition() const override { return 0; };
60  virtual unsigned int getBDTHadFracCondition() const override { return 0; };
61  void setSCellEncoder(LVL1::eFEXtauTOB *tob) const;
62 
63 protected:
65  this, "MyETowers", "eTowerContainer", "Input container for eTowers"};
66  bool m_cellsSet = false;
67 
68  int m_eFexalgoTowerID[3][3];
69 
70  void buildLayers(int efex_id, int fpga_id, int central_eta);
72  void setSuperCells(eFEXtauTOB *tob, bool withSupercells);
73  virtual void setSupercellSeed() {}
74  virtual void setUnDAndOffPhi() {}
75 
76  virtual bool getUnD() const override { return 0; }
77  virtual unsigned int getSeed() const override { return 0; }
78 
79  unsigned int m_em0cells[3][3];
80  unsigned int m_em1cells[12][3];
81  unsigned int m_em2cells[12][3];
82  unsigned int m_em3cells[3][3];
83  unsigned int m_hadcells[3][3];
84  unsigned int m_twrcells[3][3];
85 
86  Gaudi::Property<bool> m_dumpSCells{this, "DumpSuperCells", false,
87  "Should decorate TOBs with supercells"};
88 };
89 
90 } // namespace LVL1
91 
92 #endif
eTowerContainer.h
LVL1::eFEXtauAlgoBase::m_eTowerContainerKey
SG::ReadHandleKey< LVL1::eTowerContainer > m_eTowerContainerKey
Definition: eFEXtauAlgoBase.h:64
LVL1::eFEXtauAlgoBase::m_em3cells
unsigned int m_em3cells[3][3]
Definition: eFEXtauAlgoBase.h:82
LVL1::eFEXtauAlgoBase::setSuperCells
void setSuperCells(eFEXtauTOB *tob, bool withSupercells)
LVL1::eFEXtauAlgoBase::safetyTest
virtual StatusCode safetyTest() override
Definition: eFEXtauAlgoBase.cxx:25
eFEXtauTOB.h
eFexTauRoIContainer.h
IeFEXtauAlgo.h
LVL1::eFEXtauAlgoBase::m_dumpSCells
Gaudi::Property< bool > m_dumpSCells
Definition: eFEXtauAlgoBase.h:86
SG::ReadHandleKey< LVL1::eTowerContainer >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::eFEXtauAlgoBase::m_em0cells
unsigned int m_em0cells[3][3]
Definition: eFEXtauAlgoBase.h:79
LVL1::eFEXtauAlgoBase::getBDTCondition
virtual unsigned int getBDTCondition() const override
Definition: eFEXtauAlgoBase.h:59
LVL1::eFEXtauAlgoBase::setSCellEncoder
void setSCellEncoder(LVL1::eFEXtauTOB *tob) const
Definition: eFEXtauAlgoBase.cxx:170
LVL1::eFEXtauAlgoBase::compute
virtual void compute() override
Definition: eFEXtauAlgoBase.h:40
LVL1::eFEXtauAlgoBase
The eFEXtauBDTAlgo class calculates the tau BDT TOB variables.
Definition: eFEXtauAlgoBase.h:28
LVL1::eFEXtauAlgoBase::setSupercellSeed
virtual void setSupercellSeed()
Definition: eFEXtauAlgoBase.h:73
LVL1::eFEXtauAlgoBase::m_hadcells
unsigned int m_hadcells[3][3]
Definition: eFEXtauAlgoBase.h:83
LVL1::eFEXtauAlgoBase::m_em2cells
unsigned int m_em2cells[12][3]
Definition: eFEXtauAlgoBase.h:81
LVL1::eFEXtauAlgoBase::rCoreCore
virtual unsigned int rCoreCore() const override
Definition: eFEXtauAlgoBase.h:50
LVL1::eFEXtauAlgoBase::getRealRCore
virtual float getRealRCore() const override
Definition: eFEXtauAlgoBase.cxx:97
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:74
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::eFEXtauAlgoBase::getRealRHad
virtual float getRealRHad() const override
Definition: eFEXtauAlgoBase.cxx:109
LVL1::eFEXtauAlgoBase::m_eFexalgoTowerID
int m_eFexalgoTowerID[3][3]
Definition: eFEXtauAlgoBase.h:68
LVL1::eFEXtauAlgoBase::getBDTHadFracCondition
virtual unsigned int getBDTHadFracCondition() const override
Definition: eFEXtauAlgoBase.h:60
LVL1::eFEXtauAlgoBase::m_twrcells
unsigned int m_twrcells[3][3]
Definition: eFEXtauAlgoBase.h:84
TrigConf::name
Definition: HLTChainList.h:35
LVL1::eFEXtauAlgoBase::getSeed
virtual unsigned int getSeed() const override
Definition: eFEXtauAlgoBase.h:77
LVL1::eFEXtauAlgoBase::getUnD
virtual bool getUnD() const override
Definition: eFEXtauAlgoBase.h:76
LVL1::eFEXtauAlgoBase::getSums
virtual void getSums(unsigned int seed, bool UnD, std::vector< unsigned int > &RcoreSums, std::vector< unsigned int > &Remums) override
Definition: eFEXtauAlgoBase.cxx:77
LVL1::eFEXtauAlgoBase::m_em1cells
unsigned int m_em1cells[12][3]
Definition: eFEXtauAlgoBase.h:80
LVL1::eFEXtauTOB
Definition: eFEXtauTOB.h:19
LVL1::eFEXtauAlgoBase::isCentralTowerSeed
virtual bool isCentralTowerSeed() const override
Definition: eFEXtauAlgoBase.cxx:131
LVL1::eFEXtauAlgoBase::isBDT
virtual bool isBDT() const override
Definition: eFEXtauAlgoBase.h:42
LVL1::eFEXtauAlgoBase::~eFEXtauAlgoBase
virtual ~eFEXtauAlgoBase()
Destructor.
Definition: eFEXtauAlgoBase.cxx:23
LVL1::eFEXtauAlgoBase::getRCore
virtual void getRCore(std::vector< unsigned int > &rCoreVec) const override
Definition: eFEXtauAlgoBase.cxx:121
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1::eFEXtauAlgoBase::setThresholds
virtual void setThresholds(const std::vector< unsigned int > &, const std::vector< unsigned int > &, unsigned int, unsigned int, unsigned int) override
Definition: eFEXtauAlgoBase.h:44
LVL1::IeFEXtauAlgo
Definition: IeFEXtauAlgo.h:27
LVL1::eFEXtauAlgoBase::buildLayers
void buildLayers(int efex_id, int fpga_id, int central_eta)
Definition: eFEXtauAlgoBase.cxx:38
LVL1::eFEXtauAlgoBase::m_cellsSet
bool m_cellsSet
Definition: eFEXtauAlgoBase.h:66
LVL1::eFEXtauAlgoBase::rCoreEnv
virtual unsigned int rCoreEnv() const override
Definition: eFEXtauAlgoBase.h:51
LVL1::eFEXtauAlgoBase::getRHad
virtual void getRHad(std::vector< unsigned int > &rHadVec) const override
Definition: eFEXtauAlgoBase.cxx:88
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::eFEXtauAlgoBase::setSCellPointers
void setSCellPointers()
LVL1::eFEXtauAlgoBase::getBDTScore
virtual unsigned int getBDTScore() const override
Definition: eFEXtauAlgoBase.h:58
LVL1::eFEXtauAlgoBase::eFEXtauAlgoBase
eFEXtauAlgoBase(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: eFEXtauAlgoBase.cxx:16