ATLAS Offline Software
IjFEXSim.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 // jFEXSim.h -
7 // -------------------
8 // begin : 23 03 2019
9 // email : jacob.julian.kempster@cern.ch
10 // ***************************************************************************/
11 
12 #ifndef IjFEXSim_H
13 #define IjFEXSim_H
14 
15 #include "GaudiKernel/IAlgTool.h"
21 
22 #include "L1CaloFEXSim/jFEXTOB.h"
23 
24 
25 namespace LVL1 {
26 
27 /*
28 Interface definition for jFEXSim
29 */
30 
31  static const InterfaceID IID_IjFEXSim("LVL1::IjFEXSim", 1, 0);
32 
33  class IjFEXSim : virtual public IAlgTool {
34  public:
35  static const InterfaceID& interfaceID( ) ;
36 
37  virtual void init(int id) = 0;
38 
39  virtual void reset() = 0;
40 
41  virtual int ID() = 0;
44 
45 
46  virtual std::vector<std::vector<std::vector<uint32_t>>> getFwdElTOBs() =0;
47 
48  virtual std::vector< std::vector<std::unique_ptr<jFEXTOB>> > getTauTOBs() =0;
49  virtual std::vector< std::vector<std::unique_ptr<jFEXTOB>> > getSmallRJetTOBs() =0;
50  virtual std::vector< std::vector<std::unique_ptr<jFEXTOB>> > getLargeRJetTOBs() =0;
51  virtual std::vector<std::unique_ptr<jFEXTOB>> getSumEtTOBs() =0;
52  virtual std::vector<std::unique_ptr<jFEXTOB>> getMetTOBs() =0;
53 
54  virtual StatusCode ExecuteForwardASide(int tmp[2*FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width], jFEXOutputCollection* inputOutputCollection, const std::pair<unsigned int, const std::vector<int>&> & jetCalibrationParameters) = 0;
55  virtual StatusCode ExecuteForwardCSide(int tmp[2*FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width], jFEXOutputCollection* inputOutputCollection, const std::pair<unsigned int, const std::vector<int>&> & jetCalibrationParameters) = 0;
56  virtual StatusCode ExecuteBarrel(int tmp[2*FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width], jFEXOutputCollection* inputOutputCollection, const std::pair<unsigned int, const std::vector<int>&> & jetCalibrationParameters) = 0;
57 
58  private:
59 
60  };
61 
62  inline const InterfaceID& LVL1::IjFEXSim::interfaceID()
63  {
64  return IID_IjFEXSim;
65  }
66 
67 } // end of namespace
68 
69 #endif
jFEXTOB.h
LVL1::IjFEXSim::init
virtual void init(int id)=0
LVL1::FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width
constexpr static int jFEX_thin_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:26
LVL1::IjFEXSim::ExecuteForwardASide
virtual StatusCode ExecuteForwardASide(int tmp[2 *FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width], jFEXOutputCollection *inputOutputCollection, const std::pair< unsigned int, const std::vector< int > & > &jetCalibrationParameters)=0
LVL1::IjFEXSim::ExecuteForwardCSide
virtual StatusCode ExecuteForwardCSide(int tmp[2 *FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width], jFEXOutputCollection *inputOutputCollection, const std::pair< unsigned int, const std::vector< int > & > &jetCalibrationParameters)=0
LVL1::IjFEXSim::getSumEtTOBs
virtual std::vector< std::unique_ptr< jFEXTOB > > getSumEtTOBs()=0
LVL1::IjFEXSim::ID
virtual int ID()=0
LVL1::FEXAlgoSpaceDefs::jFEX_algoSpace_height
constexpr static int jFEX_algoSpace_height
Definition: FEXAlgoSpaceDefs.h:27
LVL1::IjFEXSim::getMetTOBs
virtual std::vector< std::unique_ptr< jFEXTOB > > getMetTOBs()=0
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
jFEXOutputCollection.h
LVL1::IjFEXSim::ExecuteBarrel
virtual StatusCode ExecuteBarrel(int tmp[2 *FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width], jFEXOutputCollection *inputOutputCollection, const std::pair< unsigned int, const std::vector< int > & > &jetCalibrationParameters)=0
LVL1::IjFEXSim::SetTowersAndCells_SG
virtual void SetTowersAndCells_SG(int tmp[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width])=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::IjFEXSim::getLargeRJetTOBs
virtual std::vector< std::vector< std::unique_ptr< jFEXTOB > > > getLargeRJetTOBs()=0
LVL1::FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width
constexpr static int jFEX_wide_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:25
LVL1::jFEXOutputCollection
Definition: jFEXOutputCollection.h:23
LVL1::IjFEXSim::interfaceID
static const InterfaceID & interfaceID()
Definition: IjFEXSim.h:62
FEXAlgoSpaceDefs.h
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
LVL1::IjFEXSim::getTauTOBs
virtual std::vector< std::vector< std::unique_ptr< jFEXTOB > > > getTauTOBs()=0
jTowerContainer.h
LVL1::IjFEXSim::getSmallRJetTOBs
virtual std::vector< std::vector< std::unique_ptr< jFEXTOB > > > getSmallRJetTOBs()=0
CaloCellContainer.h
LVL1::IjFEXSim
Definition: IjFEXSim.h:33
LVL1::IjFEXSim::reset
virtual void reset()=0
CaloIdManager.h
LVL1::IjFEXSim::getFwdElTOBs
virtual std::vector< std::vector< std::vector< uint32_t > > > getFwdElTOBs()=0
LVL1::IjFEXSim::SetTowersAndCells_SG
virtual void SetTowersAndCells_SG(int tmp[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width])=0