CMS 3D CMS Logo

HcalLogicalMapGenerator.h
Go to the documentation of this file.
1 #ifndef HcalLogicalMapGenerator_h
2 #define HcalLogicalMapGenerator_h
3 
5 class HcalTopology;
6 
8 public:
11  HcalLogicalMap createMap(const HcalTopology* topo, unsigned int mapIOV = 4);
12 
13 private:
14  void buildHBEFTMap(const HcalTopology* topo,
15  std::vector<HBHEHFLogicalMapEntry>&,
16  std::vector<HTLogicalMapEntry>&,
17  std::vector<uint32_t>&,
18  std::vector<uint32_t>&,
19  std::vector<uint32_t>&,
20  std::vector<uint32_t>&,
21  std::vector<uint32_t>&);
22  void buildHOXMap(const HcalTopology* topo,
23  std::vector<HOHXLogicalMapEntry>&,
24  std::vector<uint32_t>&,
25  std::vector<uint32_t>&,
26  std::vector<uint32_t>&);
27  void buildCALIBMap(const HcalTopology* topo,
28  std::vector<CALIBLogicalMapEntry>&,
29  std::vector<uint32_t>&,
30  std::vector<uint32_t>&);
31  void buildZDCMap(const HcalTopology* topo,
32  std::vector<ZDCLogicalMapEntry>&,
33  std::vector<uint32_t>&,
34  std::vector<uint32_t>&);
35  void ConstructTriggerTower(const HcalTopology* topo,
36  std::vector<HTLogicalMapEntry>&,
37  int i_side,
38  int i_eta,
39  int i_phi,
40  int i_dphi,
41  int i_depth,
42  std::string i_det,
43  int i_wedge,
44  int i_rm,
45  int i_pixel,
46  int i_qie,
47  int i_adc,
48  int i_rm_fi,
49  int i_fi_ch,
50  int i_crate,
51  int i_htr,
52  std::string i_fpga,
53  int i_htr_fi,
54  int i_spigot,
55  int i_slb,
56  std::string i_slbin,
57  std::string i_slbin2,
58  std::string i_slnam,
59  int i_rctcra,
60  int i_rctcar,
61  int i_rctcon,
62  std::string i_rctnam,
63  int i_fed);
64 
65  unsigned int mapIOV_;
66 
67  /*****************************Constants**************************/
68 
69  static const int NHBHECR = 9; //HB HE crates
70  static const int NHTRS = 3; //Htrs 0, 1, 2 for HB HE
71  static const int NHSETS = 4; //4 sets of HB/HE htrs
72 
73  static const int NHFCR = 3; //HF crates
74 
75  static const int NHOCR = 4; //HO crates
76  static const int NHTRSHO = 4; //Htrs 0-3 for HO
77  static const int NHSETSHO = 3; //3 sets of H0 htrs
78  static const int NHOETA = 16;
79  static const int NHOPHI = 72;
80 
81  static const int NCALIBCR = 13; //CALIB crates
82 
83  static const int NZDCCAB = 9; // ZDC cables
84 
85  static const int NFBR = 8; //Fibers for htrs
86  static const int NFCH = 3; //3 Fiber channels ranging 0-2
87  static const int NTOPBOT = 2; //2 FPGAs (top/bottom)
88  static const int NRMFIBR = 6; //6 rm fibers ranging 2-7
89  static const int NRMSLOT = 4; //4 rm slots ranging 1-4
90 
91  //Global iterator variables
92  int i, j;
93 
94  //Variables that need to be printed
99  // indexing number
100  int inum;
101  //CALIB channel function
102  int ich_type;
104  //ZDC channel function
105  int ix, iy, idx, idet_ch, icab;
106 
109 
114  int fedhfnum[NHFCR][2];
115  int fedhonum[NHOCR][2];
124 
127 
130 
131  const char* S_slbin_odd[8];
132  const char* S_slbin_even[8];
133  const char* rct_rackHBHE[18];
134  const char* S_slbin_7[4];
135  const char* S_slbin_3[4];
136  const char* rct_rackHF[18];
137 
138  int slb_table[29];
139  int HO_RM_table[24][16][2];
141 
143 
147  int HO_htr_fi_eta4[2][6];
148  int HO_htr_fi_eta123[2][6];
149  //static const int HO_Block3_LC[][6];
150  int HO_RM_fi_eta1to4[24][2][2];
151  int HO_RM_fi_eta1to4_sipm[24][4][2];
154  int rmspecialeta[6][6];
157 
158  //Associated variables
159  int hfphi;
161 
162  //For slb and rct
164  int crazy;
165 
166  //For HO
170 
171  //HO Patch panel
172 
173  int ic, is, ih, itb, ifb, ifc, ifwtb;
174 
183 };
184 
185 #endif
int ihslotho[NHSETSHO][NHTRSHO]
int ipixelHO[NRMFIBR][NFCH][2]
int nfbr_max[NCALIBCR][NTOPBOT]
int calibHOinfo[NHOCR][NTOPBOT][NFBR][2]
void buildZDCMap(const HcalTopology *topo, std::vector< ZDCLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
int irm_rmfiHBHE[NHTRS][NTOPBOT][NFBR][2]
int ipixelHE[NRMFIBR][NFCH][NRMSLOT]
HcalLogicalMap createMap(const HcalTopology *topo, unsigned int mapIOV=4)
void buildCALIBMap(const HcalTopology *topo, std::vector< CALIBLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
int ihfetadepth[NTOPBOT][NFBR][NFCH][2]
int irm_rmfiHF[NHTRS][NTOPBOT][NFBR][2]
void buildHOXMap(const HcalTopology *topo, std::vector< HOHXLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
std::string detIDCALIB[NCALIBCR][NTOPBOT]
int ipixelHB[NRMFIBR][NFCH][NRMSLOT]
int ihbheetadepth[NHTRS][NTOPBOT][NFBR][NFCH][2]
void ConstructTriggerTower(const HcalTopology *topo, std::vector< HTLogicalMapEntry > &, int i_side, int i_eta, int i_phi, int i_dphi, int i_depth, std::string i_det, int i_wedge, int i_rm, int i_pixel, int i_qie, int i_adc, int i_rm_fi, int i_fi_ch, int i_crate, int i_htr, std::string i_fpga, int i_htr_fi, int i_spigot, int i_slb, std::string i_slbin, std::string i_slbin2, std::string i_slnam, int i_rctcra, int i_rctcar, int i_rctcon, std::string i_rctnam, int i_fed)
void buildHBEFTMap(const HcalTopology *topo, std::vector< HBHEHFLogicalMapEntry > &, std::vector< HTLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
int iadcquiHBHE[NRMFIBR][NFCH][2]
std::string letterHO[NRMFIBR][NFCH][2]