CMS 3D CMS Logo

html.py
Go to the documentation of this file.
1 import os
2 import collections
3 import six
4 
5 _sampleName = {
6  "RelValCloseByParticleGun_CE_H_Fine_300um" : "CloseByParticleGun in CE-H Fine section with 300 um",
7  "RelValCloseByParticleGun_CE_H_Fine_200um" : "CloseByParticleGun in CE-H Fine section with 200 um",
8  "RelValCloseByParticleGun_CE_H_Fine_120um" : "CloseByParticleGun in CE-H Fine section with 120 um",
9  "RelValCloseByParticleGun_CE_H_Coarse_Scint" : "CloseByParticleGun in CE-H Coarse section with scintillator",
10  "RelValCloseByParticleGun_CE_H_Coarse_300um" : "CloseByParticleGun in CE-H Coarse section with 300 um",
11  "RelValCloseByParticleGun_CE_E_Front_300um" : "CloseByParticleGun in CE-E Front section with 300 um",
12  "RelValCloseByParticleGun_CE_E_Front_200um" : "CloseByParticleGun in CE-E Front section with 200 um",
13  "RelValCloseByPGun_CE_E_Front_120um" : "CloseByParticleGun in CE-E Front section with 120 um",
14  "RelValCloseByPGun_CE_H_Fine_300um" : "CloseByParticleGun in CE-H Fine section with 300 um",
15  "RelValCloseByPGun_CE_H_Fine_200um" : "CloseByParticleGun in CE-H Fine section with 200 um",
16  "RelValCloseByPGun_CE_H_Fine_120um" : "CloseByParticleGun in CE-H Fine section with 120 um",
17  "RelValCloseByPGun_CE_H_Coarse_Scint" : "CloseByParticleGun in CE-H Coarse section with scintillator",
18  "RelValCloseByPGun_CE_H_Coarse_300um" : "CloseByParticleGun in CE-H Coarse section with 300 um",
19  "RelValCloseByPGun_CE_E_Front_300um" : "CloseByParticleGun in CE-E Front section with 300 um",
20  "RelValCloseByPGun_CE_E_Front_200um" : "CloseByParticleGun in CE-E Front section with 200 um",
21  "RelValCloseByPGun_CE_E_Front_120um" : "CloseByParticleGun in CE-E Front section with 120 um",
22  "RelValTTbar" : "TTbar",
23  "RelValSingleGammaFlatPt8To150" : "Single Gamma Pt 8 GeV to 150 GeV ",
24  "RelValSingleMuPt10" : "Single Muon Pt 10 GeV",
25  "RelValSingleMuPt100" : "Single Muon Pt 100 GeV",
26  "RelValSingleMuPt1000" : "Single Muon Pt 1000 GeV",
27  "RelValSingleMuFlatPt2To100" : "Single Muon Pt 2 GeV to 100 GeV",
28  "RelValSingleMuFlatPt0p7To10" : "Single Muon Pt 0.7 GeV to 10 GeV",
29  "RelValSingleEFlatPt2To100" : "Single Electron Pt 2 GeV to 100 GeV",
30  "RelValSingleTauFlatPt2To150" : "Single Tau Pt 2 GeV to 150 GeV",
31  "RelValSinglePiFlatPt0p7To10" : "Single Pion Pt 0.7 GeV to 10 GeV",
32  "RelValQCD_Pt20toInfMuEnrichPt15" : "QCD Pt 20 GeV to Inf with Muon Pt 15 GeV",
33  "RelValQCD_Pt15To7000_Flat" : "QCD Pt 15 GeV to 7 TeV",
34  "RelValZTT" : "ZTauTau",
35  "RelValZMM" : "ZMuMu",
36  "RelValZEE" : "ZEleEle",
37  "RelValB0ToKstarMuMu" : "B0 To Kstar Muon Muon",
38  "RelValBsToEleEle" : "Bs To Electron Electron",
39  "RelValBsToMuMu" : "Bs To Muon Muon",
40  "RelValBsToJpsiGamma" : "Bs To Jpsi Gamma",
41  "RelValBsToJpsiPhi_mumuKK" : "Bs To JpsiPhi_mumuKK",
42  "RelValBsToPhiPhi_KKKK" : "Bs To PhiPhi_KKKK",
43  "RelValDisplacedMuPt30To100" : "Displaced Muon Pt 30 GeV to 100 GeV",
44  "RelValDisplacedMuPt2To10" : "Displaced Muon Pt 2 GeV to 10 GeV",
45  "RelValDisplacedMuPt10To30" : "Displaced Muon Pt 10 GeV to 30 GeV",
46  "RelValTauToMuMuMu" : "Tau To Muon Muon Muon",
47  "RelValMinBias" : "Min Bias",
48  "RelValH125GGgluonfusion" : "Higgs to gamma gamma",
49  "RelValNuGun" : "Neutrino gun",
50  "RelValZpTT_1500" : "Z prime with 1500 GeV nominal mass",
51  "RelValTenTau_15_500" : "Ten Taus with energy from 15 GeV to 500 GeV"
52 }
53 
54 _sampleFileName = {
55  "RelValCloseByParticleGun_CE_H_Fine_300um" : "closebycehf300",
56  "RelValCloseByParticleGun_CE_H_Fine_200um" : "closebycehf200",
57  "RelValCloseByParticleGun_CE_H_Fine_120um" : "closebycehf120",
58  "RelValCloseByParticleGun_CE_H_Coarse_Scint" : "closebycehcscint",
59  "RelValCloseByParticleGun_CE_H_Coarse_300um" : "closebycehc300",
60  "RelValCloseByParticleGun_CE_E_Front_300um" : "closebyceef300",
61  "RelValCloseByParticleGun_CE_E_Front_200um" : "closebyceef200",
62  "RelValCloseByParticleGun_CE_E_Front_120um" : "closebyceef120",
63  "RelValTTbar" : "ttbar",
64  "RelValSingleGammaFlatPt8To150" : "gam8",
65  "RelValSingleMuPt10" : "m10",
66  "RelValSingleMuPt100" : "m100",
67  "RelValSingleMuPt1000" : "m1000",
68  "RelValSingleMuFlatPt2To100" : "mflat2t100",
69  "RelValSingleMuFlatPt0p7To10" : "mflat0p7t10",
70  "RelValSingleEFlatPt2To100" : "eflat2t100",
71  "RelValSingleTauFlatPt2To150" : "tauflat2t150",
72  "RelValSinglePiFlatPt0p7To10" : "piflat0p7t10",
73  "RelValQCD_Pt20toInfMuEnrichPt15" : "qcd20enmu15",
74  "RelValQCD_Pt15To7000_Flat" : "qcdflat15",
75  "RelValZTT" : "ztautau",
76  "RelValZMM" : "zmm",
77  "RelValZEE" : "zee",
78  "RelValB0ToKstarMuMu" : "b0kstmm",
79  "RelValBsToEleEle" : "bsee",
80  "RelValBsToMuMu" : "bsmm",
81  "RelValBsToJpsiGamma" : "bsjpsg",
82  "RelValBsToJpsiPhi_mumuKK" : "bsjpspmmkk",
83  "RelValBsToPhiPhi_KKKK" : "bsjpsppkkkk",
84  "RelValDisplacedMuPt30To100" : "dm30",
85  "RelValDisplacedMuPt2To10" : "dm2",
86  "RelValDisplacedMuPt10To30" : "dm10",
87  "RelValTauToMuMuMu" : "taummm",
88  "RelValMinBias" : "minbias",
89  "RelValH125GGgluonfusion" : "hgg",
90  "RelValNuGun" : "nug",
91  "RelValZpTT_1500" : "zp1500tautau",
92  "RelValTenTau_15_500" : "tentaus15to1500"
93 
94 }
95 
96 
97 _pageNameMap = {
98  "summary": "Summary",
99  "hitCalibration": "Reconstructed hits calibration",
100  "hitValidation" : "Simulated hits, digis, reconstructed hits validation" ,
101  "hgcalLayerClusters": "Layer clusters",
102  "allTiclMultiClusters":"TICL multiclusters",
103  "ticlMultiClustersFromTrackstersEM": "Electromagnetic multiclusters",
104  "ticlMultiClustersFromTrackstersHAD": "Hadronic multiclusters",
105  "hgcalMultiClusters" : "Old multiclusters",
106  "standalone" : "Standalone study on simulated hits, digis, reconstructed hits"
107 }
108 
109 _sectionNameMapOrder = collections.OrderedDict([
110  # These are for the summary page
111  # Will add later
112  # hgcalLayerClusters
113  ("hgcalLayerClusters", "Layer clusters"),
114  # ticlMultiClustersFromTrackstersEM
115  ("ticlMultiClustersFromTrackstersEM","Electromagnetic multiclusters"),
116  # ticlMultiClustersFromTrackstersHAD
117  ("ticlMultiClustersFromTrackstersHAD","Hadronic multiclusters"),
118  ("allTiclMultiClusters","TICL multiclusters"),
119  # hgcalMultiClusters
120  ("hgcalMultiClusters","Old multiclusters"),
121 ])
122 
123 #This is the summary section, where we define which plots will be shown in the summary page.
124 _summary = {}
125 
126 #Objects to keep in summary
127 #_summobj = ['hitCalibration','hitValidation', 'hgcalLayerClusters','ticlMultiClustersFromTrackstersEM','ticlMultiClustersFromTrackstersHAD']
128 _summobj = ['hitCalibration','hitValidation', 'hgcalLayerClusters','allTiclMultiClusters']
129 #_summobj = ['hitCalibration','hitValidation', 'hgcalLayerClusters']
130 
131 #Plots to keep in summary from hitCalibration
132 summhitcalib=[
133  'Layer_Occupancy/LayerOccupancy/LayerOccupancy.png',
134  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_300_calib_fraction.png',
135  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_200_calib_fraction.png',
136  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_100_calib_fraction.png',
137  'ReconstructableEnergyOverCPenergy/ReconstructableEnergyOverCPenergy/h_EoP_CPene_scint_calib_fraction.png'
138  ]
139 
140 #Plots to keep in summary from hitValidation
141 summhitvalid = [
142  'SimHits_Validation/HitValidation/heeEnSim.png',
143  'SimHits_Validation/HitValidation/hebEnSim.png',
144  'SimHits_Validation/HitValidation/hefEnSim.png']
145 
146 #Plots to keep in summary from layer clusters
147 summlc = [
148  'hgcalLayerClusters_zminus/Efficiencies_vs_layer/globalEfficiencies.png' ,
149  'hgcalLayerClusters_zplus/Efficiencies_vs_layer/globalEfficiencies.png' ,
150  'hgcalLayerClusters_zminus/Duplicates_vs_layer/globalEfficiencies.png' ,
151  'hgcalLayerClusters_zplus/Duplicates_vs_layer/globalEfficiencies.png' ,
152  'hgcalLayerClusters_zminus/FakeRate_vs_layer/globalEfficiencies.png' ,
153  'hgcalLayerClusters_zplus/FakeRate_vs_layer/globalEfficiencies.png' ,
154  'hgcalLayerClusters_zminus/MergeRate_vs_layer/globalEfficiencies.png' ,
155  'hgcalLayerClusters_zplus/MergeRate_vs_layer/globalEfficiencies.png',
156  'SelectedCaloParticles_Photons/SelectedCaloParticles_num_caloparticle_eta.png',
157  'SelectedCaloParticles_Photons/SelectedCaloParticles_caloparticle_pt.png',
158  'SelectedCaloParticles_Photons/SelectedCaloParticles_caloparticle_phi.png',
159  'SelectedCaloParticles_Photons/SelectedCaloParticles_caloparticle_energy.png',
160  'SelectedCaloParticles_Photons/SelectedCaloParticles_Eta vs Zorigin.png'
161  ]
162 
163 
164 #Plots to keep in summary from ticlMultiClustersFromTrackstersEM
165 summmcEM = [
166  'ticlMultiClustersFromTrackstersEM/Efficiencies/globalEfficiencies.png' ,
167  'ticlMultiClustersFromTrackstersEM/Duplicates/globalEfficiencies.png' ,
168  'ticlMultiClustersFromTrackstersEM/FakeRate/globalEfficiencies.png' ,
169  'ticlMultiClustersFromTrackstersEM/MergeRate/globalEfficiencies.png'
170 ]
171 
172 #Plots to keep in summary from ticlMultiClustersFromTrackstersHAD
173 summmcHAD = [
174  'ticlMultiClustersFromTrackstersHAD/Efficiencies/globalEfficiencies.png' ,
175  'ticlMultiClustersFromTrackstersHAD/Duplicates/globalEfficiencies.png' ,
176  'ticlMultiClustersFromTrackstersHAD/FakeRate/globalEfficiencies.png' ,
177  'ticlMultiClustersFromTrackstersHAD/MergeRate/globalEfficiencies.png'
178 ]
179 
180 summmcTICL = summmcEM + summmcHAD
181 
182 #Plots to keep in summary from standalone analysis
183 summstandalone = [
184  'hgcalSimHitStudy/RZ_AllDetectors.png'
185 ]
186 
187 #Let's save the above for later
188 for obj in _summobj:
189  _summary[obj] = {}
190 _summary['hitCalibration'] = summhitcalib
191 _summary['hitValidation'] = summhitvalid
192 _summary['hgcalLayerClusters'] = summlc
193 _summary['allTiclMultiClusters'] = summmcTICL
194 #_summary['ticlMultiClustersFromTrackstersEM'] = summmcEM
195 #_summary['ticlMultiClustersFromTrackstersHAD'] = summmcHAD
196 
197 #Entering the geometry section
198 #_MatBudSections = ["allhgcal","zminus","zplus","indimat","fromvertex"]
199 _MatBudSections = ["allhgcal","indimat","fromvertex"]
200 
201 _geoPageNameMap = {
202  "allhgcal": "All materials",
203 # "zminus" : "Zminus",
204 # "zplus" : "Zplus",
205  "indimat" : "Individual materials",
206  "fromvertex": "From vertex up to in front of muon stations"
207 }
208 
209 _individualmaterials =['Air','Aluminium','Cables','Copper','Epoxy','HGC_G10-FR4','Kapton','Lead','Other','Scintillator','Silicon','Stainless_Steel','WCu']
210 
211 _matPageNameMap = {
212  'Air': 'Air',
213  'Aluminium': 'Aluminium',
214  'Cables': 'Cables',
215  'Copper': 'Copper',
216  'Epoxy': 'Epoxy',
217  'HGC_G10-FR4': 'HGC_G10-FR4',
218  'Kapton': 'Kapton',
219  'Lead': 'Lead',
220  'Other': 'Other',
221  'Scintillator': 'Scintillator',
222  'Silicon': 'Silicon',
223  'Stainless_Steel': 'Stainless Steel',
224  'WCu': 'WCu'
225 }
226 
227 _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"}
228 
229 _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"}
230 
231 _fromvertexplots = {"HGCal_l_vs_eta","HGCal_l_vs_z_vs_Rsum","HGCal_l_vs_z_vs_Rsum_Zpluszoom"}
232 
233 _individualMatPlotsDesc = {
234 "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.",
235 "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.",
236 "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. ",
237 "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. ",
238 "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. ",
239 "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. "
240 }
241 
242 _allmaterialsPlotsDesc= {
243  "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. ",
244 
245  "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. ",
246 
247  "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. ",
248 
249  "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. ",
250 
251  "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. ",
252 
253  "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. ",
254 
255  "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 . ",
256 
257  "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 . ",
258 
259  "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.",
260 
261  "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.",
262 
263  "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. ",
264 
265  "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. " ,
266 
267  "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. ",
268 
269  "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. "
270 
271 
272 }
273 
274 _fromVertexPlotsDesc = {
275  "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. ",
276 
277  "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. ",
278 
279  "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.",
280 
281  "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."
282 
283 
284 
285 }
286 
287 _hideShowFun = {
288  "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>",
289  "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",
290  "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 "
291 }
292 
293 
294 
295 
296 
297 
298