ATLAS Offline Software
Loading...
Searching...
No Matches
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
13namespace LVL1 {
14
15/*
16Interface 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
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
static const InterfaceID & interfaceID()
virtual void pileUpCalculation(gTowersType &twrs, int rhoThreshold_Max, int inputScale, int &PUCp) const =0
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IgFEXJetAlgo("LVL1::IgFEXJetAlgo", 1, 0)
std::array< std::array< int, 12 >, 32 > gTowersType
Definition IgFEXFPGA.h:25