Go to the documentation of this file.00001 #ifndef RecoTauTag_FastL1RegionMap_h
00002 #define RecoTauTag_FastL1RegionMap_h
00003
00004
00005
00006
00007
00015
00016
00017
00018
00019
00020
00021 #include <iostream>
00022 #include <string>
00023 #include <list>
00024
00025 #include "DataFormats/CaloTowers/interface/CaloTowerDetId.h"
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 class FastL1RegionMap {
00050
00051 public:
00052 FastL1RegionMap();
00053 ~FastL1RegionMap();
00054
00055 static FastL1RegionMap* getFastL1RegionMap();
00056
00057 std::pair<int, int> getRegionEtaPhiIndex(std::pair<int, int> iEtaPhi);
00058 std::pair<int, int> getRegionEtaPhiIndex(CaloTowerDetId towerId);
00059 std::pair<int, int> getRegionEtaPhiIndex(int regionId);
00060 int getRegionIndex(int ieta, int iphi);
00061 int getRegionIndex(CaloTowerDetId tower);
00062 int getRegionTowerIndex(std::pair<int, int> iEtaPhi);
00063 int getRegionTowerIndex(int ieta, int iphi);
00064 int getRegionTowerIndex(CaloTowerDetId towerId);
00065
00066 std::pair<double, double> getRegionCenterEtaPhi(int iRgn);
00067
00068 int getNTower() { return nTower; };
00069 int getNRegion() { return nRegion; };
00070
00071 int convertFromECal_to_HCal_iphi(int iphi_ecal);
00072 int convertFromHCal_to_ECal_iphi(int iphi_hcal);
00073
00074 void display();
00075
00076
00077
00078 std::pair<int, int> GetTowerNorthEtaPhi(int ieta, int iphi);
00079 std::pair<int, int> GetTowerSouthEtaPhi(int ieta, int iphi);
00080 std::pair<int, int> GetTowerWestEtaPhi(int ieta, int iphi);
00081 std::pair<int, int> GetTowerEastEtaPhi(int ieta, int iphi);
00082 std::pair<int, int> GetTowerNWEtaPhi(int ieta, int iphi);
00083 std::pair<int, int> GetTowerNEEtaPhi(int ieta, int iphi);
00084 std::pair<int, int> GetTowerSWEtaPhi(int ieta, int iphi);
00085 std::pair<int, int> GetTowerSEEtaPhi(int ieta, int iphi);
00086
00087 private:
00088 static FastL1RegionMap* theInstance;
00089
00090 int nTower;
00091 int nRegion;
00092
00093
00094 };
00095
00096 #endif