1 import FWCore.ParameterSet.Config
as cms
4 from PhysicsTools.NanoAOD.nanoDQM_cfi
import nanoDQM
9 _vplots80X = nanoDQM.vplots.clone()
11 _tauPlots80X = cms.VPSet()
12 for plot
in _vplots80X.Tau.plots:
13 if (plot.name.value().
find(
"MVA")>-1
and plot.name.value().
find(
"2017")>-1)
or (plot.name.value().
find(
"AntiEle")>-1
and plot.name.value().
find(
"2018")>-1)
or (plot.name.value().
find(
"AntiEleDeadECal")>-1)
or (plot.name.value().
find(
"DeepTau")>-1):
15 _tauPlots80X.append(plot)
16 _tauPlots80X.extend([
Plot1D(
'idMVAnewDM',
'idMVAnewDM', 64, -0.5, 63.5,
'IsolationMVArun2v1DBnewDMwLT ID working point: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight, 32 = VVTight'),
17 Plot1D(
'idMVAoldDM',
'idMVAoldDM', 64, -0.5, 63.5,
'IsolationMVArun2v1DBnewDMwLT ID working point: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight, 32 = VVTight'),
18 Plot1D(
'idMVAoldDMdR03',
'idMVAoldDMdR03', 64, -0.5, 63.5,
'IsolationMVArun2v1DBdR03oldDMwLT ID working point: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight, 32 = VVTight'),
19 Plot1D(
'rawMVAnewDM',
'rawMVAnewDM', 20, -1, 1,
'byIsolationMVArun2v1DBnewDMwLT raw output discriminator'),
20 Plot1D(
'rawMVAoldDM',
'rawMVAoldDM', 20, -1, 1,
'byIsolationMVArun2v1DBnewDMwLT raw output discriminator'),
21 Plot1D(
'rawMVAoldDMdR03',
'rawMVAoldDMdR03', 20, -1, 1,
'byIsolationMVArun2v1DBdR03oldDMwLT raw output discriminator'),
22 Plot1D(
'idAntiEle',
'idAntiEle', 32, -0.5, 31.5,
'Anti-electron MVA discriminator V6: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight'),
23 Plot1D(
'rawAnti',
'rawAntiEle', 20, -100, 100,
'Anti-electron MVA discriminator V6 raw output discriminator'),
24 Plot1D(
'rawAntiEleCat',
'rawAntiEleCat', 17, -1.5, 15.5,
'Anti-electron MVA discriminator V6 category')
26 _vplots80X.Tau.plots = _tauPlots80X
27 run2_miniAOD_80XLegacy.toModify(nanoDQM,
30 _tauPlotsPreV9 = cms.VPSet()
31 for plot
in nanoDQM.vplots.Tau.plots:
32 if plot.name.value()!=
"idDecayModeOldDMs":
33 _tauPlotsPreV9.append(plot)
34 _tauPlotsPreV9.extend([
35 Plot1D(
'idDecayMode',
'idDecayMode', 2, -0.5, 1.5,
"tauID('decayModeFinding')"),
36 Plot1D(
'idDecayModeNewDMs',
'idDecayModeNewDMs', 2, -0.5, 1.5,
"tauID('decayModeFindingNewDMs')"),
37 Plot1D(
'idAntiEle',
'idAntiEle', 32, -0.5, 31.5,
'Anti-electron MVA discriminator V6: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight'),
38 Plot1D(
'idAntiEle2018',
'idAntiEle2018', 32, -0.5, 31.5,
'Anti-electron MVA discriminator V6 (2018): bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight'),
39 Plot1D(
'idMVAnewDM2017v2',
'idMVAnewDM2017v2', 128, -0.5, 127.5,
'IsolationMVArun2v1DBnewDMwLT ID working point (2017v2): bitmask 1 = VVLoose, 2 = VLoose, 4 = Loose, 8 = Medium, 16 = Tight, 32 = VTight, 64 = VVTight'),
40 Plot1D(
'idMVAoldDM',
'idMVAoldDM', 64, -0.5, 63.5,
'IsolationMVArun2v1DBoldDMwLT ID working point: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight, 32 = VVTight'),
41 Plot1D(
'idMVAoldDM2017v1',
'idMVAoldDM2017v1', 128, -0.5, 127.5,
'IsolationMVArun2v1DBoldDMwLT ID working point (2017v1): bitmask 1 = VVLoose, 2 = VLoose, 4 = Loose, 8 = Medium, 16 = Tight, 32 = VTight, 64 = VVTight'),
42 Plot1D(
'idMVAoldDM2017v2',
'idMVAoldDM2017v2', 128, -0.5, 127.5,
'IsolationMVArun2v1DBoldDMwLT ID working point (2017v2): bitmask 1 = VVLoose, 2 = VLoose, 4 = Loose, 8 = Medium, 16 = Tight, 32 = VTight, 64 = VVTight'),
43 Plot1D(
'idMVAoldDMdR032017v2',
'idMVAoldDMdR032017v2', 128, -0.5, 127.5,
'IsolationMVArun2v1DBdR03oldDMwLT ID working point (217v2): bitmask 1 = VVLoose, 2 = VLoose, 4 = Loose, 8 = Medium, 16 = Tight, 32 = VTight, 64 = VVTight'),
44 Plot1D(
'rawAntiEle',
'rawAntiEle', 20, -100, 100,
'Anti-electron MVA discriminator V6 raw output discriminator'),
45 Plot1D(
'rawAntiEle2018',
'rawAntiEle2018', 20, -100, 100,
'Anti-electron MVA discriminator V6 raw output discriminator (2018)'),
46 Plot1D(
'rawAntiEleCat',
'rawAntiEleCat', 17, -1.5, 15.5,
'Anti-electron MVA discriminator V6 category'),
47 Plot1D(
'rawAntiEleCat2018',
'rawAntiEleCat2018', 17, -1.5, 15.5,
'Anti-electron MVA discriminator V6 category (2018)'),
48 Plot1D(
'rawMVAnewDM2017v2',
'rawMVAnewDM2017v2', 20, -1, 1,
'byIsolationMVArun2v1DBnewDMwLT raw output discriminator (2017v2)'),
49 Plot1D(
'rawMVAoldDM',
'rawMVAoldDM', 20, -1, 1,
'byIsolationMVArun2v1DBoldDMwLT raw output discriminator'),
50 Plot1D(
'rawMVAoldDM2017v1',
'rawMVAoldDM2017v1', 20, -1, 1,
'byIsolationMVArun2v1DBoldDMwLT raw output discriminator (2017v1)'),
51 Plot1D(
'rawMVAoldDM2017v2',
'rawMVAoldDM2017v2', 20, -1, 1,
'byIsolationMVArun2v1DBoldDMwLT raw output discriminator (2017v2)'),
52 Plot1D(
'rawMVAoldDMdR032017v2',
'rawMVAoldDMdR032017v2', 20, -1, 1,
'byIsolationMVArun2v1DBdR03oldDMwLT raw output discriminator (2017v2)')
55 (run2_nanoAOD_92X | run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_94X2016 | run2_nanoAOD_102Xv1 | run2_nanoAOD_106Xv1).toModify(nanoDQM.vplots.Tau, plots = _tauPlotsPreV9)
57 _boostedTauPlotsV10 = cms.VPSet()
58 for plot
in nanoDQM.vplots.boostedTau.plots:
59 _boostedTauPlotsV10.append(plot)
60 _boostedTauPlotsV10.extend([
61 Plot1D(
'idMVAoldDMdR032017v2',
'idMVAoldDMdR032017v2', 128, -0.5, 127.5,
'IsolationMVArun2017v2DBoldDMdR0p3wLT ID working point (2017v2): bitmask 1 = VVLoose, 2 = VLoose, 4 = Loose, 8 = Medium, 16 = Tight, 32 = VTight, 64 = VVTight'),
62 Plot1D(
'rawMVAoldDMdR032017v2',
'rawMVAoldDMdR032017v2', 20, -1, 1,
'byIsolationMVArun2017v2DBoldDMdR0p3wLT raw output discriminator (2017v2)')
65 (run2_nanoAOD_106Xv2).toModify(nanoDQM.vplots.boostedTau, plots = _boostedTauPlotsV10)
67 _METFixEE2017_DQMentry = nanoDQM.vplots.MET.clone()
68 _METFixEE2017_plots = cms.VPSet()
69 for plot
in _METFixEE2017_DQMentry.plots:
70 if plot.name.value().
find(
"fiducial")>-1:
continue 71 _METFixEE2017_plots.append(plot)
72 _METFixEE2017_DQMentry.plots = _METFixEE2017_plots
73 for modifier
in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:
74 modifier.toModify(nanoDQM.vplots, METFixEE2017 = _METFixEE2017_DQMentry)
76 _Electron_plots_2016 = copy.deepcopy(nanoDQM.vplots.Electron.plots)
77 _Electron_plots_2016.append(
Plot1D(
'cutBased_HLTPreSel',
'cutBased_HLTPreSel', 2, -0.5, 1.5,
'cut-based HLT pre-selection ID'))
78 _Electron_plots_2016.append(
Plot1D(
'cutBased_Spring15',
'cutBased_Spring15', 5, -0.5, 4.5,
'cut-based Spring15 ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'))
79 _Electron_plots_2016.append(
Plot1D(
'mvaSpring16GP',
'mvaSpring16GP', 20, -1, 1,
'MVA Spring16 general-purpose ID score'))
80 _Electron_plots_2016.append(
Plot1D(
'mvaSpring16GP_WP80',
'mvaSpring16GP_WP80', 2, -0.5, 1.5,
'MVA Spring16 general-purpose ID WP80'))
81 _Electron_plots_2016.append(
Plot1D(
'mvaSpring16GP_WP90',
'mvaSpring16GP_WP90', 2, -0.5, 1.5,
'MVA Spring16 general-purpose ID WP90'))
82 _Electron_plots_2016.append(
Plot1D(
'mvaSpring16HZZ',
'mvaSpring16HZZ', 20, -1, 1,
'MVA Spring16 HZZ ID score'))
83 _Electron_plots_2016.append(
Plot1D(
'mvaSpring16HZZ_WPL',
'mvaSpring16HZZ_WPL', 2, -0.5, 1.5,
'MVA Spring16 HZZ ID loose WP'))
84 _Electron_plots_2016.append(
NoPlot(
'vidNestedWPBitmapSpring15'))
87 _Electron_plots_withFall17V1 = copy.deepcopy(nanoDQM.vplots.Electron.plots)
88 _Electron_plots_withFall17V1.append(
Plot1D(
'cutBased_Fall17_V1',
'cutBased_Fall17_V1', 5, -0.5, 4.5,
'cut-based ID Fall17 V1 (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'))
89 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1Iso',
'mvaFall17V1Iso', 20, -1, 1,
'MVA Iso ID V1 score'))
90 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1Iso_WP80',
'mvaFall17V1Iso_WP80', 2, -0.5, 1.5,
'MVA Iso ID V1 WP80'))
91 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1Iso_WP90',
'mvaFall17V1Iso_WP90', 2, -0.5, 1.5,
'MVA Iso ID V1 WP90'))
92 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1Iso_WPL',
'mvaFall17V1Iso_WPL', 2, -0.5, 1.5,
'MVA Iso ID V1 loose WP'))
93 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1noIso',
'mvaFall17V1noIso', 20, -1, 1,
'MVA noIso ID V1 score'))
94 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1noIso_WP80',
'mvaFall17V1noIso_WP80', 2, -0.5, 1.5,
'MVA noIso ID V1 WP80'))
95 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1noIso_WP90',
'mvaFall17V1noIso_WP90', 2, -0.5, 1.5,
'MVA noIso ID V1 WP90'))
96 _Electron_plots_withFall17V1.append(
Plot1D(
'mvaFall17V1noIso_WPL',
'mvaFall17V1noIso_WPL', 2, -0.5, 1.5,
'MVA noIso ID V1 loose WP'))
98 _Photon_plots_2016 = copy.deepcopy(nanoDQM.vplots.Photon.plots)
99 _Photon_plots_2016.append(
Plot1D(
'cutBased',
'cutBased', 4, -0.5, 3.5,
'cut-based Spring16-V2p2 ID (0:fail, 1::loose, 2:medium, 3:tight)'))
100 _Photon_plots_2016.append(
Plot1D(
'cutBased17Bitmap',
'cutBased17Bitmap', 8, -0.5, 7.5,
'cut-based Fall17-94X-V1 ID bitmap, 2^(0:loose, 1:medium, 2:tight)'))
101 _Photon_plots_2016.append(
Plot1D(
'mvaID17',
'mvaID17', 20, -1, 1,
'MVA Fall17v1p1 ID score'))
102 _Photon_plots_2016.append(
Plot1D(
'mvaID17_WP80',
'mvaID17_WP80', 2, -0.5, 1.5,
'MVA Fall17v1p1 ID WP80'))
103 _Photon_plots_2016.append(
Plot1D(
'mvaID17_WP90',
'mvaID17_WP90', 2, -0.5, 1.5,
'MVA Fall17v1p1 ID WP90'))
105 _FatJet_plots_80x = copy.deepcopy(nanoDQM.vplots.FatJet.plots)
106 _FatJet_plots_80x.append(
Plot1D(
'msoftdrop_chs',
'msoftdrop_chs', 20, -300, 300,
'Legacy uncorrected soft drop mass with CHS'))
108 _Flag_plots_80x = copy.deepcopy(nanoDQM.vplots.Flag.plots)
109 _Flag_plots_80x.append(
Plot1D(
'BadGlobalMuon',
'BadGlobalMuon', 2, -0.5, 1.5,
'Bad muon flag'))
110 _Flag_plots_80x.append(
Plot1D(
'CloneGlobalMuon',
'CloneGlobalMuon', 2, -0.5, 1.5,
'Clone muon flag'))
112 for modifier
in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
113 modifier.toModify(nanoDQM.vplots.Electron, plots = _Electron_plots_2016)
114 modifier.toModify(nanoDQM.vplots.Photon, plots = _Photon_plots_2016)
115 run2_miniAOD_80XLegacy.toModify(nanoDQM.vplots.FatJet, plots = _FatJet_plots_80x)
116 run2_miniAOD_80XLegacy.toModify(nanoDQM.vplots.Flag, plots = _Flag_plots_80x)
117 (run2_nanoAOD_92X | run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_94X2016 | run2_nanoAOD_102Xv1).toModify(nanoDQM.vplots.Electron, plots=_Electron_plots_withFall17V1)
119 run2_miniAOD_80XLegacy.toModify(nanoDQM.vplots, IsoTrack =
None)
122 nanoDQMMC = nanoDQM.clone()
123 nanoDQMMC.vplots.Electron.sels.Prompt = cms.string(
"genPartFlav == 1")
124 nanoDQMMC.vplots.LowPtElectron.sels.Prompt = cms.string(
"genPartFlav == 1")
125 nanoDQMMC.vplots.Muon.sels.Prompt = cms.string(
"genPartFlav == 1")
126 nanoDQMMC.vplots.Photon.sels.Prompt = cms.string(
"genPartFlav == 1")
127 nanoDQMMC.vplots.Tau.sels.Prompt = cms.string(
"genPartFlav == 5")
128 nanoDQMMC.vplots.Jet.sels.Prompt = cms.string(
"genJetIdx != 1")
129 nanoDQMMC.vplots.Jet.sels.PromptB = cms.string(
"genJetIdx != 1 && hadronFlavour == 5")
131 from DQMServices.Core.DQMQualityTester
import DQMQualityTester
133 qtList = cms.untracked.FileInPath(
'PhysicsTools/NanoAOD/test/dqmQualityTests.xml'),
134 prescaleFactor = cms.untracked.int32(1),
135 testInEventloop = cms.untracked.bool(
False),
136 qtestOnEndLumi = cms.untracked.bool(
False),
137 verboseQT = cms.untracked.bool(
True)
140 (run3_nanoAOD_devel).toModify(nanoDQM.vplots, Electron =
None)
141 (run3_nanoAOD_devel).toModify(nanoDQMMC.vplots, Electron =
None)
143 _modifiers = ( run2_miniAOD_80XLegacy |
144 run2_nanoAOD_94XMiniAODv1 |
145 run2_nanoAOD_94XMiniAODv2 |
146 run2_nanoAOD_94X2016 |
147 run2_nanoAOD_102Xv1 |
148 run2_nanoAOD_106Xv1 )
149 _modifiers.toModify(nanoDQM.vplots, LowPtElectron =
None)
150 _modifiers.toModify(nanoDQMMC.vplots, LowPtElectron =
None)
152 nanoHarvest = cms.Sequence( nanoDQMQTester )
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)