Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-08-05 23:13:43

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