1 import FWCore.ParameterSet.Config
as cms
2 from DQMServices.Core.DQMEDHarvester
import DQMEDHarvester
6 tracksterLabels = [
'ticlTracksters'+iteration
for iteration
in ticlIterLabelsMerge]
7 tracksterLabels.extend([
'ticlSimTracksters',
'ticlSimTracksters_fromCPs'])
9 prefix =
'HGCAL/HGCalValidator/' 10 maxlayerzm = hgcalValidator.totallayers_to_monitor.value()
11 maxlayerzp = 2 * hgcalValidator.totallayers_to_monitor.value()
14 eff_layers = [
"effic_eta_layer{:02d} 'LayerCluster Efficiency vs #eta Layer{:02d} in z-' Num_CaloParticle_Eta_perlayer{:02d} Denom_CaloParticle_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "effic_eta_layer{:02d} 'LayerCluster Efficiency vs #eta Layer{:02d} in z+' Num_CaloParticle_Eta_perlayer{:02d} Denom_CaloParticle_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ]
15 eff_layers.extend([
"effic_phi_layer{:02d} 'LayerCluster Efficiency vs #phi Layer{:02d} in z-' Num_CaloParticle_Phi_perlayer{:02d} Denom_CaloParticle_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "effic_phi_layer{:02d} 'LayerCluster Efficiency vs #phi Layer{:02d} in z+' Num_CaloParticle_Phi_perlayer{:02d} Denom_CaloParticle_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
16 eff_layers.extend([
"duplicate_eta_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #eta Layer{:02d} in z-' NumDup_CaloParticle_Eta_perlayer{:02d} Denom_CaloParticle_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "duplicate_eta_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #eta Layer{:02d} in z+' NumDup_CaloParticle_Eta_perlayer{:02d} Denom_CaloParticle_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
17 eff_layers.extend([
"duplicate_phi_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #phi Layer{:02d} in z-' NumDup_CaloParticle_Phi_perlayer{:02d} Denom_CaloParticle_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "duplicate_phi_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #phi Layer{:02d} in z+' NumDup_CaloParticle_Phi_perlayer{:02d} Denom_CaloParticle_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
18 eff_layers.extend([
"fake_eta_layer{:02d} 'LayerCluster Fake Rate vs #eta Layer{:02d} in z-' Num_LayerCluster_Eta_perlayer{:02d} Denom_LayerCluster_Eta_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "fake_eta_layer{:02d} 'LayerCluster Fake Rate vs #eta Layer{:02d} in z+' Num_LayerCluster_Eta_perlayer{:02d} Denom_LayerCluster_Eta_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
19 eff_layers.extend([
"fake_phi_layer{:02d} 'LayerCluster Fake Rate vs #phi Layer{:02d} in z-' Num_LayerCluster_Phi_perlayer{:02d} Denom_LayerCluster_Phi_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "fake_phi_layer{:02d} 'LayerCluster Fake Rate vs #phi Layer{:02d} in z+' Num_LayerCluster_Phi_perlayer{:02d} Denom_LayerCluster_Phi_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
20 eff_layers.extend([
"merge_eta_layer{:02d} 'LayerCluster Merge Rate vs #eta Layer{:02d} in z-' NumMerge_LayerCluster_Eta_perlayer{:02d} Denom_LayerCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "merge_eta_layer{:02d} 'LayerCluster Merge Rate vs #eta Layer{:02d} in z+' NumMerge_LayerCluster_Eta_perlayer{:02d} Denom_LayerCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
21 eff_layers.extend([
"merge_phi_layer{:02d} 'LayerCluster Merge Rate vs #phi Layer{:02d} in z-' NumMerge_LayerCluster_Phi_perlayer{:02d} Denom_LayerCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "merge_phi_layer{:02d} 'LayerCluster Merge Rate vs #phi Layer{:02d} in z+' NumMerge_LayerCluster_Phi_perlayer{:02d} Denom_LayerCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
23 lcToCP_linking = hgcalValidator.label_LCToCPLinking._InputTag__moduleLabel
25 subDirs = cms.untracked.vstring(prefix + hgcalValidator.label_layerClusterPlots._InputTag__moduleLabel +
'/' + lcToCP_linking),
26 efficiency = cms.vstring(eff_layers),
27 resolution = cms.vstring(),
28 cumulativeDists = cms.untracked.vstring(),
29 noFlowDists = cms.untracked.vstring(),
30 outputFileName = cms.untracked.string(
""),
31 verbose = cms.untracked.uint32(4))
34 eff_simclusters = [
"effic_eta_layer{:02d} 'LayerCluster Efficiency vs #eta Layer{:02d} in z-' Num_SimCluster_Eta_perlayer{:02d} Denom_SimCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "effic_eta_layer{:02d} 'LayerCluster Efficiency vs #eta Layer{:02d} in z+' Num_SimCluster_Eta_perlayer{:02d} Denom_SimCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ]
35 eff_simclusters.extend([
"effic_phi_layer{:02d} 'LayerCluster Efficiency vs #phi Layer{:02d} in z-' Num_SimCluster_Phi_perlayer{:02d} Denom_SimCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "effic_phi_layer{:02d} 'LayerCluster Efficiency vs #phi Layer{:02d} in z+' Num_SimCluster_Phi_perlayer{:02d} Denom_SimCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
36 eff_simclusters.extend([
"duplicate_eta_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #eta Layer{:02d} in z-' NumDup_SimCluster_Eta_perlayer{:02d} Denom_SimCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "duplicate_eta_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #eta Layer{:02d} in z+' NumDup_SimCluster_Eta_perlayer{:02d} Denom_SimCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
37 eff_simclusters.extend([
"duplicate_phi_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #phi Layer{:02d} in z-' NumDup_SimCluster_Phi_perlayer{:02d} Denom_SimCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "duplicate_phi_layer{:02d} 'LayerCluster Duplicate(Split) Rate vs #phi Layer{:02d} in z+' NumDup_SimCluster_Phi_perlayer{:02d} Denom_SimCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
38 eff_simclusters.extend([
"fake_eta_layer{:02d} 'LayerCluster Fake Rate vs #eta Layer{:02d} in z-' Num_LayerCluster_in_SimCluster_Eta_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Eta_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "fake_eta_layer{:02d} 'LayerCluster Fake Rate vs #eta Layer{:02d} in z+' Num_LayerCluster_in_SimCluster_Eta_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Eta_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
39 eff_simclusters.extend([
"fake_phi_layer{:02d} 'LayerCluster Fake Rate vs #phi Layer{:02d} in z-' Num_LayerCluster_in_SimCluster_Phi_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Phi_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "fake_phi_layer{:02d} 'LayerCluster Fake Rate vs #phi Layer{:02d} in z+' Num_LayerCluster_in_SimCluster_Phi_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Phi_perlayer{:02d} fake".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
40 eff_simclusters.extend([
"merge_eta_layer{:02d} 'LayerCluster Merge Rate vs #eta Layer{:02d} in z-' NumMerge_LayerCluster_in_SimCluster_Eta_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "merge_eta_layer{:02d} 'LayerCluster Merge Rate vs #eta Layer{:02d} in z+' NumMerge_LayerCluster_in_SimCluster_Eta_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Eta_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
41 eff_simclusters.extend([
"merge_phi_layer{:02d} 'LayerCluster Merge Rate vs #phi Layer{:02d} in z-' NumMerge_LayerCluster_in_SimCluster_Phi_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
if (i<maxlayerzm)
else "merge_phi_layer{:02d} 'LayerCluster Merge Rate vs #phi Layer{:02d} in z+' NumMerge_LayerCluster_in_SimCluster_Phi_perlayer{:02d} Denom_LayerCluster_in_SimCluster_Phi_perlayer{:02d}".
format(i, i%maxlayerzm+1, i, i)
for i
in range(maxlayerzp) ])
43 subdirsSim = [prefix + hgcalValidator.label_SimClusters._InputTag__moduleLabel +
'/'+iteration+
'/' for iteration
in tracksterLabels]
45 subDirs = cms.untracked.vstring(subdirsSim),
46 efficiency = cms.vstring(eff_simclusters),
47 resolution = cms.vstring(),
48 cumulativeDists = cms.untracked.vstring(),
49 noFlowDists = cms.untracked.vstring(),
50 outputFileName = cms.untracked.string(
""),
51 verbose = cms.untracked.uint32(4))
56 simDict = {
"CaloParticle":
"_Link",
"SimTrackster":
"_PR"}
57 metrics = {
"purity":[
"Purity",
"_"],
"effic":[
"Efficiency",
"Eff_"],
"fake":[
"Fake Rate",
"_"],
"duplicate":[
"Duplicate(Split)",
"Dup_"],
"merge":[
"Merge Rate",
"Merge_"]}
58 variables = {
"eta":[
"#eta",
""],
"phi":[
"#phi",
""],
"energy":[
"energy",
" [GeV]"],
"pt":[
"p_{T}",
" [GeV]"]}
60 for m
in list(metrics.keys())[:2]:
63 eff_tracksters.extend([m+
"_"+v+simDict[elem]+
" 'Trackster "+metrics[m][0]+
" vs "+variables[v][0]+
"' Num"+metrics[m][1]+elem+
"_"+V+
" Denom_"+elem+
"_"+V])
64 for m
in list(metrics.keys())[2:]:
65 fakerate =
" fake" if (m ==
"fake")
else "" 68 eff_tracksters.extend([m+
"_"+v+simDict[elem]+
" 'Trackster "+metrics[m][0]+
" vs "+variables[v][0]+
"' Num"+metrics[m][1]+
"Trackster_"+V+simDict[elem]+
" Denom_Trackster_"+V+simDict[elem]+fakerate])
70 tsToCP_linking = hgcalValidator.label_TSToCPLinking.value()
71 subdirsTracksters = [prefix+iteration+
'/'+tsToCP_linking
for iteration
in tracksterLabels]
73 tsToSTS_patternRec = hgcalValidator.label_TSToSTSPR.value()
74 subdirsTracksters.extend(prefix+iteration+
'/'+tsToSTS_patternRec
for iteration
in tracksterLabels)
77 subDirs = cms.untracked.vstring(subdirsTracksters),
78 efficiency = cms.vstring(eff_tracksters),
79 resolution = cms.vstring(),
80 cumulativeDists = cms.untracked.vstring(),
81 noFlowDists = cms.untracked.vstring(),
82 outputFileName = cms.untracked.string(
""),
83 verbose = cms.untracked.uint32(4)