ATLAS Offline Software
IjFEXFPGA.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //***************************************************************************
6 // jFEXFPGA.h -
7 // -------------------
8 // begin : 23 03 2019
9 // email : jacob.julian.kempster@cern.ch
10 // ***************************************************************************/
11 
12 #ifndef IjFEXFPGA_H
13 #define IjFEXFPGA_H
14 
15 #include "GaudiKernel/IAlgTool.h"
16 #include "L1CaloFEXSim/jTower.h"
21 #include "TrigConfData/L1Menu.h"
23 
24 #include "L1CaloFEXSim/jFEXTOB.h"
25 
26 namespace LVL1 {
27 
28 /*
29 Interface definition for jFEXFPGA
30 */
31 
32  static const InterfaceID IID_IjFEXFPGA("LVL1::IjFEXFPGA", 1, 0);
33 
34  class IjFEXFPGA : virtual public IAlgTool {
35  public:
36  static const InterfaceID& interfaceID( ) ;
37 
38  virtual StatusCode init(int id, int efexid) = 0;
39 
40  virtual StatusCode execute(jFEXOutputCollection* inputOutputCollection, const std::pair<unsigned int, const std::vector<int>&> & jetCalibrationParameters) = 0;
41 
42  virtual void reset() = 0;
43 
44  virtual int ID() = 0;
45 
46  virtual std::vector <std::unique_ptr<jFEXTOB>> getSmallRJetTOBs() = 0;
47 
48  virtual std::vector <std::unique_ptr<jFEXTOB>> getLargeRJetTOBs() = 0;
49 
50  virtual std::vector <std::vector <uint32_t>> getFwdElTOBs() =0;
51 
52  virtual std::vector<std::unique_ptr<jFEXTOB>> getTauTOBs() = 0;
53 
54  virtual std::vector<std::unique_ptr<jFEXTOB>> getSumEtTOBs() =0;
55 
56  virtual std::vector<std::unique_ptr<jFEXTOB>> getMetTOBs() =0;
57 
58 
59 
62 
63  virtual int getTTowerET_EM (unsigned int TTID ) =0;
64  virtual int getTTowerET_HAD (unsigned int TTID ) =0;
65  virtual int getTTowerET (unsigned int TTID ) =0;
66  virtual int getTTowerET_forMET (unsigned int TTID ) =0;
67 
68 
69  private:
70 
71  };
72 
73  inline const InterfaceID& LVL1::IjFEXFPGA::interfaceID()
74  {
75  return IID_IjFEXFPGA;
76  }
77 
78 } // end of namespace
79 
80 #endif
jFEXTOB.h
LVL1::IjFEXFPGA::getTTowerET_HAD
virtual int getTTowerET_HAD(unsigned int TTID)=0
LVL1::IjFEXFPGA::ID
virtual int ID()=0
LVL1::FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width
constexpr static int jFEX_thin_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:26
LVL1::IjFEXFPGA::execute
virtual StatusCode execute(jFEXOutputCollection *inputOutputCollection, const std::pair< unsigned int, const std::vector< int > & > &jetCalibrationParameters)=0
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IjFEXFPGA::getTTowerET
virtual int getTTowerET(unsigned int TTID)=0
LVL1::IjFEXFPGA::getFwdElTOBs
virtual std::vector< std::vector< uint32_t > > getFwdElTOBs()=0
LVL1::IjFEXFPGA::getTTowerET_forMET
virtual int getTTowerET_forMET(unsigned int TTID)=0
LVL1::IjFEXFPGA::SetTowersAndCells_SG
virtual void SetTowersAndCells_SG(int[][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width])=0
jFEXOutputCollection.h
LVL1::IjFEXFPGA::getLargeRJetTOBs
virtual std::vector< std::unique_ptr< jFEXTOB > > getLargeRJetTOBs()=0
LVL1::IjFEXFPGA::getTTowerET_EM
virtual int getTTowerET_EM(unsigned int TTID)=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width
constexpr static int jFEX_wide_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:25
CaloCell_SuperCell_ID.h
Helper class for offline supercell identifiers.
LVL1::jFEXOutputCollection
Definition: jFEXOutputCollection.h:23
FEXAlgoSpaceDefs.h
LVL1::IjFEXFPGA::SetTowersAndCells_SG
virtual void SetTowersAndCells_SG(int[][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width])=0
LVL1::IjFEXFPGA::getTauTOBs
virtual std::vector< std::unique_ptr< jFEXTOB > > getTauTOBs()=0
LVL1::IjFEXFPGA::init
virtual StatusCode init(int id, int efexid)=0
CaloCellContainer.h
LVL1::IjFEXFPGA::getSumEtTOBs
virtual std::vector< std::unique_ptr< jFEXTOB > > getSumEtTOBs()=0
LVL1::IjFEXFPGA::interfaceID
static const InterfaceID & interfaceID()
Definition: IjFEXFPGA.h:73
LVL1::IjFEXFPGA::getMetTOBs
virtual std::vector< std::unique_ptr< jFEXTOB > > getMetTOBs()=0
LVL1::IjFEXFPGA::getSmallRJetTOBs
virtual std::vector< std::unique_ptr< jFEXTOB > > getSmallRJetTOBs()=0
CaloIdManager.h
LVL1::IjFEXFPGA
Definition: IjFEXFPGA.h:34
L1Menu.h
jTower.h
LVL1::IjFEXFPGA::reset
virtual void reset()=0