ATLAS Offline Software
Loading...
Searching...
No Matches
jTowerBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6#ifndef JTOWERBUILDER_H
7#define JTOWERBUILDER_H
8
9// Athena/Gaudi
12#include "L1CaloFEXSim/jTower.h"
16
17#include <string>
18
19namespace LVL1 {
20
21class jTowerBuilder: public AthAlgTool, virtual public IjTowerBuilder {
22
23 public:
24 jTowerBuilder(const std::string& type,const std::string& name,const IInterface* parent);
25 virtual ~jTowerBuilder() = default;
26 virtual StatusCode initialize() override;
27
28 virtual void init(std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const override ;
29 virtual void execute(std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const override ;
30
31 virtual StatusCode AssignPileupAndNoiseValues (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const override;
32
33
34
35 private:
36 void BuildEMBjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
37 void BuildTRANSjTowers(std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
38 void BuildEMEjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
39 void BuildEMIEjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
40 void BuildFCALjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
41 void BuildHECjTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
42 void BuildAllTowers (std::unique_ptr<jTowerContainer> & jTowerContainerRaw) const;
43 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;
44
45 static constexpr float m_TT_Size_phi = M_PI/32;
46 static constexpr float m_TT_Size_phi_FCAL = M_PI/16;
47
48 SG::ReadCondHandleKey<jFEXDBCondData> m_BDToolKey {this, "BDToolKey", "jFEXDBParams", "DB tool key"};
49
50
51};
52
53} // end of LVL1 namespace
54#endif
#define M_PI
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
void BuildTRANSjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
void BuildAllTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
void BuildEMIEjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
virtual ~jTowerBuilder()=default
void BuildHECjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
SG::ReadCondHandleKey< jFEXDBCondData > m_BDToolKey
jTowerBuilder(const std::string &type, const std::string &name, const IInterface *parent)
static constexpr float m_TT_Size_phi_FCAL
virtual void execute(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const override
virtual void init(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const override
void BuildFCALjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
virtual StatusCode initialize() override
void BuildEMBjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
static constexpr float m_TT_Size_phi
virtual StatusCode AssignPileupAndNoiseValues(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const override
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
void BuildEMEjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...