19 #ifndef CSCDQM_HistoNames_H
20 #define CSCDQM_HistoNames_H
22 #include <boost/preprocessor/tuple/elem.hpp>
23 #include <boost/preprocessor/seq/for_each_i.hpp>
24 #include <boost/preprocessor/control/if.hpp>
25 #include <boost/preprocessor/comparison/less.hpp>
26 #include <boost/preprocessor/punctuation/comma_if.hpp>
27 #include <boost/preprocessor/arithmetic/add.hpp>
28 #include <boost/preprocessor/arithmetic/inc.hpp>
29 #include <boost/preprocessor/slot/slot.hpp>
30 #include <boost/preprocessor/stringize.hpp>
43 #define CONFIG_HISTONAMES_SEQ_01 \
45 (( CSC_ACTUAL_DMB_CFEB_DAV_FREQUENCY, "Actual_DMB_CFEB_DAV_Frequency" )) \
46 (( CSC_ACTUAL_DMB_CFEB_DAV_MULTIPLICITY_FREQUENCY, "Actual_DMB_CFEB_DAV_multiplicity_Frequency" )) \
47 (( CSC_ACTUAL_DMB_CFEB_DAV_MULTIPLICITY_RATE, "Actual_DMB_CFEB_DAV_multiplicity_Rate" )) \
48 (( CSC_ACTUAL_DMB_CFEB_DAV_RATE, "Actual_DMB_CFEB_DAV_Rate" )) \
49 (( CSC_ACTUAL_DMB_FEB_COMBINATIONS_DAV_FREQUENCY, "Actual_DMB_FEB_Combinations_DAV_Frequency" )) \
50 (( CSC_ACTUAL_DMB_FEB_COMBINATIONS_DAV_RATE, "Actual_DMB_FEB_Combinations_DAV_Rate" )) \
51 (( CSC_ACTUAL_DMB_FEB_DAV_FREQUENCY, "Actual_DMB_FEB_DAV_Frequency" )) \
52 (( CSC_ACTUAL_DMB_FEB_DAV_RATE, "Actual_DMB_FEB_DAV_Rate" )) \
53 (( CSC_ALCT1_VS_ALCT0_KEYWG, "ALCT1_vs_ALCT0_KeyWG" )) \
54 (( CSC_ALCTTIME_LYXX, "ALCTTime_Ly%d" )) \
55 (( CSC_ALCTTIME_LYXX_PROFILE, "ALCTTime_Ly%d_Profile" )) \
56 (( CSC_ALCTXX_BXN, "ALCT%d_BXN" )) \
57 (( CSC_ALCTXX_DTIME, "ALCT%d_dTime" )) \
58 (( CSC_ALCTXX_DTIME_PROFILE, "ALCT%d_dTime_Profile" )) \
59 (( CSC_ALCTXX_DTIME_VS_KEYWG, "ALCT%d_dTime_vs_KeyWG" )) \
60 (( CSC_ALCTXX_KEYWG, "ALCT%d_KeyWG" )) \
61 (( CSC_ALCTXX_PATTERN, "ALCT%d_Pattern" )) \
62 (( CSC_ALCTXX_PATTERN_DISTR, "ALCT%d_Pattern_Distr" )) \
63 (( CSC_ALCTXX_QUALITY, "ALCT%d_Quality" )) \
64 (( CSC_ALCTXX_QUALITY_DISTR, "ALCT%d_Quality_Distr" )) \
65 (( CSC_ALCTXX_QUALITY_PROFILE, "ALCT%d_Quality_Profile" )) \
66 (( CSC_ALCT_BXN, "ALCT_BXN" )) \
67 (( CSC_ALCT_BXN_VS_DMB_BXN, "ALCT_BXN_vs_DMB_BXN" )) \
68 (( CSC_ALCT_DMB_BXN_DIFF, "ALCT_DMB_BXN_diff" )) \
69 (( CSC_ALCT_DMB_L1A_DIFF, "ALCT_DMB_L1A_diff" )) \
70 (( CSC_ALCT_L1A, "ALCT_L1A" )) \
71 (( CSC_ALCT_LYXX_EFFICIENCY, "ALCT_Ly%d_Efficiency" )) \
72 (( CSC_ALCT_LYXX_RATE, "ALCT_Ly%d_Rate" )) \
73 (( CSC_ALCT_MATCH_TIME, "ALCT_Match_Time" )) \
74 (( CSC_ALCT_NUMBER_EFFICIENCY, "ALCT_Number_Efficiency" )) \
75 (( CSC_ALCT_NUMBER_OF_LAYERS_WITH_HITS, "ALCT_Number_Of_Layers_With_Hits" )) \
76 (( CSC_ALCT_NUMBER_OF_WIREGROUPS_WITH_HITS, "ALCT_Number_Of_WireGroups_With_Hits" )) \
77 (( CSC_ALCT_NUMBER_RATE, "ALCT_Number_Rate" )) \
78 (( CSC_ALCT_WORD_COUNT, "ALCT_Word_Count" )) \
79 (( CSC_BINCHECK_DATAFLOW_PROBLEMS_FREQUENCY, "BinCheck_DataFlow_Problems_Frequency" )) \
80 (( CSC_BINCHECK_DATAFLOW_PROBLEMS_TABLE, "BinCheck_DataFlow_Problems_Table" )) \
81 (( CSC_BINCHECK_ERRORSTAT_TABLE, "BinCheck_ErrorStat_Table" )) \
82 (( CSC_BINCHECK_ERRORS_FREQUENCY, "BinCheck_Errors_Frequency" )) \
83 (( CSC_EVENT_DISPLAY_NOXX, "Chamber_Event_Display_No%d" )) \
84 (( CSC_CFEBXX_DMB_L1A_DIFF, "CFEB%d_DMB_L1A_diff" )) \
85 (( CSC_CFEBXX_FREE_SCA_CELLS, "CFEB%d_Free_SCA_Cells" )) \
86 (( CSC_CFEBXX_L1A_SYNC_TIME, "CFEB%d_L1A_Sync_Time" )) \
87 (( CSC_CFEBXX_L1A_SYNC_TIME_DMB_DIFF, "CFEB%d_L1A_Sync_Time_DMB_diff" )) \
88 (( CSC_CFEBXX_L1A_SYNC_TIME_VS_DMB, "CFEB%d_L1A_Sync_Time_vs_DMB" )) \
89 (( CSC_CFEBXX_LCT_PHASE_VS_L1A_PHASE, "CFEB%d_LCT_PHASE_vs_L1A_PHASE" )) \
90 (( CSC_CFEBXX_SCA_BLOCKS_LOCKED_BY_LCTS, "CFEB%d_SCA_Blocks_Locked_by_LCTs" )) \
91 (( CSC_CFEBXX_SCA_BLOCKS_LOCKED_BY_LCTXL1, "CFEB%d_SCA_Blocks_Locked_by_LCTxL1" )) \
92 (( CSC_CFEBXX_SCA_BLOCK_OCCUPANCY, "CFEB%d_SCA_Block_Occupancy" )) \
93 (( CSC_CFEB_ACTIVESTRIPS_LYXX, "CFEB_ActiveStrips_Ly%d" )) \
94 (( CSC_CFEB_ACTIVE_SAMPLES_VS_STRIP_LYXX, "CFEB_Active_Samples_vs_Strip_Ly%d" )) \
95 (( CSC_CFEB_ACTIVE_SAMPLES_VS_STRIP_LYXX_PROFILE, "CFEB_Active_Samples_vs_Strip_Ly%d_Profile" )) \
96 (( CSC_CFEB_AFEB_RAWHITS_TIMEBINS, "AFEB_RawHits_TimeBins" )) \
97 (( CSC_CFEB_CLUSTERS_CHARGE_LY_XX, "CFEB_Clusters_Charge_Ly_%d" )) \
98 (( CSC_CFEB_CLUSTER_DURATION_LY_XX, "CFEB_Cluster_Duration_Ly_%d" )) \
99 (( CSC_CFEB_NUMBER_OF_CLUSTERS_LY_XX, "CFEB_Number_of_Clusters_Ly_%d" )) \
100 (( CSC_CFEB_OUT_OFF_RANGE_STRIPS_LYXX, "CFEB_Out_Off_Range_Strips_Ly%d" )) \
101 (( CSC_CFEB_PEDESTALRMS_SAMPLE_01_LYXX, "CFEB_PedestalRMS_Sample_01_Ly%d" )) \
102 (( CSC_CFEB_PEDESTAL_WITHEMV_SAMPLE_01_LYXX, "CFEB_Pedestal_withEMV_Sample_01_Ly%d" )) \
103 (( CSC_CFEB_PEDESTAL_WITHRMS_SAMPLE_01_LYXX, "CFEB_Pedestal_withRMS_Sample_01_Ly%d" )) \
104 (( CSC_CFEB_PEDESTAL__WITHEMV__SAMPLE_01_LYXX, "CFEB_Pedestal(withEMV)_Sample_01_Ly%d" )) \
105 (( CSC_CFEB_PEDESTAL__WITHRMS__SAMPLE_01_LYXX, "CFEB_Pedestal(withRMS)_Sample_01_Ly%d" )) \
106 (( CSC_CFEB_SCA_CELL_PEAK_LY_XX, "CFEB_SCA_Cell_Peak_Ly_%d" )) \
107 (( CSC_CFEB_WIDTH_OF_CLUSTERS_LY_XX, "CFEB_Width_of_Clusters_Ly_%d" )) \
108 (( CSC_CLCT0_CLCT1_CLSSIFICATION, "CLCT0_CLCT1_Clssification" )) \
109 (( CSC_CLCT0_CLSSIFICATION, "CLCT0_Clssification" )) \
110 (( CSC_CLCT0_KEYDISTRIP_VS_ALCT0_KEYWIREGROUP, "CLCT0_KeyDiStrip_vs_ALCT0_KeyWiregroup" )) \
111 (( CSC_CLCT1_VS_CLCT0_KEY_STRIP, "CLCT1_vs_CLCT0_Key_Strip" )) \
112 (( CSC_CLCTTIME_LYXX, "CLCTTime_Ly%d" )) \
113 (( CSC_CLCTTIME_LYXX_PROFILE, "CLCTTime_Ly%d_Profile" )) \
114 (( CSC_CLCTXX_BXN, "CLCT%d_BXN" )) \
115 (( CSC_CLCTXX_DISTRIP_PATTERN, "CLCT%d_DiStrip_Pattern" )) \
116 (( CSC_CLCTXX_DISTRIP_QUALITY, "CLCT%d_DiStrip_Quality" )) \
117 (( CSC_CLCTXX_DISTRIP_QUALITY_PROFILE, "CLCT%d_DiStrip_Quality_Profile" )) \
118 (( CSC_CLCTXX_DTIME, "CLCT%d_dTime" )) \
119 (( CSC_CLCTXX_DTIME_PROFILE, "CLCT%d_dTime_Profile" )) \
120 (( CSC_CLCTXX_DTIME_VS_DISTRIP, "CLCT%d_dTime_vs_DiStrip" )) \
121 (( CSC_CLCTXX_DTIME_VS_HALF_STRIP, "CLCT%d_dTime_vs_Half_Strip" )) \
122 (( CSC_CLCTXX_HALF_STRIP_PATTERN, "CLCT%d_Half_Strip_Pattern" )) \
123 (( CSC_CLCTXX_HALF_STRIP_QUALITY, "CLCT%d_Half_Strip_Quality" )) \
124 (( CSC_CLCTXX_HALF_STRIP_QUALITY_DISTR, "CLCT%d_Half_Strip_Quality_Distr" )) \
125 (( CSC_CLCTXX_HALF_STRIP_QUALITY_PROFILE, "CLCT%d_Half_Strip_Quality_Profile" )) \
126 (( CSC_CLCTXX_KEYDISTRIP, "CLCT%d_KeyDiStrip" )) \
127 (( CSC_CLCTXX_KEYHALFSTRIP, "CLCT%d_KeyHalfStrip" )) \
128 (( CSC_CLCT_BXN, "CLCT_BXN" )) \
129 (( CSC_CLCT_BXN_VS_DMB_BXN, "CLCT_BXN_vs_DMB_BXN" )) \
130 (( CSC_CLCT_DMB_BXN_DIFF, "CLCT_DMB_BXN_diff" )) \
131 (( CSC_CLCT_DMB_L1A_DIFF, "CLCT_DMB_L1A_diff" )) \
132 (( CSC_CLCT_HALF_STRIP_PATTERN_DISTR, "CLCT%d_Half_Strip_Pattern_Distr" )) \
133 (( CSC_CLCT_L1A, "CLCT_L1A" )) \
134 (( CSC_CLCT_LYXX_EFFICIENCY, "CLCT_Ly%d_Efficiency" )) \
135 (( CSC_CLCT_LYXX_RATE, "CLCT_Ly%d_Rate" )) \
136 (( CSC_CLCT_NUMBER, "CLCT_Number" )) \
137 (( CSC_CLCT_NUMBER_OF_HALFSTRIPS_WITH_HITS, "CLCT_Number_Of_HalfStrips_With_Hits" )) \
138 (( CSC_CLCT_NUMBER_OF_LAYERS_WITH_HITS, "CLCT_Number_Of_Layers_With_Hits" )) \
139 (( CSC_CLCT_NUMBER_RATE, "CLCT_Number_Rate" )) \
140 (( CSC_CSC_EFFICIENCY, "CSC_Efficiency" )) \
141 (( CSC_CSC_RATE, "CSC_Rate" )) \
142 (( CSC_DMB_BXN_DISTRIB, "DMB_BXN_Distrib" )) \
143 (( CSC_DMB_BXN_VS_DDU_BXN, "DMB_BXN_vs_DDU_BXN" )) \
144 (( CSC_DMB_CFEB_ACTIVE, "DMB_CFEB_Active" )) \
145 (( CSC_DMB_CFEB_ACTIVE_VS_DAV, "DMB_CFEB_Active_vs_DAV" )) \
146 (( CSC_DMB_CFEB_DAV, "DMB_CFEB_DAV" )) \
147 (( CSC_DMB_CFEB_DAV_MULTIPLICITY, "DMB_CFEB_DAV_multiplicity" )) \
148 (( CSC_DMB_CFEB_DAV_MULTIPLICITY_UNPACKING_INEFFICIENCY, "DMB_CFEB_DAV_multiplicity_Unpacking_Inefficiency" )) \
149 (( CSC_DMB_CFEB_DAV_UNPACKING_INEFFICIENCY, "DMB_CFEB_DAV_Unpacking_Inefficiency" )) \
150 (( CSC_DMB_CFEB_MOVLP, "DMB_CFEB_MOVLP" )) \
151 (( CSC_DMB_CFEB_SYNC, "DMB_CFEB_Sync" )) \
152 (( CSC_DMB_DDU_BXN_DIFF, "DMB_DDU_BXN_diff" )) \
153 (( CSC_DMB_DDU_L1A_DIFF, "DMB_DDU_L1A_diff" )) \
154 (( CSC_DMB_FEB_COMBINATIONS_DAV_EFFICIENCY, "DMB_FEB_Combinations_DAV_Efficiency" )) \
155 (( CSC_DMB_FEB_COMBINATIONS_DAV_RATE, "DMB_FEB_Combinations_DAV_Rate" )) \
156 (( CSC_DMB_FEB_COMBINATIONS_DAV_UNPACKING_INEFFICIENCY, "DMB_FEB_Combinations_DAV_Unpacking_Inefficiency" )) \
157 (( CSC_DMB_FEB_COMBINATIONS_UNPACKED_VS_DAV, "DMB_FEB_Combinations_Unpacked_vs_DAV" )) \
158 (( CSC_DMB_FEB_DAV_EFFICIENCY, "DMB_FEB_DAV_Efficiency" )) \
159 (( CSC_DMB_FEB_DAV_RATE, "DMB_FEB_DAV_Rate" )) \
160 (( CSC_DMB_FEB_DAV_UNPACKING_INEFFICIENCY, "DMB_FEB_DAV_Unpacking_Inefficiency" )) \
161 (( CSC_DMB_FEB_TIMEOUTS, "DMB_FEB_Timeouts" )) \
162 (( CSC_DMB_FEB_UNPACKED_VS_DAV, "DMB_FEB_Unpacked_vs_DAV" )) \
163 (( CSC_DMB_FIFO_STATS, "DMB_FIFO_stats" )) \
164 (( CSC_DMB_L1A_DISTRIB, "DMB_L1A_Distrib" )) \
165 (( CSC_DMB_L1A_VS_ALCT_L1A, "DMB_L1A_vs_ALCT_L1A" )) \
166 (( CSC_DMB_L1A_VS_CLCT_L1A, "DMB_L1A_vs_CLCT_L1A" )) \
167 (( CSC_DMB_L1A_VS_DDU_L1A, "DMB_L1A_vs_DDU_L1A" )) \
168 (( CSC_DMB_L1_PIPE, "DMB_L1_Pipe" )) \
169 (( CSC_LCT0_MATCH_BXN_DIFFERENCE, "LCT0_Match_BXN_Difference" )) \
170 (( CSC_LCT1_MATCH_BXN_DIFFERENCE, "LCT1_Match_BXN_Difference" )) \
171 (( CSC_LCT_MATCH_STATUS, "LCT_Match_Status" )) \
172 (( CSC_TMB_ALCT_BXN_DIFF, "TMB_ALCT_BXN_diff" )) \
173 (( CSC_TMB_ALCT_L1A_DIFF, "TMB_ALCT_L1A_diff" )) \
174 (( CSC_TMB_BXN_VS_ALCT_BXN, "TMB_BXN_vs_ALCT_BXN" )) \
175 (( CSC_TMB_L1A_VS_ALCT_L1A, "TMB_L1A_vs_ALCT_L1A" )) \
176 (( CSC_TMB_WORD_COUNT, "TMB_Word_Count" )) \
177 (( CSC_CFEB_COMPARATORS_TIMESAMPLES, "CFEB_Comparators_TimeSamples" )) \
178 (( DDU_BUFFER_SIZE, "Buffer_Size" )) \
179 (( DDU_BXN, "BXN" )) \
180 (( DDU_CSC_ERRORS, "CSC_Errors" )) \
181 (( DDU_CSC_ERRORS_RATE, "CSC_Errors_Rate" )) \
182 (( DDU_CSC_WARNINGS, "CSC_Warnings" )) \
183 (( DDU_CSC_WARNINGS_RATE, "CSC_Warnings_Rate" )) \
184 (( DDU_DMB_ACTIVE_HEADER_COUNT, "DMB_Active_Header_Count" )) \
185 (( DDU_DMB_CONNECTED_INPUTS, "DMB_Connected_Inputs" )) \
186 (( DDU_DMB_CONNECTED_INPUTS_RATE, "DMB_Connected_Inputs_Rate" )) \
187 (( DDU_DMB_DAV_HEADER_COUNT_VS_DMB_ACTIVE_HEADER_COUNT, "DMB_DAV_Header_Count_vs_DMB_Active_Header_Count" )) \
188 (( DDU_DMB_DAV_HEADER_OCCUPANCY, "DMB_DAV_Header_Occupancy" )) \
189 (( DDU_DMB_DAV_HEADER_OCCUPANCY_RATE, "DMB_DAV_Header_Occupancy_Rate" )) \
190 (( DDU_DMB_UNPACKED_VS_DAV, "DMB_unpacked_vs_DAV" )) \
191 (( DDU_L1A_INCREMENT, "L1A_Increment" )) \
192 (( DDU_READOUT_ERRORS, "Readout_Errors" )) \
193 (( DDU_TRAILER_ERRORSTAT_FREQUENCY, "Trailer_ErrorStat_Frequency" )) \
194 (( DDU_TRAILER_ERRORSTAT_RATE, "Trailer_ErrorStat_Rate" )) \
195 (( DDU_TRAILER_ERRORSTAT_TABLE, "Trailer_ErrorStat_Table" )) \
196 (( DDU_WORD_COUNT, "Word_Count" )) \
197 (( EMU_ALL_DDUS_AVERAGE_EVENT_SIZE, "All_DDUs_Average_Event_Size" )) \
198 (( EMU_ALL_DDUS_AVERAGE_INPUTS_WITH_DATA, "All_DDUs_Average_Inputs_with_Data" )) \
199 (( EMU_ALL_DDUS_AVERAGE_LIVE_INPUTS, "All_DDUs_Average_Live_Inputs" )) \
200 (( EMU_ALL_DDUS_EVENT_SIZE, "All_DDUs_Event_Size" )) \
201 (( EMU_ALL_DDUS_FORMAT_ERRORS, "All_DDUs_Format_Errors" )) \
202 (( EMU_ALL_DDUS_INPUTS_ERRORS, "All_DDUs_Inputs_Errors" )) \
203 (( EMU_ALL_DDUS_INPUTS_WARNINGS, "All_DDUs_Inputs_Warnings" )) \
204 (( EMU_ALL_DDUS_INPUTS_WITH_DATA, "All_DDUs_Inputs_with_Data" )) \
205 (( EMU_ALL_DDUS_IN_READOUT, "All_DDUs_in_Readout" )) \
206 (( EMU_ALL_DDUS_L1A_INCREMENT, "All_DDUs_L1A_Increment" )) \
207 (( EMU_ALL_DDUS_LIVE_INPUTS, "All_DDUs_Live_Inputs" )) \
208 (( EMU_ALL_DDUS_TRAILER_ERRORS, "All_DDUs_Trailer_Errors" )) \
209 (( EMU_ALL_READOUT_ERRORS, "All_Readout_Errors" )) \
210 (( EMU_CSC_AFEB_ENDCAP_MINUS_RAWHITS_TIME, "Minus_endcap_AFEB_RawHits_Time" )) \
211 (( EMU_CSC_AFEB_ENDCAP_PLUS_RAWHITS_TIME, "Plus_endcap_AFEB_RawHits_Time" )) \
212 (( EMU_CSC_AFEB_RAWHITS_TIME_MEAN, "CSC_AFEB_RawHits_Time_mean" )) \
213 (( EMU_CSC_AFEB_RAWHITS_TIME_RMS, "CSC_AFEB_RawHits_Time_rms" )) \
214 (( EMU_CSC_ALCT0_BXN_MEAN, "CSC_ALCT0_BXN_mean" )) \
215 (( EMU_CSC_ALCT0_BXN_RMS, "CSC_ALCT0_BXN_rms" )) \
216 (( EMU_CSC_ALCT0_ENDCAP_MINUS_DTIME, "Minus_endcap_ALCT0_dTime" )) \
217 (( EMU_CSC_ALCT0_ENDCAP_PLUS_DTIME, "Plus_endcap_ALCT0_dTime" )) \
218 (( EMU_CSC_ALCT0_QUALITY, "CSC_ALCT0_Quality" )) \
219 (( EMU_CSC_ALCT_CLCT_MATCH_MEAN, "CSC_ALCT_CLCT_Match_mean" )) \
220 (( EMU_CSC_ALCT_CLCT_MATCH_RMS, "CSC_ALCT_CLCT_Match_rms" )) \
221 (( EMU_CSC_ALCT_PLANES_WITH_HITS, "CSC_ALCT_Planes_with_Hits" )) \
222 (( EMU_CSC_CLCT0_BXN_MEAN, "CSC_CLCT0_BXN_mean" )) \
223 (( EMU_CSC_CLCT0_BXN_RMS, "CSC_CLCT0_BXN_rms" )) \
224 (( EMU_CSC_CLCT0_QUALITY, "CSC_CLCT0_Quality" )) \
225 (( EMU_CSC_CLCT_PLANES_WITH_HITS, "CSC_CLCT_Planes_with_Hits" )) \
226 (( EMU_CSC_DMB_INPUT_FIFO_FULL, "CSC_DMB_input_fifo_full" )) \
227 (( EMU_CSC_DMB_INPUT_FIFO_FULL_FRACT, "CSC_DMB_input_fifo_full_Fract" )) \
228 (( EMU_CSC_DMB_INPUT_TIMEOUT, "CSC_DMB_input_timeout" )) \
229 (( EMU_CSC_DMB_INPUT_TIMEOUT_FRACT, "CSC_DMB_input_timeout_Fract" )) \
230 (( EMU_CSC_ENDCAP_MINUS_ALCT_CLCT_MATCH_TIME, "Minus_endcap_ALCT_CLCT_Match_Time" )) \
231 (( EMU_CSC_ENDCAP_MINUS_CLCT0_DTIME, "Minus_endcap_CLCT0_dTime" )) \
232 (( EMU_CSC_ENDCAP_PLUS_ALCT_CLCT_MATCH_TIME, "Plus_endcap_ALCT_CLCT_Match_Time" )) \
233 (( EMU_CSC_ENDCAP_PLUS_CLCT0_DTIME, "Plus_endcap_CLCT0_dTime" )) \
234 (( EMU_CSC_ENDCAP_PLUS_CFEB_COMPARATORS_TIME, "Plus_endcap_CFEB_Comparators_Time" )) \
235 (( EMU_CSC_ENDCAP_MINUS_CFEB_COMPARATORS_TIME, "Minus_endcap_CFEB_Comparators_Time" )) \
236 (( EMU_CSC_CFEB_COMPARATORS_TIME_MEAN, "CSC_CFEB_Comparators_Time_mean" )) \
237 (( EMU_CSC_CFEB_COMPARATORS_TIME_RMS, "CSC_CFEB_Comparators_Time_rms" )) \
238 (( EMU_CSC_FORMAT_ERRORS, "CSC_Format_Errors" )) \
239 (( EMU_CSC_FORMAT_ERRORS_FRACT, "CSC_Format_Errors_Fract" )) \
240 (( EMU_CSC_FORMAT_WARNINGS, "CSC_Format_Warnings" )) \
241 (( EMU_CSC_FORMAT_WARNINGS_FRACT, "CSC_Format_Warnings_Fract" )) \
242 (( EMU_CSC_L1A_OUT_OF_SYNC, "CSC_L1A_out_of_sync" )) \
243 (( EMU_CSC_L1A_OUT_OF_SYNC_FRACT, "CSC_L1A_out_of_sync_Fract" )) \
244 (( EMU_CSC_REPORTING, "CSC_Reporting" )) \
245 (( EMU_CSC_STATS_CFEB_BWORDS, "CSC_STATS_cfeb_bwords" )) \
246 (( EMU_CSC_STATS_FIFOFULL_ERR, "CSC_STATS_fifofull_err" )) \
247 (( EMU_CSC_STATS_FORMAT_ERR, "CSC_STATS_format_err" )) \
248 (( EMU_CSC_STATS_INPUTTO_ERR, "CSC_STATS_inputto_err" )) \
249 (( EMU_CSC_STATS_L1SYNC_ERR, "CSC_STATS_l1sync_err" )) \
250 (( EMU_CSC_STATS_OCCUPANCY, "CSC_STATS_occupancy" )) \
251 (( EMU_CSC_STATS_SUMMARY, "CSC_STATS_summary" )) \
252 (( EMU_CSC_STATS_WO_ALCT, "CSC_STATS_wo_alct" )) \
253 (( EMU_CSC_STATS_WO_CFEB, "CSC_STATS_wo_cfeb" )) \
254 (( EMU_CSC_STATS_WO_CLCT, "CSC_STATS_wo_clct" )) \
255 (( EMU_CSC_UNPACKED, "CSC_Unpacked" )) \
256 (( CSC_CFEB_SCA_CELLPEAK_TIME, "CFEB_SCA_CellPeak_Time" )) \
257 (( EMU_CSC_PLUS_ENDCAP_CFEB_SCA_CELLPEAK_TIME, "Plus_endcap_CFEB_SCA_CellPeak_Time" )) \
258 (( EMU_CSC_MINUS_ENDCAP_CFEB_SCA_CELLPEAK_TIME, "Minus_endcap_CFEB_SCA_CellPeak_Time" )) \
259 (( EMU_CSC_CFEB_SCA_CELLPEAK_TIME_MEAN, "CSC_CFEB_SCA_CellPeak_Time_mean" )) \
260 (( EMU_CSC_CFEB_SCA_CELLPEAK_TIME_RMS, "CSC_CFEB_SCA_CellPeak_Time_rms" )) \
261 (( EMU_CSC_UNPACKED_FRACT, "CSC_Unpacked_Fract" )) \
262 (( EMU_CSC_UNPACKED_WITH_ERRORS, "CSC_Unpacked_with_errors" )) \
263 (( EMU_CSC_WO_ALCT, "CSC_wo_ALCT" )) \
264 (( EMU_CSC_STANDBY, "CSC_standby" )) \
265 (( EMU_CSC_WO_ALCT_FRACT, "CSC_wo_ALCT_Fract" )) \
266 (( EMU_CSC_WO_CFEB, "CSC_wo_CFEB" )) \
267 (( EMU_CSC_WO_CFEB_FRACT, "CSC_wo_CFEB_Fract" )) \
268 (( EMU_CSC_WO_CLCT, "CSC_wo_CLCT" )) \
269 (( EMU_CSC_WO_CLCT_FRACT, "CSC_wo_CLCT_Fract" )) \
270 (( EMU_DDU_BXN, "All_DDUs_BXNs" )) \
271 (( EMU_DMB_FORMAT_ERRORS, "DMB_Format_Errors" )) \
272 (( EMU_DMB_FORMAT_ERRORS_FRACT, "DMB_Format_Errors_Fract" )) \
273 (( EMU_DMB_FORMAT_WARNINGS, "DMB_Format_Warnings" )) \
274 (( EMU_DMB_FORMAT_WARNINGS_FRACT, "DMB_Format_Warnings_Fract" )) \
275 (( EMU_DMB_INPUT_FIFO_FULL, "DMB_input_fifo_full" )) \
276 (( EMU_DMB_INPUT_FIFO_FULL_FRACT, "DMB_input_fifo_full_Fract" )) \
277 (( EMU_DMB_INPUT_TIMEOUT, "DMB_input_timeout" )) \
278 (( EMU_DMB_INPUT_TIMEOUT_FRACT, "DMB_input_timeout_Fract" )) \
279 (( EMU_DMB_L1A_OUT_OF_SYNC, "DMB_L1A_out_of_sync" )) \
280 (( EMU_DMB_L1A_OUT_OF_SYNC_FRACT, "DMB_L1A_out_of_sync_Fract" )) \
281 (( EMU_DMB_REPORTING, "DMB_Reporting" )) \
282 (( EMU_DMB_UNPACKED, "DMB_Unpacked" )) \
283 (( EMU_DMB_UNPACKED_FRACT, "DMB_Unpacked_Fract" )) \
284 (( EMU_DMB_UNPACKED_WITH_ERRORS, "DMB_Unpacked_with_errors" )) \
285 (( EMU_DMB_WO_ALCT, "DMB_wo_ALCT" )) \
286 (( EMU_DMB_WO_ALCT_FRACT, "DMB_wo_ALCT_Fract" )) \
287 (( EMU_DMB_WO_CFEB, "DMB_wo_CFEB" )) \
288 (( EMU_DMB_WO_CFEB_FRACT, "DMB_wo_CFEB_Fract" )) \
289 (( EMU_DMB_WO_CLCT, "DMB_wo_CLCT" )) \
290 (( EMU_DMB_WO_CLCT_FRACT, "DMB_wo_CLCT_Fract" )) \
291 (( EMU_FED_ENTRIES, "FEDEntries" )) \
292 (( EMU_FED_FATAL, "FEDFatal" )) \
293 (( EMU_FED_FORMAT_FATAL, "FEDFormatFatal" )) \
294 (( EMU_FED_NONFATAL, "FEDNonFatal" )) \
295 (( EMU_PHYSICS_EMU, "Physics_EMU" )) \
296 (( EMU_PHYSICS_ME1, "Physics_ME1" )) \
297 (( EMU_PHYSICS_ME2, "Physics_ME2" )) \
298 (( EMU_PHYSICS_ME3, "Physics_ME3" )) \
299 (( EMU_PHYSICS_ME4, "Physics_ME4" ))
301 #define CONFIG_HISTONAMES_SEQ_02 \
303 (( EMU_EVENT_DISPLAY_ANODE, "Event_Display_Anode" )) \
304 (( EMU_EVENT_DISPLAY_CATHODE, "Event_Display_Cathode" )) \
305 (( EMU_EVENT_DISPLAY_XY, "Event_Display_XY" )) \
306 (( PAR_REPORT_SUMMARY, "reportSummary" )) \
307 (( PAR_CSC_SIDEMINUS, "CSC_SideMinus" )) \
308 (( PAR_CSC_SIDEMINUS_STATION01, "CSC_SideMinus_Station01" )) \
309 (( PAR_CSC_SIDEMINUS_STATION01_RING01, "CSC_SideMinus_Station01_Ring01" )) \
310 (( PAR_CSC_SIDEMINUS_STATION01_RING02, "CSC_SideMinus_Station01_Ring02" )) \
311 (( PAR_CSC_SIDEMINUS_STATION01_RING03, "CSC_SideMinus_Station01_Ring03" )) \
312 (( PAR_CSC_SIDEMINUS_STATION02, "CSC_SideMinus_Station02" )) \
313 (( PAR_CSC_SIDEMINUS_STATION02_RING01, "CSC_SideMinus_Station02_Ring01" )) \
314 (( PAR_CSC_SIDEMINUS_STATION02_RING02, "CSC_SideMinus_Station02_Ring02" )) \
315 (( PAR_CSC_SIDEMINUS_STATION03, "CSC_SideMinus_Station03" )) \
316 (( PAR_CSC_SIDEMINUS_STATION03_RING01, "CSC_SideMinus_Station03_Ring01" )) \
317 (( PAR_CSC_SIDEMINUS_STATION03_RING02, "CSC_SideMinus_Station03_Ring02" )) \
318 (( PAR_CSC_SIDEMINUS_STATION04, "CSC_SideMinus_Station04" )) \
319 (( PAR_CSC_SIDEMINUS_STATION04_RING01, "CSC_SideMinus_Station04_Ring01" )) \
320 (( PAR_CSC_SIDEMINUS_STATION04_RING02, "CSC_SideMinus_Station04_Ring02" )) \
321 (( PAR_CSC_SIDEPLUS, "CSC_SidePlus" )) \
322 (( PAR_CSC_SIDEPLUS_STATION01, "CSC_SidePlus_Station01" )) \
323 (( PAR_CSC_SIDEPLUS_STATION01_RING01, "CSC_SidePlus_Station01_Ring01" )) \
324 (( PAR_CSC_SIDEPLUS_STATION01_RING02, "CSC_SidePlus_Station01_Ring02" )) \
325 (( PAR_CSC_SIDEPLUS_STATION01_RING03, "CSC_SidePlus_Station01_Ring03" )) \
326 (( PAR_CSC_SIDEPLUS_STATION02, "CSC_SidePlus_Station02" )) \
327 (( PAR_CSC_SIDEPLUS_STATION02_RING01, "CSC_SidePlus_Station02_Ring01" )) \
328 (( PAR_CSC_SIDEPLUS_STATION02_RING02, "CSC_SidePlus_Station02_Ring02" )) \
329 (( PAR_CSC_SIDEPLUS_STATION03, "CSC_SidePlus_Station03" )) \
330 (( PAR_CSC_SIDEPLUS_STATION03_RING01, "CSC_SidePlus_Station03_Ring01" )) \
331 (( PAR_CSC_SIDEPLUS_STATION03_RING02, "CSC_SidePlus_Station03_Ring02" )) \
332 (( PAR_CSC_SIDEPLUS_STATION04, "CSC_SidePlus_Station04" )) \
333 (( PAR_CSC_SIDEPLUS_STATION04_RING01, "CSC_SidePlus_Station04_Ring01" )) \
334 (( PAR_CSC_SIDEPLUS_STATION04_RING02, "CSC_SidePlus_Station04_Ring02" )) \
335 (( PAR_CRT_SUMMARY, "CertificationSummary" )) \
336 (( PAR_CRT_SIDEMINUS, "CSC_SideMinus" )) \
337 (( PAR_CRT_SIDEMINUS_STATION01, "CSC_SideMinus_Station01" )) \
338 (( PAR_CRT_SIDEMINUS_STATION01_RING01, "CSC_SideMinus_Station01_Ring01" )) \
339 (( PAR_CRT_SIDEMINUS_STATION01_RING02, "CSC_SideMinus_Station01_Ring02" )) \
340 (( PAR_CRT_SIDEMINUS_STATION01_RING03, "CSC_SideMinus_Station01_Ring03" )) \
341 (( PAR_CRT_SIDEMINUS_STATION02, "CSC_SideMinus_Station02" )) \
342 (( PAR_CRT_SIDEMINUS_STATION02_RING01, "CSC_SideMinus_Station02_Ring01" )) \
343 (( PAR_CRT_SIDEMINUS_STATION02_RING02, "CSC_SideMinus_Station02_Ring02" )) \
344 (( PAR_CRT_SIDEMINUS_STATION03, "CSC_SideMinus_Station03" )) \
345 (( PAR_CRT_SIDEMINUS_STATION03_RING01, "CSC_SideMinus_Station03_Ring01" )) \
346 (( PAR_CRT_SIDEMINUS_STATION03_RING02, "CSC_SideMinus_Station03_Ring02" )) \
347 (( PAR_CRT_SIDEMINUS_STATION04, "CSC_SideMinus_Station04" )) \
348 (( PAR_CRT_SIDEMINUS_STATION04_RING01, "CSC_SideMinus_Station04_Ring01" )) \
349 (( PAR_CRT_SIDEMINUS_STATION04_RING02, "CSC_SideMinus_Station04_Ring02" )) \
350 (( PAR_CRT_SIDEPLUS, "CSC_SidePlus" )) \
351 (( PAR_CRT_SIDEPLUS_STATION01, "CSC_SidePlus_Station01" )) \
352 (( PAR_CRT_SIDEPLUS_STATION01_RING01, "CSC_SidePlus_Station01_Ring01" )) \
353 (( PAR_CRT_SIDEPLUS_STATION01_RING02, "CSC_SidePlus_Station01_Ring02" )) \
354 (( PAR_CRT_SIDEPLUS_STATION01_RING03, "CSC_SidePlus_Station01_Ring03" )) \
355 (( PAR_CRT_SIDEPLUS_STATION02, "CSC_SidePlus_Station02" )) \
356 (( PAR_CRT_SIDEPLUS_STATION02_RING01, "CSC_SidePlus_Station02_Ring01" )) \
357 (( PAR_CRT_SIDEPLUS_STATION02_RING02, "CSC_SidePlus_Station02_Ring02" )) \
358 (( PAR_CRT_SIDEPLUS_STATION03, "CSC_SidePlus_Station03" )) \
359 (( PAR_CRT_SIDEPLUS_STATION03_RING01, "CSC_SidePlus_Station03_Ring01" )) \
360 (( PAR_CRT_SIDEPLUS_STATION03_RING02, "CSC_SidePlus_Station03_Ring02" )) \
361 (( PAR_CRT_SIDEPLUS_STATION04, "CSC_SidePlus_Station04" )) \
362 (( PAR_CRT_SIDEPLUS_STATION04_RING01, "CSC_SidePlus_Station04_Ring01" )) \
363 (( PAR_CRT_SIDEPLUS_STATION04_RING02, "CSC_SidePlus_Station04_Ring02" )) \
364 (( PAR_DAQ_SUMMARY, "DAQSummary" )) \
365 (( PAR_DAQ_SIDEMINUS, "CSC_SideMinus" )) \
366 (( PAR_DAQ_SIDEMINUS_STATION01, "CSC_SideMinus_Station01" )) \
367 (( PAR_DAQ_SIDEMINUS_STATION01_RING01, "CSC_SideMinus_Station01_Ring01" )) \
368 (( PAR_DAQ_SIDEMINUS_STATION01_RING02, "CSC_SideMinus_Station01_Ring02" )) \
369 (( PAR_DAQ_SIDEMINUS_STATION01_RING03, "CSC_SideMinus_Station01_Ring03" )) \
370 (( PAR_DAQ_SIDEMINUS_STATION02, "CSC_SideMinus_Station02" )) \
371 (( PAR_DAQ_SIDEMINUS_STATION02_RING01, "CSC_SideMinus_Station02_Ring01" )) \
372 (( PAR_DAQ_SIDEMINUS_STATION02_RING02, "CSC_SideMinus_Station02_Ring02" )) \
373 (( PAR_DAQ_SIDEMINUS_STATION03, "CSC_SideMinus_Station03" )) \
374 (( PAR_DAQ_SIDEMINUS_STATION03_RING01, "CSC_SideMinus_Station03_Ring01" )) \
375 (( PAR_DAQ_SIDEMINUS_STATION03_RING02, "CSC_SideMinus_Station03_Ring02" )) \
376 (( PAR_DAQ_SIDEMINUS_STATION04, "CSC_SideMinus_Station04" )) \
377 (( PAR_DAQ_SIDEMINUS_STATION04_RING01, "CSC_SideMinus_Station04_Ring01" )) \
378 (( PAR_DAQ_SIDEMINUS_STATION04_RING02, "CSC_SideMinus_Station04_Ring02" )) \
379 (( PAR_DAQ_SIDEPLUS, "CSC_SidePlus" )) \
380 (( PAR_DAQ_SIDEPLUS_STATION01, "CSC_SidePlus_Station01" )) \
381 (( PAR_DAQ_SIDEPLUS_STATION01_RING01, "CSC_SidePlus_Station01_Ring01" )) \
382 (( PAR_DAQ_SIDEPLUS_STATION01_RING02, "CSC_SidePlus_Station01_Ring02" )) \
383 (( PAR_DAQ_SIDEPLUS_STATION01_RING03, "CSC_SidePlus_Station01_Ring03" )) \
384 (( PAR_DAQ_SIDEPLUS_STATION02, "CSC_SidePlus_Station02" )) \
385 (( PAR_DAQ_SIDEPLUS_STATION02_RING01, "CSC_SidePlus_Station02_Ring01" )) \
386 (( PAR_DAQ_SIDEPLUS_STATION02_RING02, "CSC_SidePlus_Station02_Ring02" )) \
387 (( PAR_DAQ_SIDEPLUS_STATION03, "CSC_SidePlus_Station03" )) \
388 (( PAR_DAQ_SIDEPLUS_STATION03_RING01, "CSC_SidePlus_Station03_Ring01" )) \
389 (( PAR_DAQ_SIDEPLUS_STATION03_RING02, "CSC_SidePlus_Station03_Ring02" )) \
390 (( PAR_DAQ_SIDEPLUS_STATION04, "CSC_SidePlus_Station04" )) \
391 (( PAR_DAQ_SIDEPLUS_STATION04_RING01, "CSC_SidePlus_Station04_Ring01" )) \
392 (( PAR_DAQ_SIDEPLUS_STATION04_RING02, "CSC_SidePlus_Station04_Ring02" )) \
393 (( PAR_DCS_SUMMARY, "DCSSummary" )) \
394 (( PAR_DCS_SIDEMINUS, "CSC_SideMinus" )) \
395 (( PAR_DCS_SIDEMINUS_STATION01, "CSC_SideMinus_Station01" )) \
396 (( PAR_DCS_SIDEMINUS_STATION01_RING01, "CSC_SideMinus_Station01_Ring01" )) \
397 (( PAR_DCS_SIDEMINUS_STATION01_RING02, "CSC_SideMinus_Station01_Ring02" )) \
398 (( PAR_DCS_SIDEMINUS_STATION01_RING03, "CSC_SideMinus_Station01_Ring03" )) \
399 (( PAR_DCS_SIDEMINUS_STATION02, "CSC_SideMinus_Station02" )) \
400 (( PAR_DCS_SIDEMINUS_STATION02_RING01, "CSC_SideMinus_Station02_Ring01" )) \
401 (( PAR_DCS_SIDEMINUS_STATION02_RING02, "CSC_SideMinus_Station02_Ring02" )) \
402 (( PAR_DCS_SIDEMINUS_STATION03, "CSC_SideMinus_Station03" )) \
403 (( PAR_DCS_SIDEMINUS_STATION03_RING01, "CSC_SideMinus_Station03_Ring01" )) \
404 (( PAR_DCS_SIDEMINUS_STATION03_RING02, "CSC_SideMinus_Station03_Ring02" )) \
405 (( PAR_DCS_SIDEMINUS_STATION04, "CSC_SideMinus_Station04" )) \
406 (( PAR_DCS_SIDEMINUS_STATION04_RING01, "CSC_SideMinus_Station04_Ring01" )) \
407 (( PAR_DCS_SIDEMINUS_STATION04_RING02, "CSC_SideMinus_Station04_Ring02" )) \
408 (( PAR_DCS_SIDEPLUS, "CSC_SidePlus" )) \
409 (( PAR_DCS_SIDEPLUS_STATION01, "CSC_SidePlus_Station01" )) \
410 (( PAR_DCS_SIDEPLUS_STATION01_RING01, "CSC_SidePlus_Station01_Ring01" )) \
411 (( PAR_DCS_SIDEPLUS_STATION01_RING02, "CSC_SidePlus_Station01_Ring02" )) \
412 (( PAR_DCS_SIDEPLUS_STATION01_RING03, "CSC_SidePlus_Station01_Ring03" )) \
413 (( PAR_DCS_SIDEPLUS_STATION02, "CSC_SidePlus_Station02" )) \
414 (( PAR_DCS_SIDEPLUS_STATION02_RING01, "CSC_SidePlus_Station02_Ring01" )) \
415 (( PAR_DCS_SIDEPLUS_STATION02_RING02, "CSC_SidePlus_Station02_Ring02" )) \
416 (( PAR_DCS_SIDEPLUS_STATION03, "CSC_SidePlus_Station03" )) \
417 (( PAR_DCS_SIDEPLUS_STATION03_RING01, "CSC_SidePlus_Station03_Ring01" )) \
418 (( PAR_DCS_SIDEPLUS_STATION03_RING02, "CSC_SidePlus_Station03_Ring02" )) \
419 (( PAR_DCS_SIDEPLUS_STATION04, "CSC_SidePlus_Station04" )) \
420 (( PAR_DCS_SIDEPLUS_STATION04_RING01, "CSC_SidePlus_Station04_Ring01" )) \
421 (( PAR_DCS_SIDEPLUS_STATION04_RING02, "CSC_SidePlus_Station04_Ring02" )) \
425 #define BOOST_PP_VALUE BOOST_PP_SEQ_SIZE(CONFIG_HISTONAMES_SEQ_01) + BOOST_PP_SEQ_SIZE(CONFIG_HISTONAMES_SEQ_02)
426 #include BOOST_PP_ASSIGN_SLOT(1)
429 #define CONFIG_MACRO_ID(r, data, i, elem) \
430 const HistoId BOOST_PP_TUPLE_ELEM(2, 0, elem) = data + i;
433 #define CONFIG_MACRO_NAME(r, data, i, elem) \
434 BOOST_PP_TUPLE_ELEM(2, 1, elem)\
435 BOOST_PP_COMMA_IF(BOOST_PP_LESS(BOOST_PP_INC(i), data))
438 #define CONFIG_MACRO_KEY(r, data, i, elem) \
439 BOOST_PP_STRINGIZE(BOOST_PP_TUPLE_ELEM(2, 0, elem))\
440 BOOST_PP_COMMA_IF(BOOST_PP_LESS(BOOST_PP_INC(i), data))
448 BOOST_PP_SEQ_FOR_EACH_I(
CONFIG_MACRO_NAME, BOOST_PP_SEQ_SIZE(CONFIG_HISTONAMES_SEQ_01), CONFIG_HISTONAMES_SEQ_01),
463 #undef CONFIG_HISTONAMES_SEQ
464 #undef CONFIG_MACRO_ID
465 #undef CONFIG_MACRO_NAME
#define CONFIG_MACRO_NAME(r, data, i, elem)
#define CONFIG_HISTONAMES_SEQ_01
#define CONFIG_HISTONAMES_SEQ_02
static const HistoName keys[]
#define CONFIG_MACRO_KEY(r, data, i, elem)
#define CONFIG_MACRO_ID(r, data, i, elem)
static const unsigned int namesSize
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
static const HistoName names[]