ATLAS Offline Software
jTowerBuilder.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 
6 #ifndef JTOWERBUILDER_H
7 #define JTOWERBUILDER_H
8 
9 // STL
10 #include <string>
11 
12 // Athena/Gaudi
15 #include "L1CaloFEXSim/jTower.h"
19 
20 namespace LVL1 {
21 
22 class jTowerBuilder: public AthAlgTool, virtual public IjTowerBuilder {
23 
24  public:
25  jTowerBuilder(const std::string& type,const std::string& name,const IInterface* parent);
26  virtual ~jTowerBuilder() = default;
27  virtual StatusCode initialize() override;
28 
29  virtual void init(std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const override ;
30  virtual void execute(std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const override ;
31  virtual void reset() const override ;
32  virtual StatusCode AssignPileupAndNoiseValues (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const override;
33 
34 
35 
36  private:
37  void BuildEMBjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
38  void BuildTRANSjTowers(std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
39  void BuildEMEjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
40  void BuildEMIEjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
41  void BuildFCALjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
42  void BuildHECjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
43  void BuildAllTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
44  void BuildSingleTower (std::unique_ptr<jTowerContainer> & jTowerContainerRaw,float eta, float phi, int key_eta, float keybase, int posneg, float centre_eta = 0.0, float centre_phi = 0.0, int fcal_layer = -1) const;
45 
46  static constexpr float m_TT_Size_phi = M_PI/32;
47  static constexpr float m_TT_Size_phi_FCAL = M_PI/16;
48 
49  SG::ReadCondHandleKey<jFEXDBCondData> m_BDToolKey {this, "BDToolKey", "jFEXDBParams", "DB tool key"};
50 
51 
52 };
53 
54 } // end of LVL1 namespace
55 #endif
LVL1::jTowerBuilder::m_BDToolKey
SG::ReadCondHandleKey< jFEXDBCondData > m_BDToolKey
Definition: jTowerBuilder.h:49
LVL1::jTowerBuilder
Definition: jTowerBuilder.h:22
LVL1::jTowerBuilder::m_TT_Size_phi
static constexpr float m_TT_Size_phi
Definition: jTowerBuilder.h:46
LVL1::jTowerBuilder::BuildHECjTowers
void BuildHECjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
Definition: jTowerBuilder.cxx:258
LVL1::IjTowerBuilder
Definition: IjTowerBuilder.h:28
LVL1::jTowerBuilder::BuildTRANSjTowers
void BuildTRANSjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
Definition: jTowerBuilder.cxx:75
jFEXDBCondData.h
M_PI
#define M_PI
Definition: ActiveFraction.h:11
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LVL1::jTowerBuilder::~jTowerBuilder
virtual ~jTowerBuilder()=default
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::jTowerBuilder::BuildEMIEjTowers
void BuildEMIEjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
Definition: jTowerBuilder.cxx:151
LVL1::jTowerBuilder::init
virtual void init(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const override
Definition: jTowerBuilder.cxx:32
LVL1::jTowerBuilder::BuildEMBjTowers
void BuildEMBjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
Definition: jTowerBuilder.cxx:61
TrigConf::name
Definition: HLTChainList.h:35
ReadCondHandleKey.h
jTowerContainer.h
LVL1::jTowerBuilder::BuildEMEjTowers
void BuildEMEjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
Definition: jTowerBuilder.cxx:91
LVL1::jTowerBuilder::initialize
virtual StatusCode initialize() override
Definition: jTowerBuilder.cxx:23
LVL1::jTowerBuilder::m_TT_Size_phi_FCAL
static constexpr float m_TT_Size_phi_FCAL
Definition: jTowerBuilder.h:47
IjTowerBuilder.h
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
LVL1::jTowerBuilder::jTowerBuilder
jTowerBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Definition: jTowerBuilder.cxx:19
LVL1::jTowerBuilder::AssignPileupAndNoiseValues
virtual StatusCode AssignPileupAndNoiseValues(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const override
Definition: jTowerBuilder.cxx:293
LVL1::jTowerBuilder::BuildSingleTower
void BuildSingleTower(std::unique_ptr< jTowerContainer > &jTowerContainerRaw, float eta, float phi, int key_eta, float keybase, int posneg, float centre_eta=0.0, float centre_phi=0.0, int fcal_layer=-1) const
Definition: jTowerBuilder.cxx:285
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::jTowerBuilder::reset
virtual void reset() const override
Definition: jTowerBuilder.cxx:42
LVL1::jTowerBuilder::execute
virtual void execute(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const override
Definition: jTowerBuilder.cxx:47
jTower.h
LVL1::jTowerBuilder::BuildFCALjTowers
void BuildFCALjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
Definition: jTowerBuilder.cxx:182
LVL1::jTowerBuilder::BuildAllTowers
void BuildAllTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
Definition: jTowerBuilder.cxx:343