ATLAS Offline Software
IeFEXFPGA.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 // IeFEXFPGA.h -
7 // -------------------
8 // begin : 23 03 2019
9 // email : jacob.julian.kempster@cern.ch
10 // ***************************************************************************/
11 
12 #ifndef IeFEXFPGA_H
13 #define IeFEXFPGA_H
14 
15 
16 #include "GaudiKernel/IAlgTool.h"
17 #include "xAODTrigger/eFexEMRoI.h"
19 #include "L1CaloFEXSim/eFEXegTOB.h"
21 
22 namespace LVL1 {
23 
24 /*
25 Interface definition for eFEXFPGA
26 */
27 
28  static const InterfaceID IID_IeFEXFPGA("LVL1::IeFEXFPGA", 1, 0);
29 
30  class IeFEXFPGA : virtual public IAlgTool {
31  public:
32  static const InterfaceID& interfaceID( ) ;
33 
34  virtual StatusCode init(int id, int efexid) = 0;
35 
36  virtual StatusCode execute(eFEXOutputCollection* inputOutputCollection) = 0;
37 
38  virtual void reset() = 0;
39 
40  virtual int getID() const = 0;
41 
42  virtual void SetTowersAndCells_SG(int [][6]) = 0;
43 
44  virtual void SetIsoWP(const std::vector<unsigned int>&, const std::vector<unsigned int>&, unsigned int &, unsigned int) const = 0;
45 
46  virtual std::vector<std::unique_ptr<eFEXegTOB>> getEmTOBs() = 0;
47 
48  virtual std::vector<std::unique_ptr<eFEXtauTOB>> getTauHeuristicTOBs() = 0;
49 
50  virtual std::vector<std::unique_ptr<eFEXtauTOB>> getTauBDTTOBs() = 0;
51 
52  // static virtual bool etSort(uint32_t &, uint32_t &) = 0;
53 
54  private:
55 
56  };
57 
58  inline const InterfaceID& LVL1::IeFEXFPGA::interfaceID()
59  {
60  return IID_IeFEXFPGA;
61  }
62 
63 } // end of namespace
64 
65 #endif
66 
eFEXOutputCollection.h
create ntuples output
LVL1::IeFEXFPGA::reset
virtual void reset()=0
LVL1::IeFEXFPGA::getTauHeuristicTOBs
virtual std::vector< std::unique_ptr< eFEXtauTOB > > getTauHeuristicTOBs()=0
LVL1::IeFEXFPGA::interfaceID
static const InterfaceID & interfaceID()
Definition: IeFEXFPGA.h:58
eFEXtauTOB.h
LVL1::IeFEXFPGA::init
virtual StatusCode init(int id, int efexid)=0
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IeFEXFPGA::getEmTOBs
virtual std::vector< std::unique_ptr< eFEXegTOB > > getEmTOBs()=0
LVL1::IeFEXFPGA::getID
virtual int getID() const =0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::IeFEXFPGA::getTauBDTTOBs
virtual std::vector< std::unique_ptr< eFEXtauTOB > > getTauBDTTOBs()=0
LVL1::IeFEXFPGA
Definition: IeFEXFPGA.h:30
LVL1::IeFEXFPGA::SetTowersAndCells_SG
virtual void SetTowersAndCells_SG(int[][6])=0
eFEXegTOB.h
LVL1::IeFEXFPGA::SetIsoWP
virtual void SetIsoWP(const std::vector< unsigned int > &, const std::vector< unsigned int > &, unsigned int &, unsigned int) const =0
eFexEMRoI.h
LVL1::IeFEXFPGA::execute
virtual StatusCode execute(eFEXOutputCollection *inputOutputCollection)=0
LVL1::eFEXOutputCollection
Definition: eFEXOutputCollection.h:23