ATLAS Offline Software
Loading...
Searching...
No Matches
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
20namespace LVL1 {
21
22class 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
#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
virtual void reset() const override
void BuildEMEjTowers(std::unique_ptr< jTowerContainer > &jTowerContainerRaw) const
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...