ATLAS Offline Software
IjFEXPileupAndNoise.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 // Interface for jFEXPileupAndNoise - Algorithm for Pileup and Noise in jFEX
6 // -------------------
7 // begin : 24 05 2021
8 // email : Sergi.Rodriguez@cern.ch
9 //***************************************************************************
10 
11 #ifndef IjFEXPileupAndNoise_H
12 #define IjFEXPileupAndNoise_H
13 
14 #include "GaudiKernel/IAlgTool.h"
17 
18 namespace LVL1 {
19 
20 static const InterfaceID IID_IjFEXPileupAndNoise("LVL1::IjFEXPileupAndNoise",1, 0);
21 
22 class IjFEXPileupAndNoise : virtual public IAlgTool {
23  public:
24  static const InterfaceID& interfaceID ( ) ;
25  virtual StatusCode initialize() = 0;
26  virtual StatusCode safetyTest() = 0;
27  virtual StatusCode reset() = 0;
28 
31 
32  virtual std::unordered_map<int,std::vector<int> > GetEt_values() =0;
33  virtual std::unordered_map<int,std::vector<int> > Get_EM_Et_values() =0;
34  virtual std::unordered_map<int,std::vector<int> > Get_HAD_Et_values() =0;
35 
36  virtual std::vector<int> CalculatePileup() =0;
37  virtual StatusCode ApplyPileup() =0;
38  virtual void ApplyNoise2Jets(bool) =0;
39  virtual void ApplyNoise2Met(bool) =0;
40 
41  private:
42 
43 };
44 
45 inline const InterfaceID& LVL1::IjFEXPileupAndNoise::interfaceID()
46 {
47  return IID_IjFEXPileupAndNoise;
48 }
49 
50 }
51 #endif
52 
LVL1::IjFEXPileupAndNoise::safetyTest
virtual StatusCode safetyTest()=0
LVL1::FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width
constexpr static int jFEX_thin_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:26
LVL1::IjFEXPileupAndNoise::GetEt_values
virtual std::unordered_map< int, std::vector< int > > GetEt_values()=0
LVL1::IjFEXPileupAndNoise::reset
virtual StatusCode reset()=0
LVL1::IjFEXPileupAndNoise::setup
virtual void setup(int FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width])=0
LVL1::FEXAlgoSpaceDefs::jFEX_algoSpace_height
constexpr static int jFEX_algoSpace_height
Definition: FEXAlgoSpaceDefs.h:27
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IjFEXPileupAndNoise
Definition: IjFEXPileupAndNoise.h:22
LVL1::IjFEXPileupAndNoise::ApplyNoise2Jets
virtual void ApplyNoise2Jets(bool)=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
LVL1::IjFEXPileupAndNoise::interfaceID
static const InterfaceID & interfaceID()
Definition: IjFEXPileupAndNoise.h:45
FEXAlgoSpaceDefs.h
LVL1::IjFEXPileupAndNoise::ApplyPileup
virtual StatusCode ApplyPileup()=0
jTowerContainer.h
LVL1::IjFEXPileupAndNoise::ApplyNoise2Met
virtual void ApplyNoise2Met(bool)=0
LVL1::IjFEXPileupAndNoise::setup
virtual void setup(int FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width])=0
LVL1::IjFEXPileupAndNoise::initialize
virtual StatusCode initialize()=0
LVL1::IjFEXPileupAndNoise::CalculatePileup
virtual std::vector< int > CalculatePileup()=0
LVL1::IjFEXPileupAndNoise::Get_HAD_Et_values
virtual std::unordered_map< int, std::vector< int > > Get_HAD_Et_values()=0
LVL1::gFEX::FPGA
FPGA
Definition: GTowerHelpers.h:17
LVL1::IjFEXPileupAndNoise::Get_EM_Et_values
virtual std::unordered_map< int, std::vector< int > > Get_EM_Et_values()=0