CMS 3D CMS Logo

HGCalValidator_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
5 
6 from SimCalorimetry.HGCalAssociatorProducers.LCToCPAssociation_cfi import layerClusterCaloParticleAssociation
7 from SimCalorimetry.HGCalAssociatorProducers.LCToSCAssociation_cfi import layerClusterSimClusterAssociation
8 
9 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
10 
11 from RecoHGCal.TICL.iterativeTICL_cff import ticlIterLabels, ticlIterLabelsMerge
12 
13 labelTst = [cms.InputTag("ticlTracksters"+iteration) for iteration in ticlIterLabelsMerge]
14 labelTst.extend([cms.InputTag("ticlSimTracksters", "fromCPs"), cms.InputTag("ticlSimTracksters")])
15 lcInputMask = [cms.InputTag("ticlTracksters"+iteration) for iteration in ticlIterLabels]
16 lcInputMask.extend([cms.InputTag("ticlSimTracksters", "fromCPs"), cms.InputTag("ticlSimTracksters")])
17 
18 hgcalValidator = DQMEDAnalyzer(
19  "HGCalValidator",
20 
21 
23  CaloParticleSelectionForEfficiency,
24 
25  hits = cms.VInputTag([cms.InputTag("HGCalRecHit", "HGCEERecHits"), cms.InputTag("HGCalRecHit", "HGCHEFRecHits"), cms.InputTag("HGCalRecHit", "HGCHEBRecHits")]),
26 
28  label_lcl = layerClusterCaloParticleAssociation.label_lc,
29  label_tst = cms.VInputTag(labelTst),
30  label_simTS = cms.InputTag("ticlSimTracksters"),
31  label_simTSFromCP = cms.InputTag("ticlSimTracksters", "fromCPs"),
32 
33  associator = cms.untracked.InputTag("layerClusterCaloParticleAssociationProducer"),
34 
35  associatorSim = cms.untracked.InputTag("layerClusterSimClusterAssociationProducer"),
36 
37  #General info on layers etc.
38  SaveGeneralInfo = cms.untracked.bool(True),
39  #CaloParticle related plots
40  doCaloParticlePlots = cms.untracked.bool(True),
41  #Select caloParticles for efficiency or pass through
42  doCaloParticleSelection = cms.untracked.bool(True),
43  #SimCluster related plots
44  doSimClustersPlots = cms.untracked.bool(True),
45  label_SimClusters = cms.InputTag("SimClusters"),
46  label_SimClustersLevel = cms.InputTag("ClusterLevel"),
47  #Layer Cluster related plots
48  doLayerClustersPlots = cms.untracked.bool(True),
49  label_layerClusterPlots = cms.InputTag("hgcalMergeLayerClusters"),
50  label_LCToCPLinking = cms.InputTag("LCToCP_association"),
51  #Trackster related plots
52  doTrackstersPlots = cms.untracked.bool(True),
53  label_TS = cms.string("Morphology"),
54  label_TSToCPLinking = cms.string("TSToCP_linking"),
55  label_TSToSTSPR = cms.string("TSToSTS_patternRecognition"),
56  #candidates plots
57  doCandidatesPlots = cms.untracked.bool(True),
58  ticlCandidates = cms.string("ticlCandidates"),
59 
60  ticlTrackstersMerge = cms.InputTag("ticlTrackstersMerge"),
61  simTiclCandidates = cms.InputTag("ticlSimTracksters"),
62  recoTracks = cms.InputTag("generalTracks"),
63  mergeRecoToSimAssociator = cms.InputTag("tracksterSimTracksterAssociationLinking", "recoToSim"),
64  mergeSimToRecoAssociator = cms.InputTag("tracksterSimTracksterAssociationLinking", "simToReco"),
65  mergeRecoToSimAssociatorPU = cms.InputTag("tracksterSimTracksterAssociationLinkingPU", "recoToSim"),
66 
67  #The cumulative material budget in front of each layer. To be more specific, it
68  #is the material budget just in front of the active material (not including it).
69  #This file is created using the official material budget code.
70  cummatbudinxo = cms.FileInPath('Validation/HGCalValidation/data/D41.cumulative.xo'),
71 
72 
73  label_cp_effic = layerClusterCaloParticleAssociation.label_cp,
74  label_cp_fake = cms.InputTag("mix","MergedCaloTruth"),
75  #simClusters
76  label_scl = layerClusterSimClusterAssociation.label_scl,
77 
78  simVertices = cms.InputTag("g4SimHits"),
79 
80  LayerClustersInputMask = cms.VInputTag(lcInputMask),
81 
82  #Total number of layers of HGCal that we want to monitor
83  #Could get this also from HGCalImagingAlgo::maxlayer but better to get it from here
84  totallayers_to_monitor = cms.int32(52),
85  #Thicknesses we want to monitor. -1 is for scintillator
86  thicknesses_to_monitor = cms.vint32(120,200,300,-1),
87 
88  # HistoProducerAlgo. Defines the set of plots to be booked and filled
89  histoProducerAlgoBlock = HGVHistoProducerAlgoBlock,
90 
91 
92  dirName = cms.string('HGCAL/HGCalValidator/'),
93 
94  isticlv5 = cms.untracked.bool(False)
95 )
96 
97 from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
98 premix_stage2.toModify(hgcalValidator,
99  label_cp_fake = "mixData:MergedCaloTruth"
100 )
101 
102 from Configuration.Eras.Modifier_phase2_hgcalV10_cff import phase2_hgcalV10
103 phase2_hgcalV10.toModify(hgcalValidator, totallayers_to_monitor = cms.int32(50))
104 
105 from Configuration.Eras.Modifier_phase2_hgcalV16_cff import phase2_hgcalV16
106 phase2_hgcalV16.toModify(hgcalValidator, totallayers_to_monitor = cms.int32(47))
107 
108 from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5
109 from Configuration.ProcessModifiers.ticl_superclustering_dnn_cff import ticl_superclustering_dnn
110 from Configuration.ProcessModifiers.ticl_superclustering_mustache_ticl_cff import ticl_superclustering_mustache_ticl
111 # labelTst_v5 = ["ticlTrackstersCLUE3DEM", "ticlTrackstersCLUE3DHAD", "ticlTracksterLinks"] # for separate CLUE3D iterations
112 labelTst_v5 = ["ticlTrackstersCLUE3DHigh", "ticlTracksterLinks"]
113 labelTst_v5.extend([cms.InputTag("ticlSimTracksters", "fromCPs"), cms.InputTag("ticlSimTracksters")])
114 # lcInputMask_v5 = ["ticlTrackstersCLUE3DEM", "ticlTrackstersCLUE3DHAD", "ticlTracksterLinks"] # for separate CLUE3D iterations
115 lcInputMask_v5 = ["ticlTrackstersCLUE3DHigh", "ticlTracksterLinks"]
116 lcInputMask_v5.extend([cms.InputTag("ticlSimTracksters", "fromCPs"), cms.InputTag("ticlSimTracksters")])
117 
118 ticl_v5.toModify(hgcalValidator,
119  label_tst = cms.VInputTag(labelTst_v5),
120  LayerClustersInputMask = cms.VInputTag(lcInputMask_v5),
121  ticlTrackstersMerge = cms.InputTag("ticlCandidate"),
122  isticlv5 = cms.untracked.bool(True)
123 )
124 (ticl_v5 & ticl_superclustering_mustache_ticl).toModify(
125  hgcalValidator, label_tst = cms.VInputTag(labelTst_v5 + ["ticlTracksterLinksSuperclusteringMustache"])
126 )
127 (ticl_v5 & ticl_superclustering_dnn).toModify(
128  hgcalValidator, label_tst = cms.VInputTag(labelTst_v5 + ["ticlTracksterLinksSuperclusteringDNN"])
129 )