Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-29 11:58:03

0001 import FWCore.ParameterSet.Config as cms
0002 import copy
0003 
0004 from PhysicsTools.NanoAOD.nanoDQM_cfi import nanoDQM
0005 from PhysicsTools.NanoAOD.nanoDQM_tools_cff import *
0006 from PhysicsTools.NanoAOD.nano_eras_cff import *
0007 
0008 _boostedTauPlotsV10 = cms.VPSet()
0009 for plot in nanoDQM.vplots.boostedTau.plots:
0010     _boostedTauPlotsV10.append(plot)
0011 _boostedTauPlotsV10.extend([
0012     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'),
0013     Plot1D('rawMVAoldDMdR032017v2', 'rawMVAoldDMdR032017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBoldDMdR0p3wLT raw output discriminator (2017v2)')
0014 ])
0015 
0016 (run2_nanoAOD_106Xv2).toModify(
0017     nanoDQM.vplots.boostedTau,
0018     plots = _boostedTauPlotsV10
0019 )
0020 
0021 _Electron_Run2_plots = cms.VPSet()
0022 for plot in nanoDQM.vplots.Electron.plots:
0023     if 'Fall17V2' not in plot.name.value():
0024         _Electron_Run2_plots.append(plot)
0025 _Electron_Run2_plots.extend([
0026     Plot1D('dEscaleUp', 'dEscaleUp', 100, -0.01, 0.01, '#Delta E scaleUp'),
0027     Plot1D('dEscaleDown', 'dEscaleDown', 100, -0.01, 0.01, '#Delta E scaleDown'),
0028     Plot1D('dEsigmaUp', 'dEsigmaUp', 100, -0.1, 0.1, '#Delta E sigmaUp'),
0029     Plot1D('dEsigmaDown', 'dEsigmaDown', 100, -0.1, 0.1, '#Delta E sigmaDown'),
0030     Plot1D('eCorr', 'eCorr', 20, 0.8, 1.2, 'ratio of the calibrated energy/miniaod energy'),
0031 ])
0032 run2_egamma.toModify(
0033      nanoDQM.vplots.Electron,
0034      plots = _Electron_Run2_plots
0035 )
0036 
0037 _Photon_Run2_plots = cms.VPSet()
0038 def _match(name):
0039     if 'Fall17V2' in name: return True
0040     if '_quadratic' in name: return True
0041     if 'hoe_PUcorr' in name: return True
0042     return False
0043 for plot in nanoDQM.vplots.Photon.plots:
0044     if not _match(plot.name.value()):
0045         _Photon_Run2_plots.append(plot)
0046 _Photon_Run2_plots.extend([
0047     Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU Fall17V2 corrections)'),
0048     Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU Fall17V2 corrections)'),
0049     Plot1D('dEscaleUp', 'dEscaleUp', 100, -0.01, 0.01, '#Delta E scaleUp'),
0050     Plot1D('dEscaleDown', 'dEscaleDown', 100, -0.01, 0.01, '#Delta E scaleDown'),
0051     Plot1D('dEsigmaUp', 'dEsigmaUp', 100, -0.1, 0.1, '#Delta E sigmaUp'),
0052     Plot1D('dEsigmaDown', 'dEsigmaDown', 100, -0.1, 0.1, '#Delta E sigmaDown'),
0053     Plot1D('eCorr', 'eCorr', 20, 0.8, 1.2, 'ratio of the calibrated energy/miniaod energy'),
0054 ])
0055 run2_egamma.toModify(
0056      nanoDQM.vplots.Photon,
0057      plots = _Photon_Run2_plots
0058 )
0059 
0060 _FatJet_Run2_plots = cms.VPSet()
0061 for plot in nanoDQM.vplots.FatJet.plots:
0062     if 'EF' not in plot.name.value():
0063         _FatJet_Run2_plots.append(plot)
0064 _FatJet_Run2_plots.extend([
0065     Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
0066     Plot1D('deepTagMD_H4qvsQCD', 'deepTagMD_H4qvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->4q vs QCD discriminator'),
0067     Plot1D('deepTagMD_HbbvsQCD', 'deepTagMD_HbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->bb vs QCD discriminator'),
0068     Plot1D('deepTagMD_TvsQCD', 'deepTagMD_TvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger top vs QCD discriminator'),
0069     Plot1D('deepTagMD_WvsQCD', 'deepTagMD_WvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger W vs QCD discriminator'),
0070     Plot1D('deepTagMD_ZHbbvsQCD', 'deepTagMD_ZHbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->bb vs QCD discriminator'),
0071     Plot1D('deepTagMD_ZHccvsQCD', 'deepTagMD_ZHccvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->cc vs QCD discriminator'),
0072     Plot1D('deepTagMD_ZbbvsQCD', 'deepTagMD_ZbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z->bb vs QCD discriminator'),
0073     Plot1D('deepTagMD_ZvsQCD', 'deepTagMD_ZvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z vs QCD discriminator'),
0074     Plot1D('deepTagMD_bbvsLight', 'deepTagMD_bbvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->bb vs light flavour discriminator'),
0075     Plot1D('deepTagMD_ccvsLight', 'deepTagMD_ccvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->cc vs light flavour discriminator'),
0076     Plot1D('deepTag_H', 'deepTag_H', 20, 0, 1, 'DeepBoostedJet tagger H(bb,cc,4q) sum'),
0077     Plot1D('deepTag_QCD', 'deepTag_QCD', 20, 0, 1, 'DeepBoostedJet tagger QCD(bb,cc,b,c,others) sum'),
0078     Plot1D('deepTag_QCDothers', 'deepTag_QCDothers', 20, 0, 1, 'DeepBoostedJet tagger QCDothers value'),
0079     Plot1D('deepTag_TvsQCD', 'deepTag_TvsQCD', 20, 0, 1, 'DeepBoostedJet tagger top vs QCD discriminator'),
0080     Plot1D('deepTag_WvsQCD', 'deepTag_WvsQCD', 20, 0, 1, 'DeepBoostedJet tagger W vs QCD discriminator'),
0081     Plot1D('deepTag_ZvsQCD', 'deepTag_ZvsQCD', 20, 0, 1, 'DeepBoostedJet tagger Z vs QCD discriminator'),
0082     Plot1D('particleNetLegacy_mass', 'particleNetLegacy_mass', 25, 0, 250, 'ParticleNet Legacy Run-2 mass regression'),
0083     Plot1D('particleNetLegacy_Xbb', 'particleNetLegacy_Xbb', 20, 0, 1, 'ParticleNet Legacy Run-2 X->bb score'),
0084     Plot1D('particleNetLegacy_Xcc', 'particleNetLegacy_Xcc', 20, 0, 1, 'ParticleNet Legacy Run-2 X->cc score'),
0085     Plot1D('particleNetLegacy_Xqq', 'particleNetLegacy_Xqq', 20, 0, 1, 'ParticleNet Legacy Run-2 X->qq (uds) score'),
0086     Plot1D('particleNetLegacy_QCD', 'particleNetLegacy_QCD', 20, 0, 1, 'ParticleNet Legacy Run-2 QCD score'),
0087 ])
0088 
0089 _FatJet_EarlyRun3_plots = cms.VPSet()
0090 for plot in _FatJet_Run2_plots:
0091     if 'particleNet_' not in plot.name.value() and 'btagCSVV2' not in plot.name.value() \
0092     and 'Multiplicity' not in plot.name.value() and 'EF' not in plot.name.value():
0093         _FatJet_EarlyRun3_plots.append(plot)
0094 
0095 _Jet_Run2_plots = cms.VPSet()
0096 for plot in nanoDQM.vplots.Jet.plots:
0097     _Jet_Run2_plots.append(plot)
0098     if 'Multiplicity' not in plot.name.value() and 'hfHEF' not in plot.name.value() and 'hfEmEF' not in plot.name.value():
0099         _Jet_Run2_plots.append(plot)
0100 _Jet_Run2_plots.extend([
0101     Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
0102     Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
0103     Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
0104     Plot1D('btagDeepC', 'btagDeepC', 20, 0, 1, 'DeepCSV charm btag discriminator'),
0105     Plot1D('btagDeepCvB', 'btagDeepCvB', 20, -1, 1, 'DeepCSV c vs b+bb discriminator'),
0106     Plot1D('btagDeepCvL', 'btagDeepCvL', 20, -1, 1, 'DeepCSV c vs udsg discriminator')
0107 ])
0108 
0109 _Jet_EarlyRun3_plots = cms.VPSet()
0110 for plot in nanoDQM.vplots.Jet.plots:
0111     if 'PNet' not in plot.name.value() and 'Multiplicity' not in plot.name.value() \
0112     and 'hfHEF' not in plot.name.value() and 'hfEmEF' not in plot.name.value():
0113         _Jet_EarlyRun3_plots.append(plot)
0114 
0115 _SubJet_Run2_plots = cms.VPSet()
0116 for plot in nanoDQM.vplots.SubJet.plots:
0117     _SubJet_Run2_plots.append(plot)
0118 _SubJet_Run2_plots.extend([
0119     Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
0120 ])
0121 _SubJet_EarlyRun3_plots = cms.VPSet()
0122 for plot in nanoDQM.vplots.SubJet.plots:
0123     if 'area' not in plot.name.value():
0124         _SubJet_EarlyRun3_plots.append(plot)
0125 
0126 run2_nanoAOD_ANY.toModify(
0127     nanoDQM.vplots.FatJet,
0128     plots = _FatJet_Run2_plots
0129 ).toModify(
0130     nanoDQM.vplots.Jet,
0131     plots = _Jet_Run2_plots
0132 ).toModify(
0133     nanoDQM.vplots.SubJet,
0134     plots = _SubJet_Run2_plots
0135 )
0136 
0137 (run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
0138     nanoDQM.vplots.FatJet,
0139     plots = _FatJet_EarlyRun3_plots
0140 ).toModify(
0141     nanoDQM.vplots.Jet,
0142     plots = _Jet_EarlyRun3_plots
0143 ).toModify(
0144     nanoDQM.vplots.SubJet,
0145     plots = _SubJet_EarlyRun3_plots
0146 )
0147 
0148 
0149 _Pileup_pre13X_plots = cms.VPSet()
0150 for plot in nanoDQM.vplots.Pileup.plots:
0151     if 'pthatmax' not in plot.name.value():
0152         _Pileup_pre13X_plots.append(plot)
0153 
0154 (run2_nanoAOD_ANY | run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
0155     nanoDQM.vplots.Pileup,
0156     plots = _Pileup_pre13X_plots
0157 )
0158 
0159 ## MC
0160 nanoDQMMC = nanoDQM.clone()
0161 nanoDQMMC.vplots.Electron.sels.Prompt = cms.string("genPartFlav == 1")
0162 nanoDQMMC.vplots.LowPtElectron.sels.Prompt = cms.string("genPartFlav == 1")
0163 nanoDQMMC.vplots.Muon.sels.Prompt = cms.string("genPartFlav == 1")
0164 nanoDQMMC.vplots.Photon.sels.Prompt = cms.string("genPartFlav == 1")
0165 nanoDQMMC.vplots.Tau.sels.Prompt = cms.string("genPartFlav == 5")
0166 nanoDQMMC.vplots.Jet.sels.Prompt = cms.string("genJetIdx != 1")
0167 nanoDQMMC.vplots.Jet.sels.PromptB = cms.string("genJetIdx != 1 && hadronFlavour == 5")
0168 
0169 from DQMServices.Core.DQMQualityTester import DQMQualityTester
0170 nanoDQMQTester = DQMQualityTester(
0171     qtList = cms.untracked.FileInPath('PhysicsTools/NanoAOD/test/dqmQualityTests.xml'),
0172     prescaleFactor = cms.untracked.int32(1),
0173     testInEventloop = cms.untracked.bool(False),
0174     qtestOnEndLumi = cms.untracked.bool(False),
0175     verboseQT =  cms.untracked.bool(True)
0176 )
0177 
0178 nanoHarvest = cms.Sequence( nanoDQMQTester )