CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FastL1RegionMap.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_FastL1RegionMap_h
2 #define RecoTauTag_FastL1RegionMap_h
3 // -*- C++ -*-
4 //
5 // Package: L1CaloSim
6 // Class: FastL1RegionMap
7 //
15 //
16 // Original Author: Chi Nhan Nguyen
17 // Created: Mon Feb 19 13:25:24 CST 2007
18 // $Id: FastL1RegionMap.h,v 1.3 2009/03/23 11:41:27 chinhan Exp $
19 //
20 
21 #include <iostream>
22 #include <string>
23 #include <list>
24 
26 
27 
28 //
29 // This Class is used for the mapping Detector IDs to the region IDs
30 //
31 // Region (HF not yet considered!!!)
32 // 22x18 (ieta x iphi) map:
33 //
34 // ieta: 0 1 2 3 ... 21
35 // ...
36 // ...
37 //
38 // iphi: 17 17 17 17 ... 17
39 // . . . . ... .
40 // . . . . ... .
41 // 2 . . . ... 2
42 // 1 . . . ... 1
43 // 0 . . . ... 0
44 //
45 // barrel ieta: 7-14
46 // endcap ieta: 4-6, 15-17
47 // HF ieta: 0-3, 18-21 // HF not considered yet!
48 //
50 
51  public:
54 
56 
57  std::pair<int, int> getRegionEtaPhiIndex(std::pair<int, int> iEtaPhi);
58  std::pair<int, int> getRegionEtaPhiIndex(CaloTowerDetId towerId);
59  std::pair<int, int> getRegionEtaPhiIndex(int regionId);
60  int getRegionIndex(int ieta, int iphi);
61  int getRegionIndex(CaloTowerDetId tower);
62  int getRegionTowerIndex(std::pair<int, int> iEtaPhi);
63  int getRegionTowerIndex(int ieta, int iphi);
65 
66  std::pair<double, double> getRegionCenterEtaPhi(int iRgn);
67 
68  int getNTower() { return nTower; };
69  int getNRegion() { return nRegion; };
70 
71  int convertFromECal_to_HCal_iphi(int iphi_ecal);
72  int convertFromHCal_to_ECal_iphi(int iphi_hcal);
73 
74  void display();
75 
76  //CaloTowerDetId getTowerId();
77 
78  std::pair<int, int> GetTowerNorthEtaPhi(int ieta, int iphi);
79  std::pair<int, int> GetTowerSouthEtaPhi(int ieta, int iphi);
80  std::pair<int, int> GetTowerWestEtaPhi(int ieta, int iphi);
81  std::pair<int, int> GetTowerEastEtaPhi(int ieta, int iphi);
82  std::pair<int, int> GetTowerNWEtaPhi(int ieta, int iphi);
83  std::pair<int, int> GetTowerNEEtaPhi(int ieta, int iphi);
84  std::pair<int, int> GetTowerSWEtaPhi(int ieta, int iphi);
85  std::pair<int, int> GetTowerSEEtaPhi(int ieta, int iphi);
86 
87  private:
89 
90  int nTower;
91  int nRegion;
92 
93 
94 };
95 
96 #endif
std::pair< int, int > GetTowerNEEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerNWEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerSEEtaPhi(int ieta, int iphi)
static FastL1RegionMap * getFastL1RegionMap()
int getRegionIndex(int ieta, int iphi)
std::pair< double, double > getRegionCenterEtaPhi(int iRgn)
int getRegionTowerIndex(std::pair< int, int > iEtaPhi)
std::pair< int, int > GetTowerSWEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerWestEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerSouthEtaPhi(int ieta, int iphi)
unsigned towerId(const DetId &)
int convertFromECal_to_HCal_iphi(int iphi_ecal)
int convertFromHCal_to_ECal_iphi(int iphi_hcal)
static FastL1RegionMap * theInstance
std::pair< int, int > GetTowerNorthEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerEastEtaPhi(int ieta, int iphi)
std::pair< int, int > getRegionEtaPhiIndex(std::pair< int, int > iEtaPhi)