CMS 3D CMS Logo

HcalTrigTowerGeometry.h
Go to the documentation of this file.
1 #ifndef HcalTrigTowerGeometry_h
2 #define HcalTrigTowerGeometry_h
3 
6 #include <vector>
8 class HcalDetId;
9 
11 public:
13 
15  std::vector<HcalTrigTowerDetId> towerIds(const HcalDetId& cellId) const;
16  std::vector<HcalDetId> detIds(const HcalTrigTowerDetId&) const;
17 
18  int firstHFTower(int version) const { return (version == 0) ? (29) : (30); }
19 
21  void towerEtaBounds(int ieta, int version, double& eta1, double& eta2) const;
22 
24  int nTowers(int version) const { return (version == 0) ? (32) : (41); }
25 
26  // get the topology pointer
27  const HcalTopology& topology() const { return *theTopology; }
28 
29  // Get the useRCT and use1x1 values
30  bool useRCT() const { return useRCT_; }
31  bool use1x1() const { return use1x1_; }
32 
33 private:
35  int nPhiBins(int ieta, int version) const {
36  int nPhiBinsHF = (18);
37  return (abs(ieta) < firstHFTower(version)) ? 72 : nPhiBinsHF;
38  }
39 
42  int hfTowerEtaSize(int ieta) const;
43 
45  int firstHFRingInTower(int ietaTower) const;
46 
47 private:
49 
50  bool useRCT_;
51  bool use1x1_;
52  bool use2017_;
53 };
54 
55 #endif
HcalTrigTowerGeometry::theTopology
const HcalTopology * theTopology
Definition: HcalTrigTowerGeometry.h:48
HcalTrigTowerGeometry::towerIds
std::vector< HcalTrigTowerDetId > towerIds(const HcalDetId &cellId) const
the mapping to and from DetIds
Definition: HcalTrigTowerGeometry.cc:15
HcalTopology
Definition: HcalTopology.h:26
HLT_2018_cff.eta1
eta1
Definition: HLT_2018_cff.py:8220
HcalTrigTowerGeometry::nPhiBins
int nPhiBins(int ieta, int version) const
the number of phi bins in this eta ring
Definition: HcalTrigTowerGeometry.h:35
HcalTrigTowerGeometry::firstHFRingInTower
int firstHFRingInTower(int ietaTower) const
since the towers are irregular in eta in HF
Definition: HcalTrigTowerGeometry.cc:223
HcalTrigTowerGeometry::hfTowerEtaSize
int hfTowerEtaSize(int ieta) const
Definition: HcalTrigTowerGeometry.cc:216
HcalTrigTowerGeometry::use1x1
bool use1x1() const
Definition: HcalTrigTowerGeometry.h:31
HLT_2018_cff.eta2
eta2
Definition: HLT_2018_cff.py:8221
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
HcalTrigTowerGeometry::topology
const HcalTopology & topology() const
Definition: HcalTrigTowerGeometry.h:27
HcalDetId
Definition: HcalDetId.h:12
HcalTrigTowerGeometry::firstHFTower
int firstHFTower(int version) const
Definition: HcalTrigTowerGeometry.h:18
HcalTrigTowerGeometry
Definition: HcalTrigTowerGeometry.h:10
HcalTrigTowerGeometry::useRCT
bool useRCT() const
Definition: HcalTrigTowerGeometry.h:30
HcalTopology.h
HcalTrigTowerGeometry::use2017_
bool use2017_
Definition: HcalTrigTowerGeometry.h:52
DetId.h
HcalTrigTowerGeometry::HcalTrigTowerGeometry
HcalTrigTowerGeometry(const HcalTopology *topology)
Definition: HcalTrigTowerGeometry.cc:8
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HcalTrigTowerGeometry::towerEtaBounds
void towerEtaBounds(int ieta, int version, double &eta1, double &eta2) const
where this tower begins and ends in eta
Definition: HcalTrigTowerGeometry.cc:237
BeamSplash_cfg.version
version
Definition: BeamSplash_cfg.py:45
HcalTrigTowerGeometry::nTowers
int nTowers(int version) const
number of towers (version dependent)
Definition: HcalTrigTowerGeometry.h:24
HcalTrigTowerGeometry::detIds
std::vector< HcalDetId > detIds(const HcalTrigTowerDetId &) const
Definition: HcalTrigTowerGeometry.cc:84
HcalTrigTowerGeometry::useRCT_
bool useRCT_
Definition: HcalTrigTowerGeometry.h:50
HcalTrigTowerGeometry::use1x1_
bool use1x1_
Definition: HcalTrigTowerGeometry.h:51
HcalTrigTowerDetId
Definition: HcalTrigTowerDetId.h:14