Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-01-23 23:25:04

0001 # automatically generated by prepareDQM.py
0002 import FWCore.ParameterSet.Config as cms
0003 from PhysicsTools.NanoAOD.nanoDQM_tools_cff import *
0004 
0005 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
0006 nanoDQM = DQMEDAnalyzer("NanoAODDQM",
0007     vplots = cms.PSet(
0008         CaloMET = cms.PSet(
0009             sels = cms.PSet(),
0010             plots = cms.VPSet(
0011                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0012                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0013                 Plot1D('sumEt', 'sumEt', 20, 200, 3000, 'scalar sum of Et'),
0014             )
0015         ),
0016         ChsMET = cms.PSet(
0017             sels = cms.PSet(),
0018             plots = cms.VPSet(
0019                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'raw chs PF MET phi'),
0020                 Plot1D('pt', 'pt', 20, 0, 400, 'raw chs PF MET pt'),
0021                 Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'raw chs PF scalar sum of Et'),
0022             )
0023         ),
0024         CorrT1METJet = cms.PSet(
0025             sels = cms.PSet(),
0026             plots = cms.VPSet(
0027                 Count1D('_size', 20, -0.5, 19.5, 'Additional low-pt jets for Type-1 MET re-correction'),
0028                 Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
0029                 Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
0030                 Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
0031                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0032                 Plot1D('rawPt', 'rawPt', 20, 5, 25, "pt()*jecFactor('Uncorrected')"),
0033             )
0034         ),
0035         DeepMETResolutionTune = cms.PSet(
0036             sels = cms.PSet(),
0037             plots = cms.VPSet(
0038                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Resolution Tune phi'),
0039                 Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
0040             )
0041         ),
0042         DeepMETResponseTune = cms.PSet(
0043             sels = cms.PSet(),
0044             plots = cms.VPSet(
0045                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Response Tune phi'),
0046                 Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
0047             )
0048         ),
0049         Electron = cms.PSet(
0050             sels = cms.PSet(
0051                 Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && cutBased >= 3 && miniPFRelIso_all < 0.4')
0052             ),
0053             plots = cms.VPSet(
0054                 Count1D('_size', 8, -0.5, 7.5, 'slimmedElectrons after basic selection (pt > 5 )'),
0055                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0056                 Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
0057                 Plot1D('cutBased', 'cutBased', 5, -0.5, 4.5, 'cut-based ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'),
0058                 Plot1D('cutBased_Fall17V2', 'cutBased_Fall17V2', 5, -0.5, 4.5, 'cut-based ID Fall17 V2 (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'),
0059                 Plot1D('cutBased_HEEP', 'cutBased_HEEP', 2, -0.5, 1.5, 'cut-based HEEP ID'),
0060                 Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
0061                 Plot1D('dr03EcalRecHitSumEt', 'dr03EcalRecHitSumEt', 20, 0, 30, 'Non-PF Ecal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
0062                 Plot1D('dr03HcalDepth1TowerSumEt', 'dr03HcalDepth1TowerSumEt', 20, 0, 20, 'Non-PF Hcal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
0063                 Plot1D('dr03TkSumPt', 'dr03TkSumPt', 20, 0, 40, 'Non-PF track isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
0064                 Plot1D('dr03TkSumPtHEEP', 'dr03TkSumPtHEEP', 20, 0, 40, 'Non-PF track isolation within a delta R cone of 0.3 with electron pt > 35 GeV used in HEEP ID'),
0065                 Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
0066                 Plot1D('dxyErr', 'dxyErr', 20, 0, 0.2, 'dxy uncertainty, in cm'),
0067                 Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
0068                 Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
0069                 Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
0070                 Plot1D('energyErr', 'energyErr', 20, 0, 90, 'energy error of the cluster-track combination'),
0071                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0072                 Plot1D('genPartFlav', 'genPartFlav', 20, 0, 30, 'Flavour of genParticle for MC matching to status==1 electrons or photons: 1 = prompt electron (including gamma*->mu mu), 15 = electron from prompt tau, 22 = prompt photon (likely conversion), 5 = electron from b, 4 = electron from c, 3 = electron from light or unknown, 0 = unmatched'),
0073                 NoPlot('genPartIdx'),
0074                 Plot1D('hoe', 'hoe', 20, 0, 1, 'H over E'),
0075                 Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
0076                 Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'electron is PF candidate'),
0077                 NoPlot('jetIdx'),
0078                 Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 60, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
0079                 Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)'),
0080                 Plot1D('jetRelIso_Fall17V2', 'jetRelIso_Fall17V2', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)'),
0081                 Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
0082                 Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
0083                 NoPlot('mass'),
0084                 Plot1D('mvaIso_Fall17V2', 'mvaIso_Fall17V2', 20, -1, 1, 'MVA Iso ID score, Fall17V2'),
0085                 Plot1D('mvaIso_Fall17V2_WP80', 'mvaIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Fall17V2'),
0086                 Plot1D('mvaIso_Fall17V2_WP90', 'mvaIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Fall17V2'),
0087                 Plot1D('mvaIso_Fall17V2_WPL', 'mvaIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA Iso ID loose WP, Fall17V2'),
0088                 Plot1D('mvaIso', 'mvaIso', 20, -1, 1, 'MVA Iso ID score, Winter22V1'),
0089                 Plot1D('mvaIso_WP80', 'mvaIso_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Winter22V1'),
0090                 Plot1D('mvaIso_WP90', 'mvaIso_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Winter22V1'),
0091                 Plot1D('mvaNoIso', 'mvaNoIso', 20, -1, 1, 'MVA noIso ID score, Winter22V1'),
0092                 Plot1D('mvaNoIso_WP80', 'mvaNoIso_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Winter22V1'),
0093                 Plot1D('mvaNoIso_WP90', 'mvaNoIso_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Winter22V1'),
0094                 Plot1D('mvaNoIso_Fall17V2', 'mvaNoIso_Fall17V2', 20, -1, 1, 'MVA noIso ID score, Fall17V2'),
0095                 Plot1D('mvaNoIso_Fall17V2_WP80', 'mvaNoIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Fall17V2'),
0096                 Plot1D('mvaNoIso_Fall17V2_WP90', 'mvaNoIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Fall17V2'),
0097                 Plot1D('mvaNoIso_Fall17V2_WPL', 'mvaNoIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA noIso ID loose WP, Fall17V2'),                
0098                 Plot1D('mvaTTH', 'mvaTTH', 20, -1, 1, 'TTH MVA lepton ID score'),
0099                 Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0100                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0101                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
0102                 Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU corrections)'),
0103                 Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
0104                 Plot1D('miniPFRelIso_all_Fall17V2', 'miniPFRelIso_all_Fall17V2', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0105                 Plot1D('miniPFRelIso_chg_Fall17V2', 'miniPFRelIso_chg_Fall17V2', 20, 0, 1, 'mini PF relative isolation, charged component'),
0106                 Plot1D('pfRelIso03_all_Fall17V2', 'pfRelIso03_all_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3 with 94 EffArea, total (with rho*EA PU corrections)'),
0107                 Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3 with 94 EffArea, charged component'),
0108                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0109                 NoPlot('photonIdx'),
0110                 Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
0111                 Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
0112                 Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
0113                 Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
0114                 Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
0115                 Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
0116                 Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
0117                 Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV, in cm'),
0118                 Plot1D('tightCharge', 'tightCharge', 3, -0.5, 2.5, 'Tight charge criteria (0:none, 1:isGsfScPixChargeConsistent, 2:isGsfCtfScPixChargeConsistent)'),
0119                 NoPlot('vidNestedWPBitmap'),
0120                 NoPlot('vidNestedWPBitmap_Fall17V2'),
0121                 NoPlot('vidNestedWPBitmapHEEP'),
0122             )
0123         ),
0124 
0125         LowPtElectron = cms.PSet(
0126             sels = cms.PSet(
0127                 Good = cms.string('pt > 1. && ID > 5.')
0128             ),
0129             plots = cms.VPSet(
0130                 #
0131                 Count1D('_size', 8, -0.5, 7.5, 'slimmedLowPtElectrons after basic selection'),
0132                 # CandVars
0133                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0134                 Plot1D('eta', 'eta', 20, -3., 3., 'eta'),
0135                 NoPlot('mass'),
0136                 Plot1D('pdgId', 'pdgId', 101, -50.5, 50.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0137                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0138                 Plot1D('pt', 'pt', 40, 0., 20., 'pt (corrected)'),
0139                 # BDT scores and WPs
0140                 Plot1D('embeddedID', 'embeddedID', 40, -10., 10., 'Embedded ID, BDT (raw) score'),
0141                 Plot1D('ID', 'ID', 40, -10., 10., 'ID, BDT (raw) score'),
0142                 Plot1D('unbiased', 'unbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- agnostic BDT (raw) score'),
0143                 Plot1D('ptbiased', 'ptbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- dependent BDT (raw) score'),
0144                 # Isolation
0145                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0., 1., 'mini PF relative isolation, charged component'),
0146                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0., 1., 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0147                 # Conversions
0148                 Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
0149                 Plot1D('convWP', 'convWP', 8, -0.5, 7.5, 'conversion flag bit map: 1=Veto, 2=Loose, 3=Tight'),
0150                 Plot1D('convVtxRadius', 'convVtxRadius', 40, 0., 20.0, 'conversion vertex radius (cm)'),
0151                 # Tracking
0152                 Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
0153                 # Cluster-related
0154                 Plot1D('energyErr', 'energyErr', 40, 0., 20., 'energy error of the cluster from regression'),
0155                 Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
0156                 Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
0157                 Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
0158                 Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
0159                 Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
0160                 Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
0161                 # Displacement
0162                 Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
0163                 Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
0164                 Plot1D('dxyErr', 'dxyErr', 20, 0., 0.2, 'dxy uncertainty, in cm'),
0165                 Plot1D('dzErr', 'dzErr', 20, 0., 0.2, 'dz uncertainty, in cm'),
0166             ),
0167         ),
0168 
0169         FatJet = cms.PSet(
0170             sels = cms.PSet(),
0171             plots = cms.VPSet(
0172                 Count1D('_size', 6, -0.5, 5.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
0173                 Plot1D('area', 'area', 20, 2, 4, 'jet catchment area, for JECs'),
0174                 Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
0175                 Plot1D('btagDDBvL', 'btagDDBvL', 20, -1, 1, 'DeepDoubleX (mass-decorrelated) discriminator for H(Z)->bb vs QCD'),
0176                 Plot1D('btagDDBvLV2', 'btagDDBvLV2', 20, 0, 1, 'DeepDoubleX V2(mass-decorrelated) discriminator for H(Z)->bb vs QCD'),
0177                 Plot1D('btagDDBvL_noMD', 'btagDDBvL_noMD', 20, 0, 1, 'DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->bb vs QCD'),
0178                 Plot1D('btagDDCvB', 'btagDDCvB', 20, -1, 1, 'DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb'),
0179                 Plot1D('btagDDCvBV2', 'btagDDCvBV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb'),
0180                 Plot1D('btagDDCvB_noMD', 'btagDDCvB_noMD', 20, 0, 1, 'DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs H(Z)->bb'),
0181                 Plot1D('btagDDCvL', 'btagDDCvL', 20, -1, 1, 'DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs QCD'),
0182                 Plot1D('btagDDCvLV2', 'btagDDCvLV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs QCD'),
0183                 Plot1D('btagDDCvL_noMD', 'btagDDCvL_noMD', 20, 0, 1, 'DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs QCD'),
0184                 Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
0185                 Plot1D('btagHbb', 'btagHbb', 20, -1, 1, 'Higgs to BB tagger discriminator'),
0186                 Plot1D('deepTagMD_H4qvsQCD', 'deepTagMD_H4qvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->4q vs QCD discriminator'),
0187                 Plot1D('deepTagMD_HbbvsQCD', 'deepTagMD_HbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->bb vs QCD discriminator'),
0188                 Plot1D('deepTagMD_TvsQCD', 'deepTagMD_TvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger top vs QCD discriminator'),
0189                 Plot1D('deepTagMD_WvsQCD', 'deepTagMD_WvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger W vs QCD discriminator'),
0190                 Plot1D('deepTagMD_ZHbbvsQCD', 'deepTagMD_ZHbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->bb vs QCD discriminator'),
0191                 Plot1D('deepTagMD_ZHccvsQCD', 'deepTagMD_ZHccvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->cc vs QCD discriminator'),
0192                 Plot1D('deepTagMD_ZbbvsQCD', 'deepTagMD_ZbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z->bb vs QCD discriminator'),
0193                 Plot1D('deepTagMD_ZvsQCD', 'deepTagMD_ZvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z vs QCD discriminator'),
0194                 Plot1D('deepTagMD_bbvsLight', 'deepTagMD_bbvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->bb vs light flavour discriminator'),
0195                 Plot1D('deepTagMD_ccvsLight', 'deepTagMD_ccvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->cc vs light flavour discriminator'),
0196                 Plot1D('deepTag_H', 'deepTag_H', 20, 0, 1, 'DeepBoostedJet tagger H(bb,cc,4q) sum'),
0197                 Plot1D('deepTag_QCD', 'deepTag_QCD', 20, 0, 1, 'DeepBoostedJet tagger QCD(bb,cc,b,c,others) sum'),
0198                 Plot1D('deepTag_QCDothers', 'deepTag_QCDothers', 20, 0, 1, 'DeepBoostedJet tagger QCDothers value'),
0199                 Plot1D('deepTag_TvsQCD', 'deepTag_TvsQCD', 20, 0, 1, 'DeepBoostedJet tagger top vs QCD discriminator'),
0200                 Plot1D('deepTag_WvsQCD', 'deepTag_WvsQCD', 20, 0, 1, 'DeepBoostedJet tagger W vs QCD discriminator'),
0201                 Plot1D('deepTag_ZvsQCD', 'deepTag_ZvsQCD', 20, 0, 1, 'DeepBoostedJet tagger Z vs QCD discriminator'),
0202                 NoPlot('electronIdx3SJ'),
0203                 Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
0204                 NoPlot('genJetAK8Idx'),
0205                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0206                 Plot1D('jetId', 'jetId', 3, 0, 3, 'Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto', bitset=True),
0207                 Plot1D('lsf3', 'lsf3', 20, -1, 1, 'Lepton Subjet Fraction (3 subjets)'),
0208                 Plot1D('mass', 'mass', 20, 0, 300, 'mass'),
0209                 Plot1D('msoftdrop', 'msoftdrop', 20, -300, 300, 'Soft drop mass'),
0210                 NoPlot('muonIdx3SJ'),
0211                 Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
0212                 Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
0213                 Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
0214                 Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
0215                 Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
0216                 Plot1D('particleNetMD_QCD', 'particleNetMD_QCD', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw QCD score'),
0217                 Plot1D('particleNetMD_Xbb', 'particleNetMD_Xbb', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw X->bb score. For X->bb vs QCD tagging, use Xbb/(Xbb+QCD)'),
0218                 Plot1D('particleNetMD_Xcc', 'particleNetMD_Xcc', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw X->cc score. For X->cc vs QCD tagging, use Xcc/(Xcc+QCD)'),
0219                 Plot1D('particleNetMD_Xqq', 'particleNetMD_Xqq', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw X->qq (uds) score. For X->qq vs QCD tagging, use Xqq/(Xqq+QCD). For W vs QCD tagging, use (Xcc+Xqq)/(Xcc+Xqq+QCD)'),
0220                 Plot1D('particleNet_H4qvsQCD', 'particleNet_H4qvsQCD', 20, 0, 1, 'ParticleNet tagger H(->VV->qqqq) vs QCD discriminator'),
0221                 Plot1D('particleNet_HbbvsQCD', 'particleNet_HbbvsQCD', 20, 0, 1, 'ParticleNet tagger H(->bb) vs QCD discriminator'),
0222                 Plot1D('particleNet_HccvsQCD', 'particleNet_HccvsQCD', 20, 0, 1, 'ParticleNet tagger H(->cc) vs QCD discriminator'),
0223                 Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet tagger QCD(bb,cc,b,c,others) sum'),
0224                 Plot1D('particleNet_TvsQCD', 'particleNet_TvsQCD', 20, 0, 1, 'ParticleNet tagger top vs QCD discriminator'),
0225                 Plot1D('particleNet_WvsQCD', 'particleNet_WvsQCD', 20, 0, 1, 'ParticleNet tagger W vs QCD discriminator'),
0226                 Plot1D('particleNet_ZvsQCD', 'particleNet_ZvsQCD', 20, 0, 1, 'ParticleNet tagger Z vs QCD discriminator'),
0227                 Plot1D('particleNet_mass', 'particleNet_mass', 25, 0, 250, 'ParticleNet mass regression'),
0228                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0229                 Plot1D('pt', 'pt', 20, 0, 800, 'pt'),
0230                 Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
0231                 NoPlot('subJetIdx1'),
0232                 NoPlot('subJetIdx2'),
0233                 Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
0234                 Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
0235                 Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
0236                 Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
0237             )
0238         ),
0239         Flag = cms.PSet(
0240             sels = cms.PSet(),
0241             plots = cms.VPSet(
0242                 Plot1D('BadChargedCandidateFilter', 'BadChargedCandidateFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0243                 Plot1D('BadChargedCandidateSummer16Filter', 'BadChargedCandidateSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0244                 Plot1D('BadPFMuonFilter', 'BadPFMuonFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0245                 Plot1D('BadPFMuonDzFilter', 'BadPFMuonDzFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0246                 Plot1D('BadPFMuonSummer16Filter', 'BadPFMuonSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0247                 Plot1D('CSCTightHalo2015Filter', 'CSCTightHalo2015Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0248                 Plot1D('CSCTightHaloFilter', 'CSCTightHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0249                 Plot1D('CSCTightHaloTrkMuUnvetoFilter', 'CSCTightHaloTrkMuUnvetoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0250                 Plot1D('EcalDeadCellBoundaryEnergyFilter', 'EcalDeadCellBoundaryEnergyFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0251                 Plot1D('EcalDeadCellTriggerPrimitiveFilter', 'EcalDeadCellTriggerPrimitiveFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0252                 Plot1D('HBHENoiseFilter', 'HBHENoiseFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0253                 Plot1D('HBHENoiseIsoFilter', 'HBHENoiseIsoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0254                 Plot1D('HcalStripHaloFilter', 'HcalStripHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0255                 Plot1D('METFilters', 'METFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
0256                 Plot1D('chargedHadronTrackResolutionFilter', 'chargedHadronTrackResolutionFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0257                 Plot1D('ecalBadCalibFilter', 'ecalBadCalibFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0258                 Plot1D('ecalBadCalibFilterV2', 'ecalBadCalibFilterV2', 1, 0.5, 1.5, 'Bad ECAL calib flag (updated xtal list)'),
0259                 Plot1D('ecalLaserCorrFilter', 'ecalLaserCorrFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0260                 Plot1D('eeBadScFilter', 'eeBadScFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0261                 Plot1D('globalSuperTightHalo2016Filter', 'globalSuperTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0262                 Plot1D('globalTightHalo2016Filter', 'globalTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0263                 Plot1D('hfNoisyHitsFilter', 'hfNoisyHitsFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0264                 Plot1D('goodVertices', 'goodVertices', 2, -0.5, 1.5, 'Trigger/flag bit'),
0265                 Plot1D('hcalLaserEventFilter', 'hcalLaserEventFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0266                 Plot1D('muonBadTrackFilter', 'muonBadTrackFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0267                 Plot1D('trkPOGFilters', 'trkPOGFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
0268                 Plot1D('trkPOG_logErrorTooManyClusters', 'trkPOG_logErrorTooManyClusters', 2, -0.5, 1.5, 'Trigger/flag bit'),
0269                 Plot1D('trkPOG_manystripclus53X', 'trkPOG_manystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
0270                 Plot1D('trkPOG_toomanystripclus53X', 'trkPOG_toomanystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
0271             )
0272         ),
0273         FsrPhoton = cms.PSet(
0274             sels = cms.PSet(),
0275             plots = cms.VPSet(
0276                 Count1D('_size', 4, -0.5, 3.5, 'Final state radiation photons emitted by muons'),
0277                 Plot1D('dROverEt2', 'dROverEt2', 20, 0, 0.05, 'deltaR to associated muon divided by photon et2'),
0278                 Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
0279                 NoPlot('muonIdx'),
0280                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0281                 Plot1D('pt', 'pt', 20, 0, 40, 'pt'),
0282                 Plot1D('relIso03', 'relIso03', 20, 0, 2, 'relative isolation in a 0.3 cone without CHS'),
0283             )
0284         ),
0285         GenDressedLepton = cms.PSet(
0286             sels = cms.PSet(),
0287             plots = cms.VPSet(
0288                 Count1D('_size', 25, -0.5, 24.5, 'Dressed leptons from Rivet-based ParticleLevelProducer'),
0289                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0290                 Plot1D('hasTauAnc', 'hasTauAnc', 2, -0.5, 1.5, 'true if Dressed lepton has a tau as ancestor'),
0291                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0292                 Plot1D('pdgId', 'pdgId', 40, -20, 20, 'pdgId'),
0293                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0294                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0295             )
0296         ),
0297         GenIsolatedPhoton = cms.PSet(
0298             sels = cms.PSet(),
0299             plots = cms.VPSet(
0300                 Count1D('_size', 10, -0.5, 9.5, 'Isolated photons from Rivet-based ParticleLevelProducer'),
0301                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0302                 NoPlot('mass'),
0303                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0304                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0305             )
0306         ),
0307         GenJet = cms.PSet(
0308             sels = cms.PSet(),
0309             plots = cms.VPSet(
0310                 Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJets, i.e. ak4 Jets made with visible genparticles'),
0311                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0312                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0313                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0314                 Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
0315                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0316                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0317             )
0318         ),
0319         GenJetAK8 = cms.PSet(
0320             sels = cms.PSet(),
0321             plots = cms.VPSet(
0322                 Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJetAK8, i.e. ak8 Jets made with visible genparticles'),
0323                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0324                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0325                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0326                 Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
0327                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0328                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0329             )
0330         ),
0331         GenMET = cms.PSet(
0332             sels = cms.PSet(),
0333             plots = cms.VPSet(
0334                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0335                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0336             )
0337         ),
0338         GenPart = cms.PSet(
0339             sels = cms.PSet(),
0340             plots = cms.VPSet(
0341                 Count1D('_size', 40, -0.5, 124.5, 'interesting gen particles '),
0342                 Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
0343                 NoPlot('genPartIdxMother'),
0344                 Plot1D('mass', 'mass', 20, 0, 300, 'Mass stored for all particles with mass > 10 GeV and photons with mass > 1 GeV. For other particles you can lookup from PDGID'),
0345                 Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
0346                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0347                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0348                 Plot1D('status', 'status', 20, 0, 100, 'Particle status. 1=stable'),
0349                 Plot1D('statusFlags', 'statusFlags', 15, 0, 15, 'gen status flags stored bitwise, bits are: 0 : isPrompt, 1 : isDecayedLeptonHadron, 2 : isTauDecayProduct, 3 : isPromptTauDecayProduct, 4 : isDirectTauDecayProduct, 5 : isDirectPromptTauDecayProduct, 6 : isDirectHadronDecayProduct, 7 : isHardProcess, 8 : fromHardProcess, 9 : isHardProcessTauDecayProduct, 10 : isDirectHardProcessTauDecayProduct, 11 : fromHardProcessBeforeFSR, 12 : isFirstCopy, 13 : isLastCopy, 14 : isLastCopyBeforeFSR, ', bitset=True),
0350             )
0351         ),
0352         GenVtx = cms.PSet(
0353             sels = cms.PSet(),
0354             plots = cms.VPSet(
0355                 Plot1D('x', 'x', 50, -0.5, 0.5, 'Gen vertex x position'),
0356                 Plot1D('y', 'y', 50, -0.5, 0.5, 'Gen vertex y position'),
0357                 Plot1D('z', 'z', 30, -15, 15, 'Gen vertex z position'),
0358                 Plot1D('t0', 't0', 20, -1, 1, 'Gen vertex time (t0)'),
0359             )
0360         ),
0361         GenVisTau = cms.PSet(
0362             sels = cms.PSet(),
0363             plots = cms.VPSet(
0364                 Count1D('_size', 4, -0.5, 3.5, 'gen hadronic taus '),
0365                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'charge'),
0366                 Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
0367                 NoPlot('genPartIdxMother'),
0368                 Plot1D('mass', 'mass', 20, 0, 2, 'mass'),
0369                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0370                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0371                 Plot1D('status', 'status', 16, -0.5, 15.5, 'Hadronic tau decay mode. 0=OneProng0PiZero, 1=OneProng1PiZero, 2=OneProng2PiZero, 10=ThreeProng0PiZero, 11=ThreeProng1PiZero, 15=Other'),
0372             )
0373         ),
0374         IsoTrack = cms.PSet(
0375             sels = cms.PSet(),
0376             plots = cms.VPSet(
0377                 Count1D('_size', 5, -0.5, 4.5, 'isolated tracks after basic selection (pt > 10 && abs(dxy) < 0.02 && abs(dz) < 0.1 && isHighPurityTrack && miniPFIsolation.chargedHadronIso/pt < 0.2) and lepton veto'),
0378                 Plot1D('dxy', 'dxy', 20, -0.02, 0.02, 'dxy (with sign) wrt first PV, in cm'),
0379                 Plot1D('dz', 'dz', 20, -0.09, 0.09, 'dz (with sign) wrt first PV, in cm'),
0380                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0381                 Plot1D('fromPV', 'fromPV', 5, -1.5, 3.5, 'provenance from primary vertex'),
0382                 Plot1D('isFromLostTrack', 'isFromLostTrack', 2, -0.5, 1.5, 'if isolated track comes from a lost track'),
0383                 Plot1D('isHighPurityTrack', 'isHighPurityTrack', 2, -0.5, 1.5, 'track is high purity'),
0384                 Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'if isolated track is a PF candidate'),
0385                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 2, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0386                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 2, 'mini PF relative isolation, charged component'),
0387                 Plot1D('pdgId', 'pdgId', 20, -300, 300, 'PDG id of PF cand'),
0388                 Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
0389                 Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
0390                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0391                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0392                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge')
0393             )
0394         ),
0395         Jet = cms.PSet(
0396             sels = cms.PSet(
0397                 CentralPt30 = cms.string('abs(eta) < 2.4 && pt > 30'),
0398                 ForwardPt30 = cms.string('abs(eta) > 2.4 && pt > 30')
0399             ),
0400             plots = cms.VPSet(
0401                 Count1D('_size', 20, -0.5, 19.5, 'slimmedJets, i.e. ak4 PFJets CHS with JECs applied, after basic selection (pt > 15)'),
0402                 Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
0403                 Plot1D('bRegCorr', 'bRegCorr', 20, 0, 3, 'pt correction for b-jet energy regression'),
0404                 Plot1D('bRegRes', 'bRegRes', 20, 0, 0.6, 'res on pt corrected with b-jet regression'),
0405                 Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
0406                 Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
0407                 Plot1D('btagDeepC', 'btagDeepC', 20, 0, 1, 'DeepCSV charm btag discriminator'),
0408                 Plot1D('btagDeepCvB', 'btagDeepCvB', 20, -1, 1, 'DeepCSV c vs b+bb discriminator'),
0409                 Plot1D('btagDeepCvL', 'btagDeepCvL', 20, -1, 1, 'DeepCSV c vs udsg discriminator'),
0410                 Plot1D('btagDeepFlavB', 'btagDeepFlavB', 20, 0, 1, 'DeepFlavour b+bb tag discriminator'),
0411                 Plot1D('btagDeepFlavC', 'btagDeepFlavC', 20, 0, 1, 'DeepFlavour charm tag discriminator'),
0412                 Plot1D('btagDeepFlavCvB', 'btagDeepFlavCvB', 20, -1, 1, 'DeepJet c vs b+bb+lepb discriminator'),
0413                 Plot1D('btagDeepFlavCvL', 'btagDeepFlavCvL', 20, -1, 1, 'DeepJet c vs uds+g discriminator'),
0414                 Plot1D('btagDeepFlavQG', 'btagDeepFlavQG', 20, -1, 1, 'DeepJet g vs uds discriminator'),
0415                 Plot1D('cRegCorr', 'cRegCorr', 20, 0.6, 2, 'pt correction for c-jet energy regression'),
0416                 Plot1D('cRegRes', 'cRegRes', 20, 0.05, 0.4, 'res on pt corrected with c-jet regression'),
0417                 Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
0418                 Plot1D('chFPV0EF', 'chFPV0EF', 20, 0, 2, 'charged fromPV==0 Energy Fraction (energy excluded from CHS jets). Previously called betastar.'),
0419                 Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
0420                 NoPlot('electronIdx1'),
0421                 NoPlot('electronIdx2'),
0422                 Plot1D('eta', 'eta', 20, -6, 6, 'eta'),
0423                 NoPlot('genJetIdx'),
0424                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0425                 Plot1D('jetId', 'jetId', 3, 0, 3, 'Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto', bitset=True),
0426                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0427                 Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
0428                 NoPlot('muonIdx1'),
0429                 NoPlot('muonIdx2'),
0430                 Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
0431                 Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
0432                 Plot1D('nElectrons', 'nElectrons', 5, -0.5, 4.5, 'number of electrons in the jet'),
0433                 Plot1D('nMuons', 'nMuons', 4, -0.5, 3.5, 'number of muons in the jet'),
0434                 Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
0435                 Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
0436                 Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
0437                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0438                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0439                 Plot1D('puId', 'puId', 8, -0.5, 7.5, 'Pilup ID flags'),
0440                 Plot1D('puIdDisc', 'puIdDisc', 20, -1, 1, 'Pilup ID discriminant with 102X (2018) training'),
0441                 Plot1D('qgl', 'qgl', 20, 0, 1, 'Quark vs Gluon likelihood discriminator'),
0442                 Plot1D('hfsigmaEtaEta', 'hfsigmaEtaEta', 20, 0, 0.2, 'sigmaEtaEta for HF jets (noise discriminating variable)'),
0443                 Plot1D('hfsigmaPhiPhi', 'hfsigmaPhiPhi', 20, 0, 0.2, 'sigmaPhiPhi for HF jets (noise discriminating variable)'),
0444                 Plot1D('hfcentralEtaStripSize', 'hfcentralEtaStripSize', 10, 0, 10, 'eta size of the central tower strip in HF (noise discriminating variable)'),
0445                 Plot1D('hfadjacentEtaStripsSize', 'hfadjacentEtaStripsSize', 10, 0, 10, 'eta size of the strips next to the central tower strip in HF (noise discriminating variable)'),
0446                 Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
0447             )
0448         ),
0449         LHEPart = cms.PSet(
0450             sels = cms.PSet(),
0451             plots = cms.VPSet(
0452                 Count1D('_size', 20, 0, 20, 'LHE particles'),
0453                 Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
0454                 Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
0455                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0456                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0457             )
0458         ),
0459         LHEPdfWeight = cms.PSet(
0460             sels = cms.PSet(),
0461             plots = cms.VPSet(
0462                 Count1D('_size', 1000, 0, 2000, 'LHE PDF weights'),
0463                 Plot1D('', '', 100, 0, 2, 'all weights'),
0464             )
0465         ),
0466         LHEScaleWeight = cms.PSet(
0467             sels = cms.PSet(),
0468             plots = cms.VPSet(
0469                 Count1D('_size', 20, 0, 20, 'LHE scale weights'),
0470                 Plot1D('', '', 100, 0, 2, 'all weights'),
0471             )
0472         ),
0473 
0474         MET = cms.PSet(
0475             sels = cms.PSet(),
0476             plots = cms.VPSet(
0477                 Plot1D('MetUnclustEnUpDeltaX', 'MetUnclustEnUpDeltaX', 20, -20, 20, 'Delta (METx_mod-METx) Unclustered Energy Up'),
0478                 Plot1D('MetUnclustEnUpDeltaY', 'MetUnclustEnUpDeltaY', 20, -10, 10, 'Delta (METy_mod-METy) Unclustered Energy Up'),
0479                 Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
0480                 Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
0481                 Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
0482                 Plot1D('fiducialGenPhi', 'fiducialGenPhi', 20, -3.14159, 3.14159, 'phi'),
0483                 Plot1D('fiducialGenPt', 'fiducialGenPt', 20, 0, 400, 'pt'),
0484                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0485                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0486                 Plot1D('significance', 'significance', 20, 0, 200, 'MET significance'),
0487                 Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
0488                 Plot1D('sumPtUnclustered', 'sumPtUnclustered', 20, 0, 3000, 'sumPt used for MET significance'),
0489             )
0490         ),
0491         Muon = cms.PSet(
0492             sels = cms.PSet(
0493                 Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && mediumId && miniPFRelIso_all < 0.4')
0494             ),
0495             plots = cms.VPSet(
0496                 Count1D('_size', 5, -0.5, 4.5, 'slimmedMuons after basic selection (pt > 3 && track.isNonnull && isLooseMuon)'),
0497                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0498                 Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
0499                 Plot1D('dxyErr', 'dxyErr', 20, 0, 0.1, 'dxy uncertainty, in cm'),
0500                 Plot1D('dxybs', 'dxybs', 20, -0.1, 0.1, 'dxy (with sign) wrt the beam spot, in cm'),
0501                 Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
0502                 Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
0503                 Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
0504                 NoPlot('fsrPhotonIdx'),
0505                 Plot1D('genPartFlav', 'genPartFlav', 16, -0.5, 15.5, 'Flavour of genParticle for MC matching to status==1 muons: 1 = prompt muon (including gamma*->mu mu), 15 = muon from prompt tau, 5 = muon from b, 4 = muon from c, 3 = muon from light or unknown, 0 = unmatched'),
0506                 NoPlot('genPartIdx'),
0507                 Plot1D('highPtId', 'highPtId', 3, -0.5, 2.5, 'POG highPt muon ID (1 = tracker high pT, 2 = global high pT, which includes tracker high pT)'),
0508                 Plot1D('highPurity', 'highPurity', 2, -0.5, 1.5, 'inner track is high purity'),
0509                 Plot1D('inTimeMuon', 'inTimeMuon', 2, -0.5, 1.5, 'inTimeMuon ID'),
0510                 Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
0511                 Plot1D('isGlobal', 'isGlobal', 2, -0.5, 1.5, 'muon is global muon'),
0512                 Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'muon is PF candidate'),
0513                 Plot1D('isTracker', 'isTracker', 2, -0.5, 1.5, 'muon is tracker muon'),
0514                 Plot1D('isStandalone', 'isStandalone', 2, -0.5, 1.5, 'muon is a standalone muon'),
0515                 NoPlot('jetIdx'),
0516                 Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 30, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
0517                 Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)'),
0518                 Plot1D('looseId', 'looseId', 2, -0.5, 1.5, 'muon is loose muon'),
0519                 NoPlot('mass'),
0520                 Profile1D('mediumId', 'mediumId', 'pt', 16, 0, 80, 'POG Medium muon ID (using the relaxed cuts in the data Run 2016 B-F periods, and standard cuts elsewhere)'),
0521                 Plot1D('mediumPromptId', 'mediumPromptId', 2, -0.5, 1.5, 'cut-based ID, medium prompt WP'),
0522                 Plot1D('miniIsoId', 'miniIsoId', 5, -0.5, 4.5, 'MiniIso ID from miniAOD selector (1=MiniIsoLoose, 2=MiniIsoMedium, 3=MiniIsoTight, 4=MiniIsoVeryTight)'),
0523                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0524                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
0525                 Plot1D('multiIsoId', 'multiIsoId', 3, -0.5, 2.5, 'MultiIsoId from miniAOD selector (1=MultiIsoLoose, 2=MultiIsoMedium)'),
0526                 Plot1D('mvaId', 'mvaId', 6, -0.5, 5.5, 'Mva ID from miniAOD selector (1=MvaLoose, 2=MvaMedium, 3=MvaTight, 4=MvaVTight, 5=MvaVVTight)'),
0527                 Plot1D('mvaLowPt', 'mvaLowPt', 20, -1, 1, 'Low pt muon ID score'),
0528                 Plot1D('mvaLowPtId', 'mvaLowPtId', 3, -0.5, 2.5, 'Low Pt Mva ID from miniAOD selector (1=LowPtMvaLoose, 2=LowPtMvaMedium)'),
0529                 Plot1D('mvaTTH', 'mvaTTH', 20, -1, 1, 'TTH MVA lepton ID score'),
0530                 Plot1D('mvaMuID', 'mvaMuID', 20, 0, 1, 'Score of MVA-based muon ID'),
0531                 Plot1D('mvaMuID_WP', 'mvaMuID_WP',  3, -0.5, 2.5, 'MVA-based ID selector WPs (1=MVAIDwpMedium,2=MVAIDwpTight)'),
0532                 Plot1D('nStations', 'nStations', 5, -0.5, 4.5, 'number of matched stations with default arbitration (segment & track)'),
0533                 Plot1D('nTrackerLayers', 'nTrackerLayers', 15, 2.5, 17.5, 'number of layers in the tracker'),
0534                 Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
0535                 Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0536                 Plot1D('pfIsoId', 'pfIsoId', 7, -0.5, 6.5, 'PFIso ID from miniAOD selector (1=PFIsoVeryLoose, 2=PFIsoLoose, 3=PFIsoMedium, 4=PFIsoTight, 5=PFIsoVeryTight, 6=PFIsoVeryVeryTight)'),
0537                 Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
0538                 Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
0539                 Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (deltaBeta corrections)'),
0540                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0541                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0542                 Plot1D('ptErr', 'ptErr', 20, 0, 20, 'ptError of the muon track'),
0543                 Plot1D('segmentComp', 'segmentComp', 20, 0, 1, 'muon segment compatibility'),
0544                 Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV'),
0545                 Profile1D('softId', 'softId', 'pt', 20, 0, 40, 'POG Soft muon ID (using the relaxed cuts in the data Run 2016 B-F periods, and standard cuts elsewhere)'),
0546                 Plot1D('softMva', 'softMva', 20, -1, 1, 'soft MVA ID score'),
0547                 Plot1D('softMvaId', 'softMvaId', 2, -0.5, 1.5, 'soft MVA ID'),
0548                 Plot1D('tightCharge', 'tightCharge', 1, 1.5, 2.5, 'Tight charge criterion using pterr/pt of muonBestTrack (0:fail, 2:pass)'),
0549                 Profile1D('tightId', 'tightId', 'pt', 16, 0, 80, 'POG Tight muon ID'),
0550                 Plot1D('tkIsoId', 'tkIsoId', 3, -0.5, 2.5, 'TkIso ID (1=TkIsoLoose, 2=TkIsoTight)'),
0551                 Plot1D('tkRelIso', 'tkRelIso', 100, 0, 1, 'Tracker-based relative isolation dR=0.3 for highPt, trkIso/tunePpt'),
0552                 Plot1D('triggerIdLoose', 'triggerIdLoose', 2, -0.5, 1.5, 'TriggerIdLoose ID'),
0553                 Plot1D('tunepRelPt', 'tunepRelPt', 200, 0, 200, 'TuneP relative pt, tunePpt/pt'),
0554             )
0555         ),
0556         OtherPV = cms.PSet(
0557             sels = cms.PSet(),
0558             plots = cms.VPSet(
0559                 NoPlot('_size'),
0560                 Plot1D('z', 'z', 20, -20, 20, 'Z position of other primary vertices, excluding the main PV'),
0561                 Plot1D('score', 'score', 20, 0, 300000, 'scores of other primary vertices, excluding the main PV'),
0562             )
0563         ),
0564         PPSLocalTrack = cms.PSet(
0565             sels = cms.PSet(),
0566             plots = cms.VPSet(
0567                 Count1D('_size', 26, -0.5, 25.5, 'ppsLocalTrack variables'),
0568                 Plot1D('decRPId', 'decRPId', 20, 0, 200, 'local track detector dec id'),
0569                 NoPlot('multiRPProtonIdx'),
0570                 Plot1D('rpType', 'rpType', 2, 3.5, 5.5, 'strip=3, pixel=4, diamond=5, timing=6'),
0571                 Plot1D('time', 'time', 20, -2, 2, 'local track time'),
0572                 Plot1D('timeUnc', 'timeUnc', 20, 0, 0.3, 'local track time uncertainty'),
0573                 Plot1D('x', 'x', 20, 2, 30, 'local track x'),
0574                 Plot1D('y', 'y', 20, -20, 20, 'local track y'),
0575             )
0576         ),
0577         PSWeight = cms.PSet(
0578             sels = cms.PSet(),
0579             plots = cms.VPSet(
0580                 Plot1D('', '', 20, 0, 2, 'All PS weights (w_var / w_nominal)'),
0581                 Count1D('_size', 46, -0.5, 45.5, 'Number of PS weights'),
0582             )
0583         ),
0584         PV = cms.PSet(
0585             sels = cms.PSet(),
0586             plots = cms.VPSet(
0587                 Plot1D('chi2', 'chi2', 20, 0.5, 3, 'main primary vertex reduced chi2'),
0588                 Plot1D('ndof', 'ndof', 20, 0, 500, 'main primary vertex number of degree of freedom'),
0589                 Plot1D('npvs', 'npvs', 20, 0, 60, 'total number of reconstructed primary vertices'),
0590                 Plot1D('npvsGood', 'npvsGood', 20, 0, 60, 'total number of Good primary vertices'),
0591                 Plot1D('score', 'score', 20, 0, 300000, 'main primary vertex score, i.e. sum pt2 of clustered objects'),
0592                 Plot1D('x', 'x', 20, -0.3, 0.3, 'main primary vertex position x coordinate'),
0593                 Plot1D('y', 'y', 20, -0.3, 0.3, 'main primary vertex position y coordinate'),
0594                 Plot1D('z', 'z', 20, -20, 20, 'main primary vertex position z coordinate'),
0595             )
0596         ),
0597         Photon = cms.PSet(
0598             sels = cms.PSet(),
0599             plots = cms.VPSet(
0600                 Count1D('_size', 9, -0.5, 8.5, 'slimmedPhotons after basic selection (pt > 5 )'),
0601                 Plot1D('charge', 'charge', 1, -0.5, 0.5, 'electric charge'),
0602                 Plot1D('cutBased', 'cutBased', 4, -0.5, 3.5,'cut-based ID bitmap, (0:fail, 1:loose, 2:medium, 3:tight)'),
0603                 Plot1D('cutBased_Fall17V2', 'cutBased_Fall17V2', 4, -0.5, 3.5, 'cut-based ID bitmap, Fall17V2, (0:fail, 1:loose, 2:medium, 3:tight)'),                
0604                 NoPlot('electronIdx'),
0605                 Plot1D('electronVeto', 'electronVeto', 2, -0.5, 1.5, 'pass electron veto'),
0606                 Plot1D('energyErr', 'energyErr', 20, 0, 300, 'energy error of the cluster from regression'),
0607                 Plot1D('energyRaw', 'energyRaw', 100, 0, 300, 'raw energy of photon supercluster'),
0608                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0609                 Plot1D('genPartFlav', 'genPartFlav', 14, -0.5, 13.5, 'Flavour of genParticle for MC matching to status==1 photons or electrons: 1 = prompt photon, 13 = prompt electron, 0 = unknown or unmatched'),
0610                 NoPlot('genPartIdx'),
0611                 Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
0612                 Plot1D('hoe_PUcorr', 'hoe_PUcorr', 20, 0, 0.6, 'H over E with PU correction'),
0613                 Plot1D('isScEtaEB', 'isScEtaEB', 2, -0.5, 1.5, 'is supercluster eta within barrel acceptance'),
0614                 Plot1D('isScEtaEE', 'isScEtaEE', 2, -0.5, 1.5, 'is supercluster eta within endcap acceptance'),
0615                 NoPlot('jetIdx'),
0616                 NoPlot('mass'),
0617                 Plot1D('mvaID', 'mvaID', 20, -1, 1, 'MVA ID score'),
0618                 Plot1D('mvaID_WP80', 'mvaID_WP80', 2, -0.5, 1.5, 'MVA ID WP80'),
0619                 Plot1D('mvaID_WP90', 'mvaID_WP90', 2, -0.5, 1.5, 'MVA ID WP90'),
0620                 Plot1D('mvaID_Fall17V2', 'mvaID_Fall17V2', 20, -1, 1, 'Fall17V2 MVA ID score'),
0621                 Plot1D('mvaID_Fall17V2_WP80', 'mvaID_WP80_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP80'),
0622                 Plot1D('mvaID_Fall17V2_WP90', 'mvaID_WP90_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP90'),
0623                 Plot1D('trkSumPtHollowConeDR03', 'trkSumPtHollowConeDR03', 100, 0, 8, 'Sum of track pT in a hollow cone of outer radius, inner radius'),
0624                 Plot1D('pfPhoIso03', 'pfPhoIso03', 100, 0, 1, 'PF absolute isolation dR=0.3, photon component (uncorrected)'),
0625                 Plot1D('pfChargedIsoPFPV', 'pfChargedIsoPFPV', 100, 0, 5, 'PF absolute isolation dR=0.3, charged component (PF PV only)'),
0626                 Plot1D('pfChargedIsoWorstVtx', 'pfChargedIsoWorstVtx', 100, 0, 10,'PF absolute isolation dR=0.3, charged component (Vertex with largest isolation)'),
0627                 Plot1D('pdgId', 'pdgId', 1, 21.5, 22.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0628                 Plot1D('pfRelIso03_all_Fall17V2', 'pfRelIso03_all_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU Fall17V2 corrections)'),
0629                 Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU Fall17V2 corrections)'),
0630                 Plot1D('pfRelIso03_all_quadratic', 'pfRelIso03_all_quadratic', 20, 0, 2, 'PF relative isolation dR=0.3, total (with quadraticEA*rho*rho + linearEA*rho corrections)'),
0631                 Plot1D('pfRelIso03_chg_quadratic', 'pfRelIso03_chg_quadratic', 20, 0, 2, 'PF relative isolation dR=0.3, charged hadron component (with quadraticEA*rho*rho + linearEA*rho corrections)'),
0632                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0633                 Plot1D('pixelSeed', 'pixelSeed', 2, -0.5, 1.5, 'has pixel seed'),
0634                 Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
0635                 Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
0636                 Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
0637                 Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
0638                 Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
0639                 Plot1D('sieie', 'sieie', 100, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
0640                 Plot1D('sipip', 'sipip', 100, 0, 0.05, 'sigmaIphiIphi of the supercluster'),
0641                 Plot1D('sieip', 'sieip', 100, -0.0002, 0.0002, 'sigma_IetaIphi of the supercluster, calculated with full 5x5 region'),
0642                 Plot1D('s4', 's4', 100, 0.4, 1, 'e2x2/e5x5 of the supercluster, calculated with full 5x5 region'),
0643                 Plot1D('etaWidth', 'etaWidth', 100, 0, 0.03, 'Width of the photon supercluster in eta'),
0644                 Plot1D('phiWidth', 'phiWidth', 100, 0, 0.1, 'Width of the photon supercluster in phi'),
0645                 Plot1D('x_calo', 'x_calo', 100, -150, 150, 'photon supercluster position on calorimeter, x coordinate (cm)'),
0646                 Plot1D('y_calo', 'y_calo', 100, -150, 150, 'photon supercluster position on calorimeter, y coordinate (cm)'),
0647                 Plot1D('z_calo', 'z_calo', 100, -330, 330, 'photon supercluster position on calorimeter, y coordinate (cm)'),
0648                 Plot1D('esEffSigmaRR', 'esEffSigmaRR', 100, 0, 10, 'preshower sigmaRR'),
0649                 Plot1D('esEnergyOverRawE', 'esEnergyOverRawE', 100, 0, 0.2, 'ratio of preshower energy to raw supercluster energy'),
0650                 NoPlot('vidNestedWPBitmap'),
0651                 NoPlot('vidNestedWPBitmap_Fall17V2'),
0652             )
0653         ),
0654         Proton_multiRP = cms.PSet(
0655             sels = cms.PSet(),
0656             plots = cms.VPSet(
0657                 Count1D('_size', 3, -0.5, 2.5, 'bon'),
0658                 Plot1D('arm', 'arm', 2, -0.5, 1.5, '0 = sector45, 1 = sector56'),
0659                 Plot1D('t', 't', 20, -500, -0.003, 'Mandelstam variable t'),
0660                 Plot1D('thetaX', 'thetaX', 20, -0.0004, 0.0004, 'scattering angle in the y direction'),
0661                 Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
0662                 Plot1D('time', 'time', 20, -1000, -1000, 'time'),
0663                 Plot1D('timeUnc', 'timeUnc', 20, 0, 0, 'time uncertainty'),
0664                 Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
0665             )
0666         ),
0667         Proton_singleRP = cms.PSet(
0668             sels = cms.PSet(),
0669             plots = cms.VPSet(
0670                 Count1D('_size', 3, -0.5, 2.5, 'bon'),
0671                 Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
0672                 Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
0673                 Plot1D('decRPId', 'decRPId', 20, 0, 200, 'Detector ID'),
0674             )
0675         ),
0676         Pileup = cms.PSet(
0677             sels = cms.PSet(),
0678             plots = cms.VPSet(
0679                 Plot1D('gpudensity', 'gpudensity', 20, 0, 0.9, 'Generator-level PU vertices / mm'),
0680                 Plot1D('nPU', 'nPU', 20, 0, 60, 'the number of pileup interactions that have been added to the event in the current bunch crossing'),
0681                 Plot1D('nTrueInt', 'nTrueInt', 20, 0, 60, 'the true mean number of the poisson distribution for this event from which the number of interactions each bunch crossing has been sampled'),
0682                 Plot1D('pudensity', 'pudensity', 5, -0.5, 4.5, 'PU vertices / mm'),
0683                 Plot1D('sumEOOT', 'sumEOOT', 20, 0, 800, 'number of early out of time pileup'),
0684                 Plot1D('sumLOOT', 'sumLOOT', 20, 0, 300, 'number of late out of time pileup'),
0685             )
0686         ),
0687         PuppiMET = cms.PSet(
0688             sels = cms.PSet(),
0689             plots = cms.VPSet(
0690                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0691                 Plot1D('phiJERUp', 'phiJERUp', 20, -3.14159, 3.14159, 'JER up phi'),
0692                 Plot1D('phiJERDown', 'phiJERDown', 20, -3.14159, 3.14159, 'JER down phi'),
0693                 Plot1D('phiJESUp', 'phiJESUp', 20, -3.14159, 3.14159, 'JES up phi'),
0694                 Plot1D('phiJESDown', 'phiJESDown', 20, -3.14159, 3.14159, 'JES down phi'),
0695                 Plot1D('phiUnclusteredUp', 'phiUnclusteredUp', 20, -3.14159, 3.14159, 'Unclustered up phi'),
0696                 Plot1D('phiUnclusteredDown', 'phiUnclusteredDown', 20, -3.14159, 3.14159, 'Unclustered down phi'),
0697                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0698                 Plot1D('ptJERUp', 'ptJERUp', 20, 0, 400, 'JER up pt'),
0699                 Plot1D('ptJERDown', 'ptJERDown', 20, 0, 400, 'JER down pt'),
0700                 Plot1D('ptJESUp', 'ptJESUp', 20, 0, 400, 'JES up pt'),
0701                 Plot1D('ptJESDown', 'ptJESDown', 20, 0, 400, 'JES down pt'),
0702                 Plot1D('ptUnclusteredUp', 'ptUnclusteredUp', 20, 0, 400, 'Unclustered up pt'),
0703                 Plot1D('ptUnclusteredDown', 'ptUnclusteredDown', 20, 0, 400, 'Unclustered down pt'),
0704                 Plot1D('sumEt', 'sumEt', 20, 200, 3000, 'scalar sum of Et'),
0705             )
0706         ),
0707         RawMET = cms.PSet(
0708             sels = cms.PSet(),
0709             plots = cms.VPSet(
0710                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0711                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0712                 Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
0713             )
0714         ),
0715         RawPuppiMET = cms.PSet(
0716             sels = cms.PSet(),
0717             plots = cms.VPSet(
0718                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0719                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0720                 Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
0721             )
0722         ),
0723         SV = cms.PSet(
0724             sels = cms.PSet(),
0725             plots = cms.VPSet(
0726                 Count1D('_size', 14, -0.5, 13.5),
0727                 Plot1D('chi2', 'chi2', 20, -2000, 2000, 'reduced chi2, i.e. chi/ndof'),
0728                 Plot1D('dlen', 'dlen', 20, 0, 4, 'decay length in cm'),
0729                 Plot1D('dlenSig', 'dlenSig', 20, 0, 50, 'decay length significance'),
0730                 Plot1D('dxy', 'dxy', 20, 0, 4, '2D decay length in cm'),
0731                 Plot1D('dxySig', 'dxySig', 20, 0, 50, '2D decay length significance'),
0732                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0733                 Plot1D('mass', 'mass', 20, 0, 8, 'mass'),
0734                 Plot1D('ndof', 'ndof', 20, -1, 19, 'number of degrees of freedom'),
0735                 Plot1D('pAngle', 'pAngle', 20, -3.1416, 3.1416, 'pointing angle, i.e. acos(p_SV * (SV - PV)) '),
0736                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0737                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0738                 Plot1D('x', 'x', 20, -0.5, 0.5, 'secondary vertex X position, in cm'),
0739                 Plot1D('y', 'y', 20, -0.5, 0.5, 'secondary vertex Y position, in cm'),
0740                 Plot1D('z', 'z', 20, -10, 10, 'secondary vertex Z position, in cm'),
0741                 Plot1D('ntracks', 'ntracks', 11, -0.5, 10.5, 'number of tracks'),
0742                 Plot1D('charge', 'charge', 11 , -0.5, 10.5, 'sum of the charge of the SV tracks'),
0743             )
0744         ),
0745         SoftActivityJet = cms.PSet(
0746             sels = cms.PSet(),
0747             plots = cms.VPSet(
0748                 Count1D('_size', 7, -0.5, 6.5, 'jets clustered from charged candidates compatible with primary vertex (charge()!=0 && pvAssociationQuality()>=5 && vertexRef().key()==0)'),
0749                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0750                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0751                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0752             )
0753         ),
0754         SubJet = cms.PSet(
0755             sels = cms.PSet(),
0756             plots = cms.VPSet(
0757                 Count1D('_size', 9, -0.5, 8.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
0758                 Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
0759                 Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
0760                 Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
0761                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0762                 Plot1D('mass', 'mass', 20, -200, 200, 'mass'),
0763                 Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
0764                 Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
0765                 Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
0766                 Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
0767                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0768                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0769                 Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
0770                 Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
0771                 Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
0772                 Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
0773                 Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
0774             )
0775         ),
0776         Tau = cms.PSet(
0777             sels = cms.PSet(),
0778             plots = cms.VPSet(
0779                 Count1D('_size', 7, -0.5, 6.5, "slimmedTaus after basic selection (pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT')))"),
0780                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0781                 Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
0782                 Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
0783                 Plot1D('dxy', 'dxy', 20, -1000, 1000, 'd_{xy} of lead track with respect to PV, in cm (with sign)'),
0784                 Plot1D('dz', 'dz', 20, -20, 20, 'd_{z} of lead track with respect to PV, in cm (with sign)'),
0785                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0786                 Plot1D('genPartFlav', 'genPartFlav', 6, -0.5, 5.5, 'Flavour of genParticle for MC matching to status==2 taus: 1 = prompt electron, 2 = prompt muon, 3 = tau->e decay, 4 = tau->mu decay, 5 = hadronic tau decay, 0 = unknown or unmatched'),
0787                 NoPlot('genPartIdx'),
0788                 Plot1D('idAntiEleDeadECal', 'idAntiEleDeadECal', 2, -0.5, 1.5, "tauID('againstElectronDeadECAL')"),
0789                 Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
0790                 Plot1D('idDecayModeOldDMs', 'idDecayModeOldDMs', 2, -0.5, 1.5, "tauID('decayModeFinding')"),
0791                 Plot1D('idDeepTau2017v2p1VSe', 'idDeepTau2017v2p1VSe', 11, -0.5, 10.5, 'byDeepTau2017v2p1VSe ID working points (deepTau2017v2p1): int 1 = VVVLoose, 2 = VVLoose, 3 = VLoose, 4 = Loose, 5 = Medium, 6 = Tight, 7 = VTight, 8 = VVTight'),
0792                 Plot1D('idDeepTau2017v2p1VSjet', 'idDeepTau2017v2p1VSjet', 11, -0.5, 10.5, 'byDeepTau2017v2p1VSjet ID working points (deepTau2017v2p1): int 1 = VVVLoose, 2 = VVLoose, 3 = VLoose, 4 = Loose, 5 = Medium, 6 = Tight, 7 = VTight, 8 = VVTight'),
0793                 Plot1D('idDeepTau2017v2p1VSmu', 'idDeepTau2017v2p1VSmu', 11, -0.5, 10.5, 'byDeepTau2017v2p1VSmu ID working points (deepTau2017v2p1): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
0794                 Plot1D('idDeepTau2018v2p5VSe', 'idDeepTau2018v2p5VSe', 11, -0.5, 10.5, 'byDeepTau2018v2p5VSe ID working points (deepTau2018v2p5): int 1 = VVVLoose, 2 = VVLoose, 3 = VLoose, 4 = Loose, 5 = Medium, 6 = Tight, 7 = VTight, 8 = VVTight'),
0795                 Plot1D('idDeepTau2018v2p5VSjet', 'idDeepTau2018v2p5VSjet', 11, -0.5, 10.5, 'byDeepTau2018v2p5VSjet ID working points (deepTau2018v2p5): int 1 = VVVLoose, 2 = VVLoose, 3 = VLoose, 4 = Loose, 5 = Medium, 6 = Tight, 7 = VTight, 8 = VVTight'),
0796                 Plot1D('idDeepTau2018v2p5VSmu', 'idDeepTau2018v2p5VSmu', 11, -0.5, 10.5, 'byDeepTau2018v2p5VSmu ID working points (deepTau2018v2p5): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
0797                 NoPlot('jetIdx'),
0798                 Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
0799                 Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
0800                 Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
0801                 Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
0802                 Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
0803                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0804                 Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
0805                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0806                 Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
0807                 Plot1D('rawDeepTau2017v2p1VSe', 'rawDeepTau2017v2p1VSe', 20, 0, 1, 'byDeepTau2017v2p1VSe raw output discriminator (deepTau2017v2p1)'),
0808                 Plot1D('rawDeepTau2017v2p1VSjet', 'rawDeepTau2017v2p1VSjet', 20, 0, 1, 'byDeepTau2017v2p1VSjet raw output discriminator (deepTau2017v2p1)'),
0809                 Plot1D('rawDeepTau2017v2p1VSmu', 'rawDeepTau2017v2p1VSmu', 20, 0, 1, 'byDeepTau2017v2p1VSmu raw output discriminator (deepTau2017v2p1)'),
0810                 Plot1D('rawDeepTau2018v2p5VSe', 'rawDeepTau2018v2p5VSe', 20, 0, 1, 'byDeepTau2018v2p5VSe raw output discriminator (deepTau2018v2p5)'),
0811                 Plot1D('rawDeepTau2018v2p5VSjet', 'rawDeepTau2018v2p5VSjet', 20, 0, 1, 'byDeepTau2018v2p5VSjet raw output discriminator (deepTau2018v2p5)'),
0812                 Plot1D('rawDeepTau2018v2p5VSmu', 'rawDeepTau2018v2p5VSmu', 20, 0, 1, 'byDeepTau2018v2p5VSmu raw output discriminator (deepTau2018v2p5)'),
0813                 Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
0814                 Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
0815             )
0816         ),
0817         TkMET = cms.PSet(
0818             sels = cms.PSet(),
0819             plots = cms.VPSet(
0820                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0821                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0822                 Plot1D('sumEt', 'sumEt', 20, 0, 2000, 'scalar sum of Et'),
0823             )
0824         ),
0825         TrigObj = cms.PSet(
0826             sels = cms.PSet(
0827                 Electron = cms.string('id == 11'),
0828                 HT = cms.string('id == 3'),
0829                 Jet = cms.string('id == 1'),
0830                 MET = cms.string('id == 2'),
0831                 MHT = cms.string('id == 4'),
0832                 Muon = cms.string('id == 13'),
0833                 Photon = cms.string('id == 22'),
0834                 Tau = cms.string('id == 15')
0835             ),
0836             plots = cms.VPSet(
0837                 Count1D('_size', 28, -0.5, 27.5),
0838                 Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
0839                 Plot1D('filterBits', 'filterBits', 31, 0, 31, 'extra bits of associated information, object- and era-dependent: see branch documentation', bitset=True),
0840                 Plot1D('id', 'id', 20, 0, 30, 'ID of the object: 11 = Electron (PixelMatched e/gamma), 22 = Photon (PixelMatch-vetoed e/gamma), 13 = Muon, 14 = Tau, 1 = Jet, 2 = MET, 3 = HT, 4 = MHT'),
0841                 Plot1D('l1charge', 'l1charge', 3, -1.5, 1.5, 'charge of associated L1 seed'),
0842                 Plot1D('l1iso', 'l1iso', 4, -0.5, 3.5, 'iso of associated L1 seed'),
0843                 Plot1D('l1pt', 'l1pt', 20, 0, 200, 'pt of associated L1 seed'),
0844                 Plot1D('l1pt_2', 'l1pt_2', 20, 0, 200, 'pt of associated secondary L1 seed'),
0845                 Plot1D('l2pt', 'l2pt', 20, 0, 200, "pt of associated 'L2' seed (i.e. HLT before tracking/PF)"),
0846                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0847                 Plot1D('pt', 'pt', 40, 0, 400, 'pt'),
0848             )
0849         ),
0850         boostedTau = cms.PSet(
0851             sels = cms.PSet(),
0852             plots = cms.VPSet(
0853                 Count1D('_size', 7, -0.5, 6.5, "slimmedBoostedTaus after basic selection (pt > 40 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2017v2DBoldDMwLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBnewDMwLT2017')))"),
0854                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0855                 Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
0856                 Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
0857                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0858                 Plot1D('genPartFlav', 'genPartFlav', 6, -0.5, 5.5, 'Flavour of genParticle for MC matching to status==2 taus: 1 = prompt electron, 2 = prompt muon, 3 = tau->e decay, 4 = tau->mu decay, 5 = hadronic tau decay, 0 = unknown or unmatched'),
0859                 NoPlot('genPartIdx'),
0860                 Plot1D('idAntiEle2018', 'idAntiEle2018', 11, -0.5, 10.5, 'Anti-electron MVA discriminator V6 (2018): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight, 5 = VTight'),
0861                 Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
0862                 Plot1D('idMVAnewDM2017v2', 'idMVAnewDM2017v2', 11, -0.5, 10.5, 'IsolationMVArun2017v2DBnewDMwLT ID working point (2017v2): int 1 = VVLoose, 2 = VLoose, 3 = Loose, 4 = Medium, 5 = Tight, 6 = VTight, 7 = VVTight'),
0863                 Plot1D('idMVAoldDM2017v2', 'idMVAoldDM2017v2', 11, -0.5, 10.5, 'IsolationMVArun2017v2DBoldDMwLT ID working point (2017v2): int 1 = VVLoose, 2 = VLoose, 3 = Loose, 4 = Medium, 5 = Tight, 6 = VTight, 7 = VVTight'),
0864                 NoPlot('jetIdx'),
0865                 Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
0866                 Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
0867                 Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
0868                 Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
0869                 Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
0870                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0871                 Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
0872                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0873                 Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
0874                 Plot1D('rawAntiEle2018', 'rawAntiEle2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 raw output discriminator (2018)'),
0875                 Plot1D('rawAntiEleCat2018', 'rawAntiEleCat2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 category (2018)'),
0876                 Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
0877                 Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
0878                 Plot1D('rawMVAnewDM2017v2', 'rawMVAnewDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBnewDMwLT raw output discriminator (2017v2)'),
0879                 Plot1D('rawMVAoldDM2017v2', 'rawMVAoldDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBoldDMwLT raw output discriminator (2017v2)'),
0880             )
0881         ),
0882         L1PreFiringWeight = cms.PSet(
0883             sels = cms.PSet(),
0884             plots = cms.VPSet(
0885                 Plot1D('Nom', 'Nom', 21, 0.8, 1.01, 'L1 prefiring weight nominal'),
0886                 Plot1D('Up', 'Up', 21, 0.8, 1.01, 'L1 prefiring weight uncertainy up'),
0887                 Plot1D('Dn', 'Dn', 21, 0.8, 1.01, 'L1 prefiring weight uncertainty down'),
0888                 Plot1D('ECAL_Nom', 'ECAL_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for ECAL objects nominal'),
0889                 Plot1D('Muon_Nom', 'Muon_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for muons nominal'),
0890             )
0891 
0892         ),
0893         BeamSpot = cms.PSet(
0894             sels = cms.PSet(),
0895             plots = cms.VPSet(
0896                 Plot1D('z', 'z', 20, 0.5, 1.5, 'BeamSpot center, z coordinate (cm)'),         
0897                 Plot1D('zError', 'zError', 20, 0., 0.01, 'Error on BeamSpot center, z coordinate (cm)'),         
0898                 Plot1D('sigmaZ', 'sigmaZ', 20, 0., 10, 'Width of BeamSpot in z (cm)'),         
0899                 Plot1D('sigmaZError', 'sigmaZError', 20, 0., 0.01, 'Error on width of BeamSpot in z (cm)'),         
0900             )
0901         ),
0902         Rho = cms.PSet(
0903             sels = cms.PSet(),
0904             plots = cms.VPSet(
0905                 Plot1D('fixedGridRhoAll', 'fixedGridRhoAll', 100, 0, 80, 'rho from all PF Candidates, no foreground removal (for isolation of prompt photons)'),
0906             )
0907         ),
0908     )
0909 )