CMS 3D CMS Logo

html.py
Go to the documentation of this file.
1 import os
2 import collections
3 
4 _sampleName = {
5  "RelValCloseByParticleGun_CE_H_Fine_300um" : "CloseByParticleGun in CE-H Fine section with 300 um",
6  "RelValCloseByParticleGun_CE_H_Fine_200um" : "CloseByParticleGun in CE-H Fine section with 200 um",
7  "RelValCloseByParticleGun_CE_H_Fine_120um" : "CloseByParticleGun in CE-H Fine section with 120 um",
8  "RelValCloseByParticleGun_CE_H_Coarse_Scint" : "CloseByParticleGun in CE-H Coarse section with scintillator",
9  "RelValCloseByParticleGun_CE_H_Coarse_300um" : "CloseByParticleGun in CE-H Coarse section with 300 um",
10  "RelValCloseByParticleGun_CE_E_Front_300um" : "CloseByParticleGun in CE-E Front section with 300 um",
11  "RelValCloseByParticleGun_CE_E_Front_200um" : "CloseByParticleGun in CE-E Front section with 200 um",
12  "RelValCloseByPGun_CE_E_Front_120um" : "CloseByParticleGun in CE-E Front section with 120 um",
13  "RelValCloseByPGun_CE_H_Fine_300um" : "CloseByParticleGun in CE-H Fine section with 300 um",
14  "RelValCloseByPGun_CE_H_Fine_200um" : "CloseByParticleGun in CE-H Fine section with 200 um",
15  "RelValCloseByPGun_CE_H_Fine_120um" : "CloseByParticleGun in CE-H Fine section with 120 um",
16  "RelValCloseByPGun_CE_H_Coarse_Scint" : "CloseByParticleGun in CE-H Coarse section with scintillator",
17  "RelValCloseByPGun_CE_H_Coarse_300um" : "CloseByParticleGun in CE-H Coarse section with 300 um",
18  "RelValCloseByPGun_CE_E_Front_300um" : "CloseByParticleGun in CE-E Front section with 300 um",
19  "RelValCloseByPGun_CE_E_Front_200um" : "CloseByParticleGun in CE-E Front section with 200 um",
20  "RelValCloseByPGun_CE_E_Front_120um" : "CloseByParticleGun in CE-E Front section with 120 um",
21  "RelValTTbar" : "TTbar",
22  "RelValSingleGammaFlatPt8To150" : "Single Gamma Pt 8 GeV to 150 GeV ",
23  "RelValSingleMuPt10" : "Single Muon Pt 10 GeV",
24  "RelValSingleMuPt100" : "Single Muon Pt 100 GeV",
25  "RelValSingleMuPt1000" : "Single Muon Pt 1000 GeV",
26  "RelValSingleMuFlatPt2To100" : "Single Muon Pt 2 GeV to 100 GeV",
27  "RelValSingleMuFlatPt0p7To10" : "Single Muon Pt 0.7 GeV to 10 GeV",
28  "RelValSingleEFlatPt2To100" : "Single Electron Pt 2 GeV to 100 GeV",
29  "RelValSingleTauFlatPt2To150" : "Single Tau Pt 2 GeV to 150 GeV",
30  "RelValSinglePiFlatPt0p7To10" : "Single Pion Pt 0.7 GeV to 10 GeV",
31  "RelValQCD_Pt20toInfMuEnrichPt15" : "QCD Pt 20 GeV to Inf with Muon Pt 15 GeV",
32  "RelValQCD_Pt15To7000_Flat" : "QCD Pt 15 GeV to 7 TeV",
33  "RelValZTT" : "ZTauTau",
34  "RelValZMM" : "ZMuMu",
35  "RelValZEE" : "ZEleEle",
36  "RelValB0ToKstarMuMu" : "B0 To Kstar Muon Muon",
37  "RelValBsToEleEle" : "Bs To Electron Electron",
38  "RelValBsToMuMu" : "Bs To Muon Muon",
39  "RelValBsToJpsiGamma" : "Bs To Jpsi Gamma",
40  "RelValBsToJpsiPhi_mumuKK" : "Bs To JpsiPhi_mumuKK",
41  "RelValBsToPhiPhi_KKKK" : "Bs To PhiPhi_KKKK",
42  "RelValDisplacedMuPt30To100" : "Displaced Muon Pt 30 GeV to 100 GeV",
43  "RelValDisplacedMuPt2To10" : "Displaced Muon Pt 2 GeV to 10 GeV",
44  "RelValDisplacedMuPt10To30" : "Displaced Muon Pt 10 GeV to 30 GeV",
45  "RelValTauToMuMuMu" : "Tau To Muon Muon Muon",
46  "RelValMinBias" : "Min Bias",
47  "RelValH125GGgluonfusion" : "Higgs to gamma gamma",
48  "RelValNuGun" : "Neutrino gun",
49  "RelValZpTT_1500" : "Z prime with 1500 GeV nominal mass",
50  "RelValTenTau_15_500" : "Ten Taus with energy from 15 GeV to 500 GeV"
51 }
52 
53 _sampleFileName = {
54  "RelValCloseByParticleGun_CE_H_Fine_300um" : "closebycehf300",
55  "RelValCloseByParticleGun_CE_H_Fine_200um" : "closebycehf200",
56  "RelValCloseByParticleGun_CE_H_Fine_120um" : "closebycehf120",
57  "RelValCloseByParticleGun_CE_H_Coarse_Scint" : "closebycehcscint",
58  "RelValCloseByParticleGun_CE_H_Coarse_300um" : "closebycehc300",
59  "RelValCloseByParticleGun_CE_E_Front_300um" : "closebyceef300",
60  "RelValCloseByParticleGun_CE_E_Front_200um" : "closebyceef200",
61  "RelValCloseByParticleGun_CE_E_Front_120um" : "closebyceef120",
62  "RelValTTbar" : "ttbar",
63  "RelValSingleGammaFlatPt8To150" : "gam8",
64  "RelValSingleMuPt10" : "m10",
65  "RelValSingleMuPt100" : "m100",
66  "RelValSingleMuPt1000" : "m1000",
67  "RelValSingleMuFlatPt2To100" : "mflat2t100",
68  "RelValSingleMuFlatPt0p7To10" : "mflat0p7t10",
69  "RelValSingleEFlatPt2To100" : "eflat2t100",
70  "RelValSingleTauFlatPt2To150" : "tauflat2t150",
71  "RelValSinglePiFlatPt0p7To10" : "piflat0p7t10",
72  "RelValQCD_Pt20toInfMuEnrichPt15" : "qcd20enmu15",
73  "RelValQCD_Pt15To7000_Flat" : "qcdflat15",
74  "RelValZTT" : "ztautau",
75  "RelValZMM" : "zmm",
76  "RelValZEE" : "zee",
77  "RelValB0ToKstarMuMu" : "b0kstmm",
78  "RelValBsToEleEle" : "bsee",
79  "RelValBsToMuMu" : "bsmm",
80  "RelValBsToJpsiGamma" : "bsjpsg",
81  "RelValBsToJpsiPhi_mumuKK" : "bsjpspmmkk",
82  "RelValBsToPhiPhi_KKKK" : "bsjpsppkkkk",
83  "RelValDisplacedMuPt30To100" : "dm30",
84  "RelValDisplacedMuPt2To10" : "dm2",
85  "RelValDisplacedMuPt10To30" : "dm10",
86  "RelValTauToMuMuMu" : "taummm",
87  "RelValMinBias" : "minbias",
88  "RelValH125GGgluonfusion" : "hgg",
89  "RelValNuGun" : "nug",
90  "RelValZpTT_1500" : "zp1500tautau",
91  "RelValTenTau_15_500" : "tentaus15to1500"
92 
93 }
94 
95 
96 _pageNameMap = {
97  "summary": "Summary",
98  "hitCalibration": "Reconstructed hits calibration",
99  "hitValidation" : "Simulated hits, digis, reconstructed hits validation" ,
100  "hgcalLayerClusters": "Layer clusters",
101  "allTiclMultiClusters":"TICL multiclusters",
102  "ticlMultiClustersFromTrackstersEM": "Electromagnetic multiclusters",
103  "ticlMultiClustersFromTrackstersHAD": "Hadronic multiclusters",
104  "hgcalMultiClusters" : "Old multiclusters",
105  "standalone" : "Standalone study on simulated hits, digis, reconstructed hits"
106 }
107 
108 _sectionNameMapOrder = collections.OrderedDict([
109  # These are for the summary page
110  # Will add later
111  # hgcalLayerClusters
112  ("hgcalLayerClusters", "Layer clusters"),
113  # ticlMultiClustersFromTrackstersEM
114  ("ticlMultiClustersFromTrackstersEM","Electromagnetic multiclusters"),
115  # ticlMultiClustersFromTrackstersHAD
116  ("ticlMultiClustersFromTrackstersHAD","Hadronic multiclusters"),
117  ("allTiclMultiClusters","TICL multiclusters"),
118  # hgcalMultiClusters
119  ("hgcalMultiClusters","Old multiclusters"),
120 ])
121 
122 #This is the summary section, where we define which plots will be shown in the summary page.
123 _summary = {}
124 
125 #Objects to keep in summary
126 #_summobj = ['hitCalibration','hitValidation', 'hgcalLayerClusters','ticlMultiClustersFromTrackstersEM','ticlMultiClustersFromTrackstersHAD']
127 _summobj = ['hitCalibration','hitValidation', 'hgcalLayerClusters','allTiclMultiClusters']
128 #_summobj = ['hitCalibration','hitValidation', 'hgcalLayerClusters']
129 
130 #Plots to keep in summary from hitCalibration
131 summhitcalib=[
132  'Layer_Occupancy/LayerOccupancy/LayerOccupancy.png',
133  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_300_calib_fraction.png',
134  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_200_calib_fraction.png',
135  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_100_calib_fraction.png',
136  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_scint_calib_fraction.png'
137  ]
138 
139 #Plots to keep in summary from hitValidation
140 summhitvalid = [
141  'SimHits_Validation/HitValidation/heeEnSim.png',
142  'SimHits_Validation/HitValidation/hebEnSim.png',
143  'SimHits_Validation/HitValidation/hefEnSim.png']
144 
145 #Plots to keep in summary from layer clusters
146 summlc = [
147  'hgcalLayerClusters_zminus/Efficiencies_vs_layer/globalEfficiencies.png' ,
148  'hgcalLayerClusters_zplus/Efficiencies_vs_layer/globalEfficiencies.png' ,
149  'hgcalLayerClusters_zminus/Duplicates_vs_layer/globalEfficiencies.png' ,
150  'hgcalLayerClusters_zplus/Duplicates_vs_layer/globalEfficiencies.png' ,
151  'hgcalLayerClusters_zminus/FakeRate_vs_layer/globalEfficiencies.png' ,
152  'hgcalLayerClusters_zplus/FakeRate_vs_layer/globalEfficiencies.png' ,
153  'hgcalLayerClusters_zminus/MergeRate_vs_layer/globalEfficiencies.png' ,
154  'hgcalLayerClusters_zplus/MergeRate_vs_layer/globalEfficiencies.png',
155  'SelectedCaloParticles_Photons/SelectedCaloParticles_num_caloparticle_eta.png',
156  'SelectedCaloParticles_Photons/SelectedCaloParticles_caloparticle_pt.png',
157  'SelectedCaloParticles_Photons/SelectedCaloParticles_caloparticle_phi.png',
158  'SelectedCaloParticles_Photons/SelectedCaloParticles_caloparticle_energy.png',
159  'SelectedCaloParticles_Photons/SelectedCaloParticles_Eta vs Zorigin.png'
160  ]
161 
162 
163 #Plots to keep in summary from ticlMultiClustersFromTrackstersEM
164 summmcEM = [
165  'ticlMultiClustersFromTrackstersEM/Efficiencies/globalEfficiencies.png' ,
166  'ticlMultiClustersFromTrackstersEM/Duplicates/globalEfficiencies.png' ,
167  'ticlMultiClustersFromTrackstersEM/FakeRate/globalEfficiencies.png' ,
168  'ticlMultiClustersFromTrackstersEM/MergeRate/globalEfficiencies.png'
169 ]
170 
171 #Plots to keep in summary from ticlMultiClustersFromTrackstersHAD
172 summmcHAD = [
173  'ticlMultiClustersFromTrackstersHAD/Efficiencies/globalEfficiencies.png' ,
174  'ticlMultiClustersFromTrackstersHAD/Duplicates/globalEfficiencies.png' ,
175  'ticlMultiClustersFromTrackstersHAD/FakeRate/globalEfficiencies.png' ,
176  'ticlMultiClustersFromTrackstersHAD/MergeRate/globalEfficiencies.png'
177 ]
178 
179 summmcTICL = summmcEM + summmcHAD
180 
181 #Plots to keep in summary from standalone analysis
182 summstandalone = [
183  'hgcalSimHitStudy/RZ_AllDetectors.png'
184 ]
185 
186 #Let's save the above for later
187 for obj in _summobj:
188  _summary[obj] = {}
189 _summary['hitCalibration'] = summhitcalib
190 _summary['hitValidation'] = summhitvalid
191 _summary['hgcalLayerClusters'] = summlc
192 _summary['allTiclMultiClusters'] = summmcTICL
193 #_summary['ticlMultiClustersFromTrackstersEM'] = summmcEM
194 #_summary['ticlMultiClustersFromTrackstersHAD'] = summmcHAD
195 
196 #Entering the geometry section
197 #_MatBudSections = ["allhgcal","zminus","zplus","indimat","fromvertex"]
198 _MatBudSections = ["allhgcal","indimat","fromvertex"]
199 
200 _geoPageNameMap = {
201  "allhgcal": "All materials",
202 # "zminus" : "Zminus",
203 # "zplus" : "Zplus",
204  "indimat" : "Individual materials",
205  "fromvertex": "From vertex up to in front of muon stations"
206 }
207 
208 _individualmaterials =['Air','Aluminium','Cables','Copper','Epoxy','HGC_G10-FR4','Kapton','Lead','Other','Scintillator','Silicon','Stainless_Steel','WCu']
209 
210 _matPageNameMap = {
211  'Air': 'Air',
212  'Aluminium': 'Aluminium',
213  'Cables': 'Cables',
214  'Copper': 'Copper',
215  'Epoxy': 'Epoxy',
216  'HGC_G10-FR4': 'HGC_G10-FR4',
217  'Kapton': 'Kapton',
218  'Lead': 'Lead',
219  'Other': 'Other',
220  'Scintillator': 'Scintillator',
221  'Silicon': 'Silicon',
222  'Stainless_Steel': 'Stainless Steel',
223  'WCu': 'WCu'
224 }
225 
226 _individualmatplots = {"HGCal_x_vs_z_vs_Rsum","HGCal_l_vs_z_vs_Rsum","HGCal_x_vs_z_vs_Rsumcos","HGCal_l_vs_z_vs_Rsumcos","HGCal_x_vs_z_vs_Rloc","HGCal_l_vs_z_vs_Rloc"}
227 
228 _allmaterialsplots = {"HGCal_x_vs_eta","HGCal_l_vs_eta","HGCal_x_vs_phi","HGCal_l_vs_phi","HGCal_x_vs_R","HGCal_l_vs_R","HGCal_x_vs_eta_vs_phi","HGCal_l_vs_eta_vs_phi","HGCal_x_vs_z_vs_Rsum","HGCal_l_vs_z_vs_Rsum","HGCal_x_vs_z_vs_Rsumcos","HGCal_l_vs_z_vs_Rsumcos","HGCal_x_vs_z_vs_Rloc","HGCal_l_vs_z_vs_Rloc"}
229 
230 _fromvertexplots = {"HGCal_l_vs_eta","HGCal_l_vs_z_vs_Rsum","HGCal_l_vs_z_vs_Rsum_Zpluszoom"}
231 
232 _individualMatPlotsDesc = {
233 "HGCal_x_vs_z_vs_Rsum" : "The plots below shows the 2D profile histogram for THEMAT in all HGCAL that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the accumulated material budget as seen by the track, as the track travels throughout the detector.",
234 "HGCal_l_vs_z_vs_Rsum" : "The plots below shows the 2D profile histogram for THEMAT in all HGCAL that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the accumulated material budget as seen by the track, as the track travels throughout the detector.",
235 "HGCal_x_vs_z_vs_Rsumcos" : "The plots below shows the 2D profile histogram for THEMAT in all HGCAL that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the orthogonal accumulated material budget, that is cos(theta) what the track sees. ",
236 "HGCal_l_vs_z_vs_Rsumcos" : "The plots below shows the 2D profile histogram for THEMAT in all HGCAL that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the orthogonal accumulated material budget, that is cos(theta) what the track sees. ",
237 "HGCal_x_vs_z_vs_Rloc" : "The plots below shows the 2D profile histogram for THEMAT in all HGCAL that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the local material budget as seen by the track, as the track travels throughout the detector. ",
238 "HGCal_l_vs_z_vs_Rloc" : "The plots below shows the 2D profile histogram for THEMAT in all HGCAL that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the local material budget as seen by the track, as the track travels throughout the detector. "
239 }
240 
241 _allmaterialsPlotsDesc= {
242  "HGCal_x_vs_eta" : "The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of radiation length in each eta bin. 250 bins in eta (-5,5), so eta is divided in 0.04 width bins. ",
243 
244  "HGCal_l_vs_eta" : "The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of interaction length in each eta bin. 250 bins in eta (-5,5), so eta is divided in 0.04 width bins. ",
245 
246  "HGCal_x_vs_phi" : "The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of radiation length in each phi bin. 180 bins in phi (-3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. ",
247 
248  "HGCal_l_vs_phi" : "The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of interaction length in each phi bin. 180 bins in phi -3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. ",
249 
250  "HGCal_x_vs_R" : "The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of radiation length in each radius bin. 300 bins in radius (0,3000 mm), so radius is defined in 1 cm width bins. Both endcaps are in this histogram. Entries are huge since the radius is filled for each step of the track. Statistics in the HEB part above 1565 mm is smaller (although non visible, error is small), since in most part nothing is infront to keep account of the step. ",
251 
252  "HGCal_l_vs_R" : "The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of interaction length in each radius bin. 300 bins in radius (0,3000 mm), so radius is defined in 1 cm width bins. Both endcaps are in this histogram. Entries are huge since the radius is filled for each step of the track. Statistics in the HEB part above 1565 mm is smaller (although non visible, error is small), since in most part nothing is in front to keep account of the step. ",
253 
254  "HGCal_x_vs_eta_vs_phi" : "The plot on the left shows the 2D profile histogram that displays the mean value of the material budget in units of radiation length in each eta-phi cell. 180 bins in phi (-3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. 250 bins in eta -5., 5., so eta is divided in 0.04 width bins. Therefore, eta-phi cell is 2.038 degrees x 0.04 . ",
255 
256  "HGCal_l_vs_eta_vs_phi" : "The plot on the left shows the 2D profile histogram that displays the mean value of the material budget in units of interaction length in each eta-phi cell. 180 bins in phi (-3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. 250 bins in eta -5., 5., so eta is divided in 0.04 width bins. Therefore, eta-phi cell is 2.038 degrees x 0.04 . ",
257 
258  "HGCal_x_vs_z_vs_Rsum" : "The plots below shows the 2D profile histogram that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the accumulated material budget as seen by the track, as the track travels throughout the detector.",
259 
260  "HGCal_l_vs_z_vs_Rsum" : "The plots below shows the 2D profile histogram that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the accumulated material budget as seen by the track, as the track travels throughout the detector.",
261 
262  "HGCal_x_vs_z_vs_Rsumcos" : "The plots below shows the 2D profile histogram that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the orthogonal accumulated material budget, that is cos(theta) what the track sees. ",
263 
264  "HGCal_l_vs_z_vs_Rsumcos" : "The plots below shows the 2D profile histogram that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the orthogonal accumulated material budget, that is cos(theta) what the track sees. " ,
265 
266  "HGCal_x_vs_z_vs_Rloc" : "The plots below shows the 2D profile histogram that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the local material budget as seen by the track, as the track travels throughout the detector. ",
267 
268  "HGCal_l_vs_z_vs_Rloc" : "The plots below shows the 2D profile histogram that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plots depict the local material budget as seen by the track, as the track travels throughout the detector. "
269 
270 
271 }
272 
273 _fromVertexPlotsDesc = {
274  "HGCal_x_vs_eta" : "The plot below shows the stacked profile histogram of all sub detectors in front of muon stations. This profile histogram displays the mean value of the material budget in units of radiation length in each eta bin. 250 bins in eta (-5,5), so eta is divided in 0.04 width bins. ",
275 
276  "HGCal_l_vs_eta" : "The plots below shows the stacked profile histogram of all sub detectors in front of muon stations. This profile histogram displays the mean value of the material budget in units of interaction length in each eta bin. 250 bins in eta (-5,5), so eta is divided in 0.04 width bins. ",
277 
278  "HGCal_l_vs_z_vs_Rsum" : "The plots below shows the detectors that are taken into account in the calculation of the material budget. Keep in mind that coloured regions that depicts each sub-detector area may contain Air as material.",
279 
280  "HGCal_l_vs_z_vs_Rsum_Zpluszoom" : "The zoomed plots below shows the detectors that are taken into account in the calculation of the material budget. Keep in mind that coloured regions that depicts each sub-detector area may contain Air as material."
281 
282 
283 
284 }
285 
286 _hideShowFun = {
287  "thestyle" : "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> \n <style> \n body {font-family: Arial;} \n.tab { \n overflow: hidden; \n border: 1px solid #ccc; \n background-color: #f1f1f1;} \n .tab button { background-color: inherit; \n float: left; \n border: none; \n outline: none; \n cursor: pointer; \n padding: 14px 16px; \n transition: 0.3s; \n font-size: 17px; } \n .tab button:hover { background-color: #ddd; } \n .tab button.active { background-color: #ccc; } \n .tabcontent { display: none; \n padding: 6px 12px; \n border: 1px solid #ccc; \n border-top: none; \n} \n </style>",
288  "buttonandFunction" : "<script> \n function openRegion(evt, regionName) { \n var i, tabcontent, tablinks;\n tabcontent = document.getElementsByClassName(\"tabcontent\"); \n for (i = 0; i < tabcontent.length; i++) {\n tabcontent[i].style.display = \"none\";\n }\n tablinks = document.getElementsByClassName(\"tablinks\"); \n for (i = 0; i < tablinks.length; i++) {\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\"); \n }\n document.getElementById(regionName).style.display = \"block\";\n evt.currentTarget.className += \" active\"; \n}\n</script>\n",
289  "divTabs" : "<div class=\"tab\">\n <button class=\"tablinks\" onclick=\"openRegion(event, \'_AllHGCAL\')\">All HGCAL</button>\n <button class=\"tablinks\" onclick=\"openRegion(event, \'_ZminusZoom\')\">Zminus</button>\n <button class=\"tablinks\" onclick=\"openRegion(event, \'_ZplusZoom\')\">Zplus</button>\n </div>\n "
290 }
291 
292 
293 
294 
295 
296 
297