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:
9 
12  HcalLogicalMap createMap(const HcalTopology* topo, unsigned int mapIOV = 4);
13 
14  private:
15 
16  void buildHBEFTMap(const HcalTopology* topo,
17  std::vector <HBHEHFLogicalMapEntry>&,std::vector <HTLogicalMapEntry>&,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>& ,std::vector <uint32_t>&,
24  std::vector <uint32_t>&,
25  std::vector <uint32_t>&);
26  void buildCALIBMap(const HcalTopology* topo,
27  std::vector <CALIBLogicalMapEntry>& ,std::vector <uint32_t>&,
28  std::vector <uint32_t>&);
29  void buildZDCMap (const HcalTopology* topo,
30  std::vector <ZDCLogicalMapEntry>& ,std::vector <uint32_t>&,
31  std::vector <uint32_t>&);
32  void ConstructTriggerTower(const HcalTopology* topo,
33  std::vector <HTLogicalMapEntry>&,
34  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,
35  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,
36  int i_htr_fi, int i_spigot, int i_slb, std::string i_slbin, std::string i_slbin2,
37  std::string i_slnam, int i_rctcra, int i_rctcar, int i_rctcon, std::string i_rctnam, int i_fed
38  );
39 
40  unsigned int mapIOV_;
41 
42 /*****************************Constants**************************/
43 
44  static const int NHBHECR = 9; //HB HE crates
45  static const int NHTRS = 3; //Htrs 0, 1, 2 for HB HE
46  static const int NHSETS = 4; //4 sets of HB/HE htrs
47 
48  static const int NHFCR = 3; //HF crates
49 
50  static const int NHOCR = 4; //HO crates
51  static const int NHTRSHO = 4; //Htrs 0-3 for HO
52  static const int NHSETSHO = 3; //3 sets of H0 htrs
53  static const int NHOETA = 16;
54  static const int NHOPHI = 72;
55 
56  static const int NCALIBCR = 13; //CALIB crates
57 
58  static const int NZDCCAB = 9; // ZDC cables
59 
60  static const int NFBR = 8; //Fibers for htrs
61  static const int NFCH = 3; //3 Fiber channels ranging 0-2
62  static const int NTOPBOT = 2; //2 FPGAs (top/bottom)
63  static const int NRMFIBR = 6; //6 rm fibers ranging 2-7
64  static const int NRMSLOT = 4; //4 rm slots ranging 1-4
65 
66 
67 
68  //Global iterator variables
69  int i, j;
70 
71 
72  //Variables that need to be printed
77  // indexing number
78  int inum;
79  //CALIB channel function
80  int ich_type;
82  //ZDC channel function
83  int ix, iy, idx, idet_ch, icab;
84 
87 
89  int hfcrate[NHFCR];
90  int hocrate[NHOCR];
92  int fedhfnum[NHFCR][2];
93  int fedhonum[NHOCR][2];
94  int ihslot[NHSETS];
97  int ihfphis[NHFCR];
98  int ihophis[NHOCR];
102 
105 
108 
109  const char* S_slbin_odd[8];
110  const char* S_slbin_even[8];
111  const char* rct_rackHBHE[18];
112  const char* S_slbin_7[4];
113  const char* S_slbin_3[4];
114  const char* rct_rackHF[18];
115 
116  int slb_table[29];
117  int HO_RM_table[24][16][2];
119 
121 
125  int HO_htr_fi_eta4[2][6];
126  int HO_htr_fi_eta123[2][6];
127  //static const int HO_Block3_LC[][6];
128  int HO_RM_fi_eta1to4[24][2][2];
129  int HO_RM_fi_eta1to4_sipm[24][4][2];
132  int rmspecialeta[6][6];
135 
136 
137  //Associated variables
138  int hfphi;
140 
141  //For slb and rct
143  int crazy;
144 
145  //For HO
149 
150  //HO Patch panel
151 
153 
162 
163 };
164 
165 #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]