ATLAS Offline Software
Loading...
Searching...
No Matches
jFEXtauAlgo.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4//***************************************************************************
5// jFEXtauAlgo - Algorithm for Tau Algorithm in jFEX
6// -------------------
7// begin : 18 02 2021
8// email : Sergi.Rodriguez@cern.ch
9//***************************************************************************
10
11#ifndef jFEXtauAlgo_H
12#define jFEXtauAlgo_H
13
14
15
20#include <vector>
21#include <unordered_map>
22
23namespace LVL1 {
24
25 class jFEXtauAlgo : public AthAlgTool, virtual public IjFEXtauAlgo{
26
27 public:
29 jFEXtauAlgo(const std::string& type, const std::string& name, const IInterface* parent);
30
32 virtual StatusCode initialize() override;
33
35 virtual ~jFEXtauAlgo();
36
37 virtual StatusCode safetyTest() override;
38 virtual void setup(int seed[3][3]) override;
39
40
41 virtual bool isSeedLocalMaxima() override;
42 virtual bool isSeedLocalMaxima_fwd(unsigned int TTID) override;
43 virtual void setFirstEtRing(int First_ETring[36]) override;
44 virtual int getClusterEt() const override;
45 virtual int getFirstEtRing() const override;
46 virtual bool getTauSat() const override;
47 virtual void setFPGAEnergy(const std::unordered_map<int,std::vector<int> >& et_map) override;
48
49protected:
50
51 private:
52 SG::ReadHandleKey<LVL1::jTowerContainer> m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "Input container for jTowers"};
54
55 Gaudi::Property<std::string> m_IsoRingStr {this, "IsolationRingMap" , "Run3L1CaloSimulation/JetMaps/2023_02_10/jFEX_FWD_1stRing.dat" , "Contains Trigger tower for the isolation"};
56 Gaudi::Property<std::string> m_SearchGStr {this, "SearchGTauMap" , "Run3L1CaloSimulation/JetMaps/2023_02_10/jFEX_FWD_searchGTau.dat" , "Contains Trigger tower to find local max (greater than)"};
57 Gaudi::Property<std::string> m_SearchGeStr {this, "SearchGeTauMap" , "Run3L1CaloSimulation/JetMaps/2023_02_10/jFEX_FWD_searchGeTau.dat", "Contains Trigger tower to find local max (greater or equal than)"};
58
59 std::unordered_map<unsigned int, std::vector<unsigned int> > m_IsoRingMap;
60 std::unordered_map<unsigned int, std::vector<unsigned int> > m_SearchGMap;
61 std::unordered_map<unsigned int, std::vector<unsigned int> > m_SearchGeMap;
62
63 StatusCode ReadfromFile(const std::string& , std::unordered_map<unsigned int, std::vector<unsigned int> >&) const;
64 int getTTowerET(unsigned int TTID ) const;
65 bool getTTowerSat(unsigned int TTID );
66
67 int m_TTwindow[3][3]={{0}};
68 int m_ClusterEt = 0;
70 bool m_TauSaturation = false;
71
72 std::unordered_map<int,std::vector<int> > m_map_Etvalues;
73
74 struct color {
75 std::string RED ="\033[1;31m";
76 std::string ORANGE ="\033[1;38;5;208m";
77 std::string YELLOW ="\033[1;33m";
78 std::string GREEN ="\033[1;32m";
79 std::string BLUE ="\033[1;34m";
80 std::string PURPLE ="\033[1;35m";
81 std::string END ="\033[0m";
82 std::string B_BLUE ="\033[1;44m";
83 std::string B_PURPLE ="\033[1;45m";
84 std::string B_ORANGE ="\033[1;48;5;208;30m";
85 std::string B_GRAY ="\033[1;100m";
86 std::string B_RED ="\033[1;41m";
87 std::string B_GREEN ="\033[1;42m";
89
90
91
92 };
93
94
95
96}//end of namespace
97
98
99CLASS_DEF( LVL1::jFEXtauAlgo , 121222945 , 1 )
100
101#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
jFEXtauAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
bool getTTowerSat(unsigned int TTID)
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition jFEXtauAlgo.h:53
virtual int getFirstEtRing() const override
virtual void setFirstEtRing(int First_ETring[36]) override
virtual bool getTauSat() const override
virtual StatusCode initialize() override
standard Athena-Algorithm method
int getTTowerET(unsigned int TTID) const
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition jFEXtauAlgo.h:52
std::unordered_map< unsigned int, std::vector< unsigned int > > m_IsoRingMap
Definition jFEXtauAlgo.h:59
virtual ~jFEXtauAlgo()
Destructor.
std::unordered_map< unsigned int, std::vector< unsigned int > > m_SearchGMap
Definition jFEXtauAlgo.h:60
virtual int getClusterEt() const override
Gaudi::Property< std::string > m_IsoRingStr
Definition jFEXtauAlgo.h:55
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition jFEXtauAlgo.h:72
int m_TTwindow[3][3]
Definition jFEXtauAlgo.h:67
std::unordered_map< unsigned int, std::vector< unsigned int > > m_SearchGeMap
Definition jFEXtauAlgo.h:61
virtual bool isSeedLocalMaxima() override
Gaudi::Property< std::string > m_SearchGeStr
Definition jFEXtauAlgo.h:57
virtual bool isSeedLocalMaxima_fwd(unsigned int TTID) override
virtual void setFPGAEnergy(const std::unordered_map< int, std::vector< int > > &et_map) override
virtual void setup(int seed[3][3]) override
struct LVL1::jFEXtauAlgo::color m_color
StatusCode ReadfromFile(const std::string &, std::unordered_map< unsigned int, std::vector< unsigned int > > &) const
virtual StatusCode safetyTest() override
Gaudi::Property< std::string > m_SearchGStr
Definition jFEXtauAlgo.h:56
Property holding a SG store/key/clid from which a ReadHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...