ATLAS Offline Software
Loading...
Searching...
No Matches
gFEXaltMetAlgo.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4//***************************************************************************
5// gFEXaltMetAlgo - Noise cut and Rho+RMS algorithm for gFEX MET
6// -------------------
7// begin : 31 03 2022
8// email : cecilia.tosciri@cern.ch
9//***************************************************************************
10
11#ifndef gFEXaltMetAlgo_H
12#define gFEXaltMetAlgo_H
13
19
20
21
22namespace LVL1 {
23
24 class gFEXaltMetAlgo : public extends<AthAlgTool, IgFEXaltMetAlgo> {
25
26 public:
28 gFEXaltMetAlgo(const std::string& type, const std::string& name, const IInterface* parent);
29
31 virtual StatusCode initialize() override;
32
33
34 virtual void setAlgoConstant(std::vector<int>&& A_thr,
35 std::vector<int>&& B_thr,
36 const int rhoPlusThr) override;
37
38
39 virtual void altMetAlgo(const gTowersCentral &Atwr, const gTowersCentral &Btwr,
40 std::array<uint32_t, 4> & outTOB) const override;
41
42
43
44 private:
45
46 std::array<std::vector<int>, 2> m_etaThr;
48
49
50 void metFPGA(const gTowersCentral &twrs, int & MET_x, int & MET_y, const unsigned short FPGA_NO) const;
51
52 void metTotal(const int A_MET_x, const int A_MET_y,
53 const int B_MET_x, const int B_MET_y,
54 int & MET_x, int & MET_y, int & MET) const;
55
56 int get_rho(const gTowersCentral &twrs) const;
57
58 int get_sigma(const gTowersCentral &twrs) const;
59
60 void rho_MET(const gTowersCentral &twrs, int & MET_x, int & MET_y, const int rho, const int sigma) const;
61
62 int sumEtFPGAnc(const gTowersCentral &twrs, const unsigned short FPGA_NO) const;
63
64 int sumEtFPGArms(const gTowersCentral &twrs, const int sigma) const;
65
66 int sumEt(const int A_sumEt, const int B_sumEt) const;
67
68 float sinLUT(const unsigned int phiIDX, const unsigned int aw) const;
69
70 float cosLUT(const unsigned int phiIDX, const unsigned int aw) const;
71
72 };
73
74} // end of namespace
75
76
77#endif
macros to associate a CLID to a type
void metFPGA(const gTowersCentral &twrs, int &MET_x, int &MET_y, const unsigned short FPGA_NO) const
virtual void altMetAlgo(const gTowersCentral &Atwr, const gTowersCentral &Btwr, std::array< uint32_t, 4 > &outTOB) const override
gFEXaltMetAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
float cosLUT(const unsigned int phiIDX, const unsigned int aw) const
void metTotal(const int A_MET_x, const int A_MET_y, const int B_MET_x, const int B_MET_y, int &MET_x, int &MET_y, int &MET) const
float sinLUT(const unsigned int phiIDX, const unsigned int aw) const
virtual StatusCode initialize() override
standard Athena-Algorithm method
std::array< std::vector< int >, 2 > m_etaThr
virtual void setAlgoConstant(std::vector< int > &&A_thr, std::vector< int > &&B_thr, const int rhoPlusThr) override
int sumEtFPGArms(const gTowersCentral &twrs, const int sigma) const
int get_sigma(const gTowersCentral &twrs) const
int sumEtFPGAnc(const gTowersCentral &twrs, const unsigned short FPGA_NO) const
void rho_MET(const gTowersCentral &twrs, int &MET_x, int &MET_y, const int rho, const int sigma) const
int sumEt(const int A_sumEt, const int B_sumEt) const
int get_rho(const gTowersCentral &twrs) const
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
std::array< std::array< int, 12 >, 32 > gTowersCentral
Definition MET.py:1