ATLAS Offline Software
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 
33 namespace 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;
49  L1CaloTTIdTools& operator=(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
LVL1::L1CaloTTIdTools::operator=
L1CaloTTIdTools & operator=(const L1CaloTTIdTools &rhs)=delete
IL1CaloTTIdTools.h
LVL1::L1CaloTTIdTools::side
int side(const HWIdentifier &id)
Declare the interface that the class provides.
Definition: L1CaloTTIdTools.cxx:65
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
LVL1::L1CaloTTIdTools::regionIndex
int regionIndex(const double eta) const
Definition: L1CaloTTIdTools.cxx:545
LVL1::L1CaloTTIdTools::IDphi
double IDphi(const Identifier &id) const
Definition: L1CaloTTIdTools.cxx:447
LVL1::L1CaloTTIdTools::ETAMAXREGION3
static const double ETAMAXREGION3
Definition: L1CaloTTIdTools.h:96
LVL1::L1CaloTTIdTools
Definition: L1CaloTTIdTools.h:36
LVL1::L1CaloTTIdTools::pos_neg_z
int pos_neg_z(const double eta) const
Definition: L1CaloTTIdTools.cxx:515
InternalTriggerTower.h
LVL1::L1CaloTTIdTools::~L1CaloTTIdTools
virtual ~L1CaloTTIdTools()
destructor
Definition: L1CaloTTIdTools.h:44
LVL1::L1CaloTTIdTools::eta
int eta(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:160
TTOnlineID
Helper class for Calo TT online identifiers.
Definition: TTOnlineID.h:37
LVL1::L1CaloTTIdTools::sampling
int sampling(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:72
LVL1::L1CaloTTIdTools::L1CaloTTIdTools
L1CaloTTIdTools(L1CaloTTIdTools &&rhs)=delete
TriggerTowerKey.h
LVL1::L1CaloTTIdTools::barrel_endcap_fcal
int barrel_endcap_fcal(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:353
LVL1::IL1CaloTTIdTools
Definition: IL1CaloTTIdTools.h:29
HWIdentifier
Definition: HWIdentifier.h:13
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::L1CaloTTIdTools::layer
int layer(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:342
LVL1::L1CaloTTIdTools::ETAMAXREGION0
static const double ETAMAXREGION0
Definition: L1CaloTTIdTools.h:93
LVL1::L1CaloTTIdTools::phi
int phi(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:282
LVL1::L1CaloTTIdTools::etaIndex
int etaIndex(const double eta) const
Definition: L1CaloTTIdTools.cxx:519
LVL1::L1CaloTTIdTools::L1CaloTTIdTools
L1CaloTTIdTools(const L1CaloTTIdTools &rhs)=delete
LVL1::L1CaloTTIdTools::BASEDPHI
static const double BASEDPHI
Definition: L1CaloTTIdTools.h:90
LVL1::L1CaloTTIdTools::finalize
virtual StatusCode finalize()
Definition: L1CaloTTIdTools.cxx:59
LVL1::L1CaloTTIdTools::PPM_type
int PPM_type(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:144
LVL1::L1CaloTTIdTools::FCALDETA
static const double FCALDETA
Definition: L1CaloTTIdTools.h:91
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::L1CaloTTIdTools::module_type
int module_type(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:366
LVL1::L1CaloTTIdTools::BASEDETA
static const double BASEDETA
Definition: L1CaloTTIdTools.h:89
LVL1::L1CaloTTIdTools::region
int region(const HWIdentifier &id)
Definition: L1CaloTTIdTools.cxx:83
TTOnlineID.h
LVL1::L1CaloTTIdTools::IDeta
double IDeta(const Identifier &id) const
Definition: L1CaloTTIdTools.cxx:429
TrigConf::name
Definition: HLTChainList.h:35
LVL1::L1CaloTTIdTools::m_l1ttonlineHelper
const TTOnlineID * m_l1ttonlineHelper
Definition: L1CaloTTIdTools.h:83
LVL1::InternalTriggerTower
A version of the TriggerTower that contains information that would not be availiable during datatakin...
Definition: InternalTriggerTower.h:31
CaloLVL1_ID
Helper class for offline TT identifiers.
Definition: CaloLVL1_ID.h:66
HWIdentifier.h
LVL1::L1CaloTTIdTools::etaWidth
double etaWidth(const double eta) const
Definition: L1CaloTTIdTools.cxx:483
LVL1::L1CaloTTIdTools::ETAMIN
static const double ETAMIN
Definition: L1CaloTTIdTools.h:98
LVL1::L1CaloTTIdTools::m_bInitialized
bool m_bInitialized
Definition: L1CaloTTIdTools.h:86
LVL1::L1CaloTTIdTools::L1CaloTTIdTools
L1CaloTTIdTools()=delete
delete the big 4
LVL1::L1CaloTTIdTools::ETAMAXREGION1
static const double ETAMAXREGION1
Definition: L1CaloTTIdTools.h:94
CaloLVL1_ID.h
LVL1::L1CaloTTIdTools::phiWidth
double phiWidth(const double eta) const
Definition: L1CaloTTIdTools.cxx:499
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
LVL1::L1CaloTTIdTools::findInternalTriggerTower
LVL1::InternalTriggerTower * findInternalTriggerTower(std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, const Identifier &towerId, bool bCreate=true)
Definition: L1CaloTTIdTools.cxx:456
LVL1::L1CaloTTIdTools::PHIMIN
static const double PHIMIN
Definition: L1CaloTTIdTools.h:99
LVL1::L1CaloTTIdTools::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: L1CaloTTIdTools.cxx:29
LVL1::L1CaloTTIdTools::ETAMAXREGION2
static const double ETAMAXREGION2
Definition: L1CaloTTIdTools.h:95
LVL1::L1CaloTTIdTools::m_l1ttofflineHelper
const CaloLVL1_ID * m_l1ttofflineHelper
Definition: L1CaloTTIdTools.h:84
AsgTool.h
LVL1::L1CaloTTIdTools::phiIndex
int phiIndex(const double eta, const double phi) const
Definition: L1CaloTTIdTools.cxx:539
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37