ATLAS Offline Software
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 
18 #include "AthenaKernel/CLASS_DEF.h"
20 #include <vector>
21 #include <unordered_map>
22 
23 namespace 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 
49 protected:
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;
69  int m_TauIsolation = 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 
99 CLASS_DEF( LVL1::jFEXtauAlgo , 121222945 , 1 )
100 
101 #endif
LVL1::jFEXtauAlgo::getTTowerET
int getTTowerET(unsigned int TTID) const
Definition: jFEXtauAlgo.cxx:161
LVL1::jFEXtauAlgo::m_SearchGStr
Gaudi::Property< std::string > m_SearchGStr
Definition: jFEXtauAlgo.h:56
LVL1::jFEXtauAlgo::getTauSat
virtual bool getTauSat() const override
Definition: jFEXtauAlgo.cxx:195
LVL1::jFEXtauAlgo::m_color
struct LVL1::jFEXtauAlgo::color m_color
LVL1::jFEXtauAlgo::m_map_Etvalues
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition: jFEXtauAlgo.h:72
LVL1::jFEXtauAlgo::color::YELLOW
std::string YELLOW
Definition: jFEXtauAlgo.h:77
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
LVL1::jFEXtauAlgo::color::END
std::string END
Definition: jFEXtauAlgo.h:81
LVL1::jFEXtauAlgo::m_IsoRingMap
std::unordered_map< unsigned int, std::vector< unsigned int > > m_IsoRingMap
Definition: jFEXtauAlgo.h:59
LVL1::jFEXtauAlgo::m_TauIsolation
int m_TauIsolation
Definition: jFEXtauAlgo.h:69
LVL1::jFEXtauAlgo::setFirstEtRing
virtual void setFirstEtRing(int First_ETring[36]) override
Definition: jFEXtauAlgo.cxx:180
SG::ReadHandleKey< LVL1::jTowerContainer >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::jFEXtauAlgo::m_SearchGMap
std::unordered_map< unsigned int, std::vector< unsigned int > > m_SearchGMap
Definition: jFEXtauAlgo.h:60
LVL1::jFEXtauAlgo::color::B_PURPLE
std::string B_PURPLE
Definition: jFEXtauAlgo.h:83
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LVL1::jFEXtauAlgo::getTTowerSat
bool getTTowerSat(unsigned int TTID)
Definition: jFEXtauAlgo.cxx:151
LVL1::jFEXtauAlgo::setFPGAEnergy
virtual void setFPGAEnergy(const std::unordered_map< int, std::vector< int > > &et_map) override
Definition: jFEXtauAlgo.cxx:199
LVL1::jFEXtauAlgo::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: jFEXtauAlgo.cxx:28
LVL1::jFEXtauAlgo::color::BLUE
std::string BLUE
Definition: jFEXtauAlgo.h:79
LVL1::jFEXtauAlgo::color::ORANGE
std::string ORANGE
Definition: jFEXtauAlgo.h:76
LVL1::jFEXtauAlgo::color::B_GREEN
std::string B_GREEN
Definition: jFEXtauAlgo.h:87
LVL1::jFEXtauAlgo::color::RED
std::string RED
Definition: jFEXtauAlgo.h:75
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::jFEXtauAlgo::jFEXtauAlgo
jFEXtauAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: jFEXtauAlgo.cxx:20
IjFEXtauAlgo.h
LVL1::jFEXtauAlgo::color
Definition: jFEXtauAlgo.h:74
LVL1::jFEXtauAlgo::color::B_GRAY
std::string B_GRAY
Definition: jFEXtauAlgo.h:85
AthAlgTool.h
LVL1::jFEXtauAlgo::getFirstEtRing
virtual int getFirstEtRing() const override
Definition: jFEXtauAlgo.cxx:191
LVL1::jFEXtauAlgo::isSeedLocalMaxima
virtual bool isSeedLocalMaxima() override
Definition: jFEXtauAlgo.cxx:65
LVL1::jFEXtauAlgo::getClusterEt
virtual int getClusterEt() const override
Definition: jFEXtauAlgo.cxx:174
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::jFEXtauAlgo::m_ClusterEt
int m_ClusterEt
Definition: jFEXtauAlgo.h:68
LVL1::jFEXtauAlgo::m_jTowerContainer
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition: jFEXtauAlgo.h:53
LVL1::jFEXtauAlgo::setup
virtual void setup(int seed[3][3]) override
Definition: jFEXtauAlgo.cxx:50
LVL1::jFEXtauAlgo::m_SearchGeStr
Gaudi::Property< std::string > m_SearchGeStr
Definition: jFEXtauAlgo.h:57
LVL1::jFEXtauAlgo::color::PURPLE
std::string PURPLE
Definition: jFEXtauAlgo.h:80
TrigConf::name
Definition: HLTChainList.h:35
LVL1::jFEXtauAlgo::safetyTest
virtual StatusCode safetyTest() override
Definition: jFEXtauAlgo.cxx:39
jTowerContainer.h
LVL1::jFEXtauAlgo::m_SearchGeMap
std::unordered_map< unsigned int, std::vector< unsigned int > > m_SearchGeMap
Definition: jFEXtauAlgo.h:61
LVL1::jFEXtauAlgo::m_TauSaturation
bool m_TauSaturation
Definition: jFEXtauAlgo.h:70
LVL1::jFEXtauAlgo::~jFEXtauAlgo
virtual ~jFEXtauAlgo()
Destructor.
Definition: jFEXtauAlgo.cxx:25
LVL1::IjFEXtauAlgo
Definition: IjFEXtauAlgo.h:20
LVL1::jFEXtauAlgo::color::B_BLUE
std::string B_BLUE
Definition: jFEXtauAlgo.h:82
LVL1::jFEXtauAlgo::ReadfromFile
StatusCode ReadfromFile(const std::string &, std::unordered_map< unsigned int, std::vector< unsigned int > > &) const
Definition: jFEXtauAlgo.cxx:204
LVL1::jFEXtauAlgo::m_IsoRingStr
Gaudi::Property< std::string > m_IsoRingStr
Definition: jFEXtauAlgo.h:55
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
LVL1::jFEXtauAlgo::m_TTwindow
int m_TTwindow[3][3]
Definition: jFEXtauAlgo.h:67
LVL1::jFEXtauAlgo
Definition: jFEXtauAlgo.h:25
LVL1::jFEXtauAlgo::isSeedLocalMaxima_fwd
virtual bool isSeedLocalMaxima_fwd(unsigned int TTID) override
Definition: jFEXtauAlgo.cxx:96
LVL1::jFEXtauAlgo::m_jTowerContainerKey
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition: jFEXtauAlgo.h:52
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::jFEXtauAlgo::color::B_ORANGE
std::string B_ORANGE
Definition: jFEXtauAlgo.h:84
LVL1::jFEXtauAlgo::color::B_RED
std::string B_RED
Definition: jFEXtauAlgo.h:86
CLASS_DEF.h
macros to associate a CLID to a type
LVL1::jFEXtauAlgo::color::GREEN
std::string GREEN
Definition: jFEXtauAlgo.h:78