ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloTTIdTools.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef _TRIGGER_TRIGT1_TRIGT1CALOCALIBTOOLS_L1CALOTTIDTOOLS_H_
6#define _TRIGGER_TRIGT1_TRIGT1CALOCALIBTOOLS_L1CALOTTIDTOOLS_H_
7
8#include "AsgTools/AsgTool.h"
9#include "GaudiKernel/ToolHandle.h"
10
11#include "Identifier/Identifier.h"
15
18
20
21#include <iostream>
22#include <cmath>
23
32
33namespace LVL1{
34
35 class L1CaloTTIdTools : virtual public IL1CaloTTIdTools,public asg::AsgTool
36 {
39
40 public:
42 L1CaloTTIdTools( const std::string& name );
44 virtual ~L1CaloTTIdTools(){}
46 L1CaloTTIdTools() = delete;
47 L1CaloTTIdTools(const L1CaloTTIdTools& rhs) = delete;
50
51 virtual StatusCode initialize();
52 virtual StatusCode finalize();
53
54 // from harcoded algorithms
55 int side (const HWIdentifier& id);
56 int sampling (const HWIdentifier& id);
57 int region (const HWIdentifier& id);
58 int eta (const HWIdentifier& id);
59 int phi (const HWIdentifier& id);
60 int layer (const HWIdentifier& id);
61 int PPM_type (const HWIdentifier& id);
62
63 int module_type(const HWIdentifier& id);
64 int barrel_endcap_fcal(const HWIdentifier& id);
65
66 // to get eta/phi position from the offline TT Id fields
67 double IDeta(const Identifier& id) const;
68 double IDphi(const Identifier& id) const;
69
70 LVL1::InternalTriggerTower* findInternalTriggerTower(std::map<unsigned int, LVL1::InternalTriggerTower*>* pIntTTContainer, const Identifier& towerId, bool bCreate = true);
71 LVL1::InternalTriggerTower* findInternalTriggerTower(std::map<unsigned int, LVL1::InternalTriggerTower*>* pIntTTContainer, double tt_phi, double tt_eta, unsigned int key, bool bCreate = true);
72
73
74 double etaWidth(const double eta) const;
75 double phiWidth(const double eta) const;
76 int pos_neg_z(const double eta) const;
77 int regionIndex(const double eta) const;
78 int etaIndex(const double eta) const;
79 int phiIndex(const double eta, const double phi) const;
80
81 private:
82
85
87
88
89 static const double BASEDETA;
90 static const double BASEDPHI;
91 static const double FCALDETA;
92
93 static const double ETAMAXREGION0;
94 static const double ETAMAXREGION1;
95 static const double ETAMAXREGION2;
96 static const double ETAMAXREGION3;
97
98 static const double ETAMIN;
99 static const double PHIMIN;
100
101 };
102} // end of namespace
103#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Helper class for offline TT identifiers.
Definition CaloLVL1_ID.h:66
A version of the TriggerTower that contains information that would not be availiable during datatakin...
L1CaloTTIdTools()=delete
delete the big 4
int region(const HWIdentifier &id)
L1CaloTTIdTools(const std::string &name)
Create a proper constructor for Athena.
const CaloLVL1_ID * m_l1ttofflineHelper
int regionIndex(const double eta) const
const TTOnlineID * m_l1ttonlineHelper
virtual StatusCode finalize()
static const double PHIMIN
int side(const HWIdentifier &id)
Declare the interface that the class provides.
static const double ETAMAXREGION1
int phi(const HWIdentifier &id)
int sampling(const HWIdentifier &id)
int PPM_type(const HWIdentifier &id)
double phiWidth(const double eta) const
L1CaloTTIdTools(const L1CaloTTIdTools &rhs)=delete
int layer(const HWIdentifier &id)
int eta(const HWIdentifier &id)
L1CaloTTIdTools(L1CaloTTIdTools &&rhs)=delete
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
virtual ~L1CaloTTIdTools()
destructor
int module_type(const HWIdentifier &id)
static const double BASEDETA
static const double BASEDPHI
int phiIndex(const double eta, const double phi) const
static const double ETAMIN
L1CaloTTIdTools & operator=(const L1CaloTTIdTools &rhs)=delete
double etaWidth(const double eta) const
int pos_neg_z(const double eta) const
double IDphi(const Identifier &id) const
LVL1::InternalTriggerTower * findInternalTriggerTower(std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, const Identifier &towerId, bool bCreate=true)
static const double ETAMAXREGION3
int barrel_endcap_fcal(const HWIdentifier &id)
int etaIndex(const double eta) const
static const double ETAMAXREGION2
double IDeta(const Identifier &id) const
static const double FCALDETA
static const double ETAMAXREGION0
Helper class for Calo TT online identifiers.
Definition TTOnlineID.h:29
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...