ATLAS Offline Software
IgFEXJetAlgo.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 #ifndef IgFEXJetAlgo_H
7 #define IgFEXJetAlgo_H
8 
9 #include "GaudiKernel/IAlgTool.h"
12 
13 namespace LVL1 {
14 
15 /*
16 Interface definition for eFEXegAlgo
17 */
18 
19  static const InterfaceID IID_IgFEXJetAlgo("LVL1::IgFEXJetAlgo", 1, 0);
20  typedef std::array<std::array<int, 12>, 32> gTowersType;
21 
22  class IgFEXJetAlgo : virtual public IAlgTool {
23  public:
24  static const InterfaceID& interfaceID( ) ;
25 
26 
27  virtual void pileUpCalculation(gTowersType &twrs, int rhoThreshold_Max, int inputScale, int &PUCp) const = 0;
28 
29  virtual std::vector<std::unique_ptr<gFEXJetTOB>> largeRfinder(const gTowersType& Atwr,
30  const gTowersType& Btwr,
31  const gTowersType& CNtwr,
32  const gTowersType& Asat,
33  const gTowersType& Bsat,
34  const gTowersType& CNsat,
35  int pucA, int pucB, int pucC, int gLJ_seedThrA, int gLJ_seedThrB, int gLJ_seedThrC,
36  int gJ_ptMinToTopoCounts1, int gJ_ptMinToTopoCounts2,
37  int jetThreshold, int gLJ_ptMinToTopoCounts1, int gLJ_ptMinToTopoCounts2,
38  std::array<uint32_t, 7> & ATOB1_dat, std::array<uint32_t, 7> & ATOB2_dat,
39  std::array<uint32_t, 7> & BTOB1_dat, std::array<uint32_t, 7> & BTOB2_dat,
40  std::array<uint32_t, 7> & CTOB1_dat, std::array<uint32_t, 7> & CTOB2_dat) const = 0;
41 
42 
43  };
44 
45  inline const InterfaceID& LVL1::IgFEXJetAlgo::interfaceID()
46  {
47  return IID_IgFEXJetAlgo;
48  }
49 
50 } // end of namespace
51 
52 #endif
gFEXJetTOB.h
LVL1::IgFEXJetAlgo::largeRfinder
virtual std::vector< std::unique_ptr< gFEXJetTOB > > largeRfinder(const gTowersType &Atwr, const gTowersType &Btwr, const gTowersType &CNtwr, const gTowersType &Asat, const gTowersType &Bsat, const gTowersType &CNsat, int pucA, int pucB, int pucC, int gLJ_seedThrA, int gLJ_seedThrB, int gLJ_seedThrC, int gJ_ptMinToTopoCounts1, int gJ_ptMinToTopoCounts2, int jetThreshold, int gLJ_ptMinToTopoCounts1, int gLJ_ptMinToTopoCounts2, std::array< uint32_t, 7 > &ATOB1_dat, std::array< uint32_t, 7 > &ATOB2_dat, std::array< uint32_t, 7 > &BTOB1_dat, std::array< uint32_t, 7 > &BTOB2_dat, std::array< uint32_t, 7 > &CTOB1_dat, std::array< uint32_t, 7 > &CTOB2_dat) const =0
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IgFEXJetAlgo::interfaceID
static const InterfaceID & interfaceID()
Definition: IgFEXJetAlgo.h:45
FEXAlgoSpaceDefs.h
LVL1::gTowersType
std::array< std::array< int, 12 >, 32 > gTowersType
Definition: IgFEXFPGA.h:25
LVL1::IgFEXJetAlgo::pileUpCalculation
virtual void pileUpCalculation(gTowersType &twrs, int rhoThreshold_Max, int inputScale, int &PUCp) const =0
LVL1::IgFEXJetAlgo
Definition: IgFEXJetAlgo.h:22