CMS 3D CMS Logo

nanoDQM_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 import copy
3 
4 from PhysicsTools.NanoAOD.nanoDQM_cfi import nanoDQM
7 
8 _boostedTauPlotsV10 = cms.VPSet()
9 for plot in nanoDQM.vplots.boostedTau.plots:
10  _boostedTauPlotsV10.append(plot)
11 _boostedTauPlotsV10.extend([
12  Plot1D('idMVAoldDMdR032017v2', 'idMVAoldDMdR032017v2', 11, -0.5, 10.5, 'IsolationMVArun2017v2DBoldDMdR0p3wLT ID working point (2017v2): int 1 = VVLoose, 2 = VLoose, 3 = Loose, 4 = Medium, 5 = Tight, 6 = VTight, 7 = VVTight'),
13  Plot1D('rawMVAoldDMdR032017v2', 'rawMVAoldDMdR032017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBoldDMdR0p3wLT raw output discriminator (2017v2)')
14 ])
15 
16 (run2_nanoAOD_106Xv2).toModify(
17  nanoDQM.vplots.boostedTau,
18  plots = _boostedTauPlotsV10
19 )
20 
21 _Electron_Run2_plots = cms.VPSet()
22 for plot in nanoDQM.vplots.Electron.plots:
23  if 'Fall17V2' not in plot.name.value():
24  _Electron_Run2_plots.append(plot)
25 _Electron_Run2_plots.extend([
26  Plot1D('dEscaleUp', 'dEscaleUp', 100, -0.01, 0.01, '#Delta E scaleUp'),
27  Plot1D('dEscaleDown', 'dEscaleDown', 100, -0.01, 0.01, '#Delta E scaleDown'),
28  Plot1D('dEsigmaUp', 'dEsigmaUp', 100, -0.1, 0.1, '#Delta E sigmaUp'),
29  Plot1D('dEsigmaDown', 'dEsigmaDown', 100, -0.1, 0.1, '#Delta E sigmaDown'),
30  Plot1D('eCorr', 'eCorr', 20, 0.8, 1.2, 'ratio of the calibrated energy/miniaod energy'),
31 ])
32 run2_egamma.toModify(
33  nanoDQM.vplots.Electron,
34  plots = _Electron_Run2_plots
35 )
36 
37 _Photon_Run2_plots = cms.VPSet()
38 def _match(name):
39  if 'Fall17V2' in name: return True
40  if '_quadratic' in name: return True
41  if 'hoe_PUcorr' in name: return True
42  return False
43 for plot in nanoDQM.vplots.Photon.plots:
44  if not _match(plot.name.value()):
45  _Photon_Run2_plots.append(plot)
46 _Photon_Run2_plots.extend([
47  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU Fall17V2 corrections)'),
48  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU Fall17V2 corrections)'),
49  Plot1D('dEscaleUp', 'dEscaleUp', 100, -0.01, 0.01, '#Delta E scaleUp'),
50  Plot1D('dEscaleDown', 'dEscaleDown', 100, -0.01, 0.01, '#Delta E scaleDown'),
51  Plot1D('dEsigmaUp', 'dEsigmaUp', 100, -0.1, 0.1, '#Delta E sigmaUp'),
52  Plot1D('dEsigmaDown', 'dEsigmaDown', 100, -0.1, 0.1, '#Delta E sigmaDown'),
53  Plot1D('eCorr', 'eCorr', 20, 0.8, 1.2, 'ratio of the calibrated energy/miniaod energy'),
54 ])
55 run2_egamma.toModify(
56  nanoDQM.vplots.Photon,
57  plots = _Photon_Run2_plots
58 )
59 
60 _FatJet_Run2_plots = cms.VPSet()
61 for plot in nanoDQM.vplots.FatJet.plots:
62  if 'EF' not in plot.name.value():
63  _FatJet_Run2_plots.append(plot)
64 _FatJet_Run2_plots.extend([
65  Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
66  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
67  Plot1D('btagHbb', 'btagHbb', 20, -1, 1, 'Higgs to BB tagger discriminator'),
68  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
69  Plot1D('btagDDBvLV2', 'btagDDBvLV2', 20, 0, 1, 'DeepDoubleX V2(mass-decorrelated) discriminator for H(Z)->bb vs QCD'),
70  Plot1D('btagDDCvBV2', 'btagDDCvBV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb'),
71  Plot1D('btagDDCvLV2', 'btagDDCvLV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs QCD'),
72  Plot1D('deepTagMD_H4qvsQCD', 'deepTagMD_H4qvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->4q vs QCD discriminator'),
73  Plot1D('deepTagMD_HbbvsQCD', 'deepTagMD_HbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->bb vs QCD discriminator'),
74  Plot1D('deepTagMD_TvsQCD', 'deepTagMD_TvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger top vs QCD discriminator'),
75  Plot1D('deepTagMD_WvsQCD', 'deepTagMD_WvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger W vs QCD discriminator'),
76  Plot1D('deepTagMD_ZHbbvsQCD', 'deepTagMD_ZHbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->bb vs QCD discriminator'),
77  Plot1D('deepTagMD_ZHccvsQCD', 'deepTagMD_ZHccvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->cc vs QCD discriminator'),
78  Plot1D('deepTagMD_ZbbvsQCD', 'deepTagMD_ZbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z->bb vs QCD discriminator'),
79  Plot1D('deepTagMD_ZvsQCD', 'deepTagMD_ZvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z vs QCD discriminator'),
80  Plot1D('deepTagMD_bbvsLight', 'deepTagMD_bbvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->bb vs light flavour discriminator'),
81  Plot1D('deepTagMD_ccvsLight', 'deepTagMD_ccvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->cc vs light flavour discriminator'),
82  Plot1D('deepTag_H', 'deepTag_H', 20, 0, 1, 'DeepBoostedJet tagger H(bb,cc,4q) sum'),
83  Plot1D('deepTag_QCD', 'deepTag_QCD', 20, 0, 1, 'DeepBoostedJet tagger QCD(bb,cc,b,c,others) sum'),
84  Plot1D('deepTag_QCDothers', 'deepTag_QCDothers', 20, 0, 1, 'DeepBoostedJet tagger QCDothers value'),
85  Plot1D('deepTag_TvsQCD', 'deepTag_TvsQCD', 20, 0, 1, 'DeepBoostedJet tagger top vs QCD discriminator'),
86  Plot1D('deepTag_WvsQCD', 'deepTag_WvsQCD', 20, 0, 1, 'DeepBoostedJet tagger W vs QCD discriminator'),
87  Plot1D('deepTag_ZvsQCD', 'deepTag_ZvsQCD', 20, 0, 1, 'DeepBoostedJet tagger Z vs QCD discriminator'),
88  Plot1D('particleNetLegacy_mass', 'particleNetLegacy_mass', 25, 0, 250, 'ParticleNet Legacy Run-2 mass regression'),
89  Plot1D('particleNetLegacy_Xbb', 'particleNetLegacy_Xbb', 20, 0, 1, 'ParticleNet Legacy Run-2 X->bb score'),
90  Plot1D('particleNetLegacy_Xcc', 'particleNetLegacy_Xcc', 20, 0, 1, 'ParticleNet Legacy Run-2 X->cc score'),
91  Plot1D('particleNetLegacy_Xqq', 'particleNetLegacy_Xqq', 20, 0, 1, 'ParticleNet Legacy Run-2 X->qq (uds) score'),
92  Plot1D('particleNetLegacy_QCD', 'particleNetLegacy_QCD', 20, 0, 1, 'ParticleNet Legacy Run-2 QCD score'),
93 ])
94 
95 _FatJet_EarlyRun3_plots = cms.VPSet()
96 for plot in _FatJet_Run2_plots:
97  if 'particleNet_' not in plot.name.value() and 'btagCSVV2' not in plot.name.value() \
98  and 'Multiplicity' not in plot.name.value() and 'EF' not in plot.name.value():
99  _FatJet_EarlyRun3_plots.append(plot)
100 _FatJet_EarlyRun3_plots.extend([
101  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
102  Plot1D('btagHbb', 'btagHbb', 20, -1, 1, 'Higgs to BB tagger discriminator'),
103  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
104  Plot1D('btagDDBvLV2', 'btagDDBvLV2', 20, 0, 1, 'DeepDoubleX V2(mass-decorrelated) discriminator for H(Z)->bb vs QCD'),
105  Plot1D('btagDDCvBV2', 'btagDDCvBV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb'),
106  Plot1D('btagDDCvLV2', 'btagDDCvLV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs QCD'),
107 ])
108 
109 _Jet_Run2_plots = cms.VPSet()
110 for plot in nanoDQM.vplots.Jet.plots:
111  _Jet_Run2_plots.append(plot)
112  if 'Multiplicity' not in plot.name.value() and 'hfHEF' not in plot.name.value() and 'hfEmEF' not in plot.name.value():
113  _Jet_Run2_plots.append(plot)
114 _Jet_Run2_plots.extend([
115  Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
116  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
117  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
118  Plot1D('btagDeepC', 'btagDeepC', 20, 0, 1, 'DeepCSV charm btag discriminator'),
119  Plot1D('btagDeepCvB', 'btagDeepCvB', 20, -1, 1, 'DeepCSV c vs b+bb discriminator'),
120  Plot1D('btagDeepCvL', 'btagDeepCvL', 20, -1, 1, 'DeepCSV c vs udsg discriminator')
121 ])
122 
123 _Jet_EarlyRun3_plots = cms.VPSet()
124 for plot in nanoDQM.vplots.Jet.plots:
125  if 'PNet' not in plot.name.value() and 'Multiplicity' not in plot.name.value() \
126  and 'hfHEF' not in plot.name.value() and 'hfEmEF' not in plot.name.value():
127  _Jet_EarlyRun3_plots.append(plot)
128 
129 
130 _SubJet_Run2_plots = cms.VPSet()
131 for plot in nanoDQM.vplots.SubJet.plots:
132  _SubJet_Run2_plots.append(plot)
133 _SubJet_Run2_plots.extend([
134  Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
135 ])
136 _SubJet_EarlyRun3_plots = cms.VPSet()
137 for plot in nanoDQM.vplots.SubJet.plots:
138  if 'area' not in plot.name.value():
139  _SubJet_EarlyRun3_plots.append(plot)
140 
141 run2_nanoAOD_ANY.toModify(
142  nanoDQM.vplots.FatJet,
143  plots = _FatJet_Run2_plots
144 ).toModify(
145  nanoDQM.vplots.Jet,
146  plots = _Jet_Run2_plots
147 ).toModify(
148  nanoDQM.vplots.SubJet,
149  plots = _SubJet_Run2_plots
150 )
151 
152 (run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
153  nanoDQM.vplots.FatJet,
154  plots = _FatJet_EarlyRun3_plots
155 ).toModify(
156  nanoDQM.vplots.Jet,
157  plots = _Jet_EarlyRun3_plots
158 ).toModify(
159  nanoDQM.vplots.SubJet,
160  plots = _SubJet_EarlyRun3_plots
161 )
162 
163 
164 _Pileup_pre13X_plots = cms.VPSet()
165 for plot in nanoDQM.vplots.Pileup.plots:
166  if 'pthatmax' not in plot.name.value():
167  _Pileup_pre13X_plots.append(plot)
168 
169 (run2_nanoAOD_ANY | run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
170  nanoDQM.vplots.Pileup,
171  plots = _Pileup_pre13X_plots
172 )
173 
174 
175 nanoDQMMC = nanoDQM.clone()
176 nanoDQMMC.vplots.Electron.sels.Prompt = cms.string("genPartFlav == 1")
177 nanoDQMMC.vplots.LowPtElectron.sels.Prompt = cms.string("genPartFlav == 1")
178 nanoDQMMC.vplots.Muon.sels.Prompt = cms.string("genPartFlav == 1")
179 nanoDQMMC.vplots.Photon.sels.Prompt = cms.string("genPartFlav == 1")
180 nanoDQMMC.vplots.Tau.sels.Prompt = cms.string("genPartFlav == 5")
181 nanoDQMMC.vplots.Jet.sels.Prompt = cms.string("genJetIdx != 1")
182 nanoDQMMC.vplots.Jet.sels.PromptB = cms.string("genJetIdx != 1 && hadronFlavour == 5")
183 
184 from DQMServices.Core.DQMQualityTester import DQMQualityTester
185 nanoDQMQTester = DQMQualityTester(
186  qtList = cms.untracked.FileInPath('PhysicsTools/NanoAOD/test/dqmQualityTests.xml'),
187  prescaleFactor = cms.untracked.int32(1),
188  testInEventloop = cms.untracked.bool(False),
189  qtestOnEndLumi = cms.untracked.bool(False),
190  verboseQT = cms.untracked.bool(True)
191 )
192 
193 nanoHarvest = cms.Sequence( nanoDQMQTester )
def _match(name)
Definition: nanoDQM_cff.py:38