Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-14 04:15:45

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         CorrT1METJet = cms.PSet(
0017             sels = cms.PSet(),
0018             plots = cms.VPSet(
0019                 Count1D('_size', 20, -0.5, 19.5, 'Additional low-pt jets for Type-1 MET re-correction'),
0020                 Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
0021                 Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
0022                 Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
0023                 Plot1D('muonSubtrDeltaEta', 'muonSubtrDeltaEta', 40, -0.4, 0.4, 'muon-subtracted raw eta - eta'),
0024                 Plot1D('muonSubtrDeltaPhi', 'muonSubtrDeltaPhi', 40, -0.4, 0.4, 'muon-subtracted raw phi - phi'),
0025                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0026                 Plot1D('rawPt', 'rawPt', 20, 5, 25, "pt()*jecFactor('Uncorrected')"),
0027                 Plot1D('rawMass', 'rawMass', 20, 5, 25, "mass()*jecFactor('Uncorrected')"),
0028                 Plot1D('EmEF', 'EmEF', 20, 0., 1., "charged+neutral Electromagnetic Energy Fraction"),
0029             )
0030         ),
0031         DeepMETResolutionTune = cms.PSet(
0032             sels = cms.PSet(),
0033             plots = cms.VPSet(
0034                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Resolution Tune phi'),
0035                 Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
0036             )
0037         ),
0038         DeepMETResponseTune = cms.PSet(
0039             sels = cms.PSet(),
0040             plots = cms.VPSet(
0041                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Response Tune phi'),
0042                 Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
0043             )
0044         ),
0045         Electron = cms.PSet(
0046             sels = cms.PSet(
0047                 Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && cutBased >= 3 && miniPFRelIso_all < 0.4')
0048             ),
0049             plots = cms.VPSet(
0050                 Count1D('_size', 8, -0.5, 7.5, 'slimmedElectrons after basic selection (pt > 5 )'),
0051                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0052                 Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
0053                 Plot1D('cutBased', 'cutBased', 5, -0.5, 4.5, 'cut-based ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'),
0054                 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)'),
0055                 Plot1D('cutBased_HEEP', 'cutBased_HEEP', 2, -0.5, 1.5, 'cut-based HEEP ID'),
0056                 Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
0057                 Plot1D('dr03EcalRecHitSumEt', 'dr03EcalRecHitSumEt', 20, 0, 30, 'Non-PF Ecal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
0058                 Plot1D('dr03HcalDepth1TowerSumEt', 'dr03HcalDepth1TowerSumEt', 20, 0, 20, 'Non-PF Hcal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
0059                 Plot1D('dr03TkSumPt', 'dr03TkSumPt', 20, 0, 40, 'Non-PF track isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
0060                 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'),
0061                 Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
0062                 Plot1D('dxyErr', 'dxyErr', 20, 0, 0.2, 'dxy uncertainty, in cm'),
0063                 Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
0064                 Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
0065                 Plot1D('fbrem', 'fbrem', 20, -5.0, 5.0, 'Fraction of brem'),
0066                 Plot1D('rawEnergy', 'rawEnergy', 100, 0, 1000.0, 'raw energy of Supercluster'),
0067                 Plot1D('PreshowerEnergy', 'PreshowerEnergy', 20, 0, 100.0, 'energy deposited in the preshower'),
0068                 Plot1D('ecalEnergy', 'ecalEnergy', 100, 0, 1000.0, 'energy after ECAL-only regression applied'),
0069                 Plot1D('ecalEnergyError', 'ecalEnergyError', 20, 0, 100.0, 'ecalEnergy error'),
0070                 Plot1D('gsfTrkpMode', 'gsfTrkpMode', 100, 0, 1000000.0, 'GSF track pMode'),
0071                 Plot1D('gsfTrkpModeErr', 'gsfTrkpModeErr', 100, 0, 1000000.0, 'GSF track pMode error'),
0072                 Plot1D('gsfTrketaMode', 'gsfTrketaMode', 20, -3.5, 3.5, 'GSF track eta Mode'),
0073                 Plot1D('gsfTrkphiMode', 'gsfTrkphiMode', 20, -4, 4, 'GSF track phi Mode'),
0074                 Plot1D('isEcalDriven', 'isEcalDriven', 2, -0.5, 1.5, 'is ECAL driven if true'),
0075                 Plot1D('isEB', 'isEB', 2, -0.5, 1.5, 'object in barrel if true derived from the seedCrystal and detID information'),
0076                 Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
0077                 Plot1D('energyErr', 'energyErr', 20, 0, 90, 'energy error of the cluster-track combination'),
0078                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0079                 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'),
0080                 NoPlot('genPartIdx'),
0081                 Plot1D('hoe', 'hoe', 20, 0, 1, 'H over E'),
0082                 Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
0083                 Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'electron is PF candidate'),
0084                 NoPlot('jetIdx'),
0085                 Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 60, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
0086                 Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1), -1 if none'),
0087                 Plot1D('jetDF', 'jetDF', 20, 0., 1., 'value of the DEEPJET b tagging algorithm discriminator of the associated jet (0 if none)'),
0088                 Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
0089                 Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
0090                 NoPlot('mass'),
0091                 Plot1D('mvaIso_Fall17V2', 'mvaIso_Fall17V2', 20, -1, 1, 'MVA Iso ID score, Fall17V2'),
0092                 Plot1D('mvaIso_Fall17V2_WP80', 'mvaIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Fall17V2'),
0093                 Plot1D('mvaIso_Fall17V2_WP90', 'mvaIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Fall17V2'),
0094                 Plot1D('mvaIso_Fall17V2_WPL', 'mvaIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA Iso ID loose WP, Fall17V2'),
0095                 Plot1D('mvaIso', 'mvaIso', 20, -1, 1, 'MVA Iso ID score, Winter22V1'),
0096                 Plot1D('mvaIso_WP80', 'mvaIso_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Winter22V1'),
0097                 Plot1D('mvaIso_WP90', 'mvaIso_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Winter22V1'),
0098                 Plot1D('mvaNoIso', 'mvaNoIso', 20, -1, 1, 'MVA noIso ID score, Winter22V1'),
0099                 Plot1D('mvaNoIso_WP80', 'mvaNoIso_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Winter22V1'),
0100                 Plot1D('mvaNoIso_WP90', 'mvaNoIso_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Winter22V1'),
0101                 Plot1D('mvaNoIso_Fall17V2', 'mvaNoIso_Fall17V2', 20, -1, 1, 'MVA noIso ID score, Fall17V2'),
0102                 Plot1D('mvaNoIso_Fall17V2_WP80', 'mvaNoIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Fall17V2'),
0103                 Plot1D('mvaNoIso_Fall17V2_WP90', 'mvaNoIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Fall17V2'),
0104                 Plot1D('mvaNoIso_Fall17V2_WPL', 'mvaNoIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA noIso ID loose WP, Fall17V2'),
0105                 Plot1D('mvaHZZIso', 'mvaHZZIso', 20, -1, 1, 'HZZ MVA Iso ID score'),
0106                 Plot1D('mvaIso_WPHZZ', 'mvaIso_WPHZZ', 2, -0.5, 1.5, 'MVA Iso ID WPHZZ, Winter22V1'),
0107                 Plot1D('promptMVA', 'promptMVA', 20, -1, 1, 'prompt MVA lepton ID score'),
0108                 Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0109                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0110                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
0111                 Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU corrections)'),
0112                 Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
0113                 Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (with rho*EA PU corrections)'),
0114                 Plot1D('miniPFRelIso_all_Fall17V2', 'miniPFRelIso_all_Fall17V2', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0115                 Plot1D('miniPFRelIso_chg_Fall17V2', 'miniPFRelIso_chg_Fall17V2', 20, 0, 1, 'mini PF relative isolation, charged component'),
0116                 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)'),
0117                 Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3 with 94 EffArea, charged component'),
0118                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0119                 NoPlot('photonIdx'),
0120                 Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
0121                 Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
0122                 Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
0123                 Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
0124                 Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
0125                 Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
0126                 Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
0127                 Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV, in cm'),
0128                 Plot1D('tightCharge', 'tightCharge', 3, -0.5, 2.5, 'Tight charge criteria (0:none, 1:isGsfScPixChargeConsistent, 2:isGsfCtfScPixChargeConsistent)'),
0129                 NoPlot('vidNestedWPBitmap'),
0130                 NoPlot('vidNestedWPBitmap_Fall17V2'),
0131                 NoPlot('vidNestedWPBitmapHEEP'),
0132             )
0133         ),
0134 
0135         LowPtElectron = cms.PSet(
0136             sels = cms.PSet(
0137                 Good = cms.string('pt > 1. && ID > 5.')
0138             ),
0139             plots = cms.VPSet(
0140                 #
0141                 Count1D('_size', 8, -0.5, 7.5, 'slimmedLowPtElectrons after basic selection'),
0142                 # CandVars
0143                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0144                 Plot1D('eta', 'eta', 20, -3., 3., 'eta'),
0145                 NoPlot('mass'),
0146                 Plot1D('pdgId', 'pdgId', 101, -50.5, 50.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0147                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0148                 Plot1D('pt', 'pt', 40, 0., 20., 'pt (corrected)'),
0149                 # BDT scores and WPs
0150                 Plot1D('embeddedID', 'embeddedID', 40, -10., 10., 'Embedded ID, BDT (raw) score'),
0151                 Plot1D('ID', 'ID', 40, -10., 10., 'ID, BDT (raw) score'),
0152                 Plot1D('unbiased', 'unbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- agnostic BDT (raw) score'),
0153                 Plot1D('ptbiased', 'ptbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- dependent BDT (raw) score'),
0154                 # Isolation
0155                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0., 1., 'mini PF relative isolation, charged component'),
0156                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0., 1., 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0157                 # Conversions
0158                 Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
0159                 Plot1D('convWP', 'convWP', 8, -0.5, 7.5, 'conversion flag bit map: 1=Veto, 2=Loose, 3=Tight'),
0160                 Plot1D('convVtxRadius', 'convVtxRadius', 40, 0., 20.0, 'conversion vertex radius (cm)'),
0161                 # Tracking
0162                 Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
0163                 # Cluster-related
0164                 Plot1D('energyErr', 'energyErr', 40, 0., 20., 'energy error of the cluster from regression'),
0165                 Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
0166                 Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
0167                 Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
0168                 Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
0169                 Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
0170                 Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
0171                 # Displacement
0172                 Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
0173                 Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
0174                 Plot1D('dxyErr', 'dxyErr', 20, 0., 0.2, 'dxy uncertainty, in cm'),
0175                 Plot1D('dzErr', 'dzErr', 20, 0., 0.2, 'dz uncertainty, in cm'),
0176             ),
0177         ),
0178 
0179         FatJet = cms.PSet(
0180             sels = cms.PSet(),
0181             plots = cms.VPSet(
0182                 Count1D('_size', 6, -0.5, 5.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
0183                 Plot1D('area', 'area', 20, 2, 4, 'jet catchment area, for JECs'),
0184                 Plot1D('globalParT3_Xbb', 'globalParT3_Xbb', 20, -1, 1, 'GlobalParT-3 X->bb score'),
0185                 Plot1D('globalParT3_Xcc', 'globalParT3_Xcc', 20, -1, 1, 'GlobalParT-3 X->cc score'),
0186                 Plot1D('globalParT3_Xcs', 'globalParT3_Xcs', 20, -1, 1, 'GlobalParT-3 X->cs score'),
0187                 Plot1D('globalParT3_Xqq', 'globalParT3_Xqq', 20, -1, 1, 'GlobalParT-3 X->qq (ss/dd/uu) score'),
0188                 Plot1D('globalParT3_Xtauhtaue', 'globalParT3_Xtauhtaue', 20, -1, 1, 'GlobalParT-3 X->tauhtaue score'),
0189                 Plot1D('globalParT3_Xtauhtaum', 'globalParT3_Xtauhtaum', 20, -1, 1, 'GlobalParT-3 X->tauhtaum score'),
0190                 Plot1D('globalParT3_Xtauhtauh', 'globalParT3_Xtauhtauh', 20, -1, 1, 'GlobalParT-3 X->tauhtauh score'),
0191                 Plot1D('globalParT3_XWW4q', 'globalParT3_XWW4q', 20, -1, 1, 'GlobalParT-3 X->WW4q score'),
0192                 Plot1D('globalParT3_XWW3q', 'globalParT3_XWW3q', 20, -1, 1, 'GlobalParT-3 X->WW3q score'),
0193                 Plot1D('globalParT3_XWWqqev', 'globalParT3_XWWqqev', 20, -1, 1, 'GlobalParT-3 X->WWqqev score'),
0194                 Plot1D('globalParT3_XWWqqmv', 'globalParT3_XWWqqmv', 20, -1, 1, 'GlobalParT-3 X->WWqqmv score'),
0195                 Plot1D('globalParT3_TopbWqq', 'globalParT3_TopbWqq', 20, -1, 1, 'GlobalParT-3 Top->bWqq score'),
0196                 Plot1D('globalParT3_TopbWq', 'globalParT3_TopbWq', 20, -1, 1, 'GlobalParT-3 Top->bWq score'),
0197                 Plot1D('globalParT3_TopbWev', 'globalParT3_TopbWev', 20, -1, 1, 'GlobalParT-3 Top->bWev score'),
0198                 Plot1D('globalParT3_TopbWmv', 'globalParT3_TopbWmv', 20, -1, 1, 'GlobalParT-3 Top->bWmv score'),
0199                 Plot1D('globalParT3_TopbWtauhv', 'globalParT3_TopbWtauhv', 20, -1, 1, 'GlobalParT-3 Top->bWtauhv score'),
0200                 Plot1D('globalParT3_QCD', 'globalParT3_QCD', 20, -1, 1, 'GlobalParT-3 QCD score'),
0201                 Plot1D('globalParT3_massCorrX2p', 'globalParT3_massCorrX2p', 20, -1, 2, 'GlobalParT-3 mass regression corrector (for X->2-prong jets)'),
0202                 Plot1D('globalParT3_massCorrGeneric', 'globalParT3_massCorrGeneric', 20, -1, 2, 'GlobalParT-3 mass regression corrector (for generic cases)'),
0203                 Plot1D('globalParT3_withMassTopvsQCD', 'globalParT3_withMassTopvsQCD', 20, -1, 1, 'GlobalParT-3 tagger (mass-correlated) Top vs QCD discriminator'),
0204                 Plot1D('globalParT3_withMassWvsQCD', 'globalParT3_withMassWvsQCD', 20, -1, 1, 'GlobalParT-3 tagger (mass-correlated) W vs QCD discriminator'),
0205                 Plot1D('globalParT3_withMassZvsQCD', 'globalParT3_withMassZvsQCD', 20, -1, 1, 'GlobalParT-3 tagger (mass-correlated) Z vs QCD discriminator'),
0206                 Plot1D('particleNetWithMass_QCD', 'particleNetWithMass_QCD', 20, -1, 1, 'ParticleNet (mass-correlated) QCD score'),
0207                 Plot1D('particleNetWithMass_TvsQCD', 'particleNetWithMass_TvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) top vs. QCD score'),
0208                 Plot1D('particleNetWithMass_WvsQCD', 'particleNetWithMass_WvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) W vs. QCD score'),
0209                 Plot1D('particleNetWithMass_ZvsQCD', 'particleNetWithMass_ZvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) Z vs. QCD score'),
0210                 Plot1D('particleNetWithMass_H4qvsQCD', 'particleNetWithMass_H4qvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H(->VV->qqqq) vs. QCD score'),
0211                 Plot1D('particleNetWithMass_HbbvsQCD', 'particleNetWithMass_HbbvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H->bb vs. QCD score'),
0212                 Plot1D('particleNetWithMass_HccvsQCD', 'particleNetWithMass_HccvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H->cc vs. QCD score'),
0213                 Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet QCD score'),
0214                 Plot1D('particleNet_QCD2HF', 'particleNet_QCD2HF', 20, 0, 1, 'ParticleNet QCD 2HF (b,c) score'),
0215                 Plot1D('particleNet_QCD1HF', 'particleNet_QCD1HF', 20, 0, 1, 'ParticleNet QCD 1HF (b,c) score'),
0216                 Plot1D('particleNet_QCD0HF', 'particleNet_QCD0HF', 20, 0, 1, 'ParticleNet QCD 0HF (b,c) score'),
0217                 Plot1D('particleNet_massCorr', 'particleNet_massCorr', 20, 0, 2, 'ParticleNet mass regression, correction relative to jet mass'),
0218                 Plot1D('particleNet_XbbVsQCD', 'particleNet_XbbVsQCD', 20, 0, 1, 'ParticleNet X->bb vs. QCD score'),
0219                 Plot1D('particleNet_XccVsQCD', 'particleNet_XccVsQCD', 20, 0, 1, 'ParticleNet X->cc vs. QCD score'),
0220                 Plot1D('particleNet_XqqVsQCD', 'particleNet_XqqVsQCD', 20, 0, 1, 'ParticleNet X->qq (uds) vs. QCD score'),
0221                 Plot1D('particleNet_XggVsQCD', 'particleNet_XggVsQCD', 20, 0, 1, 'ParticleNet X->gg vs. QCD score'),
0222                 Plot1D('particleNet_XttVsQCD', 'particleNet_XttVsQCD', 20, 0, 1, 'ParticleNet X->tautau vs. QCD score'),
0223                 Plot1D('particleNet_XtmVsQCD', 'particleNet_XtmVsQCD', 20, 0, 1, 'ParticleNet X->mutau vs. QCD score'),
0224                 Plot1D('particleNet_XteVsQCD', 'particleNet_XteVsQCD', 20, 0, 1, 'ParticleNet X->etau vs. QCD score'),
0225                 Plot1D('particleNet_WVsQCD', 'particleNet_WVsQCD', 20, 0, 1, 'ParticleNet W vs. QCD score'),
0226                 NoPlot('electronIdx3SJ'),
0227                 Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
0228                 NoPlot('genJetAK8Idx'),
0229                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0230                 Plot1D('lsf3', 'lsf3', 20, -1, 1, 'Lepton Subjet Fraction (3 subjets)'),
0231                 Plot1D('mass', 'mass', 20, 0, 300, 'mass'),
0232                 Plot1D('msoftdrop', 'msoftdrop', 20, -300, 300, 'Soft drop mass'),
0233                 NoPlot('muonIdx3SJ'),
0234                 Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
0235                 Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
0236                 Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
0237                 Plot1D('chMultiplicity', 'chMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of charged particles in the jet'),
0238                 Plot1D('neMultiplicity', 'neMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of neutral particles in the jet'),
0239                 Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
0240                 Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
0241                 Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
0242                 Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
0243                 Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
0244                 Plot1D('hfHEF', 'hfHEF',  20, 0, 1, 'hadronic Energy Fraction in HF'),
0245                 Plot1D('hfEmEF', 'hfEmEF', 20, 0, 1, 'electromagnetic Energy Fraction in HF'),
0246                 Plot1D('particleNetMD_QCD', 'particleNetMD_QCD', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw QCD score'),
0247                 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)'),
0248                 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)'),
0249                 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)'),
0250                 Plot1D('particleNet_H4qvsQCD', 'particleNet_H4qvsQCD', 20, 0, 1, 'ParticleNet tagger H(->VV->qqqq) vs QCD discriminator'),
0251                 Plot1D('particleNet_HbbvsQCD', 'particleNet_HbbvsQCD', 20, 0, 1, 'ParticleNet tagger H(->bb) vs QCD discriminator'),
0252                 Plot1D('particleNet_HccvsQCD', 'particleNet_HccvsQCD', 20, 0, 1, 'ParticleNet tagger H(->cc) vs QCD discriminator'),
0253                 Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet tagger QCD(bb,cc,b,c,others) sum'),
0254                 Plot1D('particleNet_TvsQCD', 'particleNet_TvsQCD', 20, 0, 1, 'ParticleNet tagger top vs QCD discriminator'),
0255                 Plot1D('particleNet_WvsQCD', 'particleNet_WvsQCD', 20, 0, 1, 'ParticleNet tagger W vs QCD discriminator'),
0256                 Plot1D('particleNet_ZvsQCD', 'particleNet_ZvsQCD', 20, 0, 1, 'ParticleNet tagger Z vs QCD discriminator'),
0257                 Plot1D('particleNet_mass', 'particleNet_mass', 25, 0, 250, 'ParticleNet mass regression'),
0258                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0259                 Plot1D('pt', 'pt', 20, 0, 800, 'pt'),
0260                 Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
0261                 NoPlot('subJetIdx1'),
0262                 NoPlot('subJetIdx2'),
0263                 Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
0264                 Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
0265                 Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
0266                 Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
0267             )
0268         ),
0269         PFCand = cms.PSet(
0270             sels = cms.PSet(),
0271             plots = cms.VPSet(
0272                 Count1D('_size', 10, 0, 100, 'PF candidates'),
0273                 Plot1D('pt', 'pt', 20,  0, 50, 'Puppi-weighted pt'),
0274                 Plot1D('eta', 'eta', 20, -4,  4., 'eta'),
0275                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0276                 Plot1D('mass', 'mass', 10, 0, 1., 'Puppi-weighted mass'),
0277                 Plot1D('pdgId', 'pdgId', 44, -220, 220, 'PF candidate type (+/-211 = ChgHad, 130 = NeuHad, 22 = Photon, +/-11 = Electron, +/-13 = Muon, 1 = HFHad, 2 = HFEM)'),
0278             )
0279         ),
0280         Flag = cms.PSet(
0281             sels = cms.PSet(),
0282             plots = cms.VPSet(
0283                 Plot1D('BadChargedCandidateFilter', 'BadChargedCandidateFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0284                 Plot1D('BadChargedCandidateSummer16Filter', 'BadChargedCandidateSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0285                 Plot1D('BadPFMuonFilter', 'BadPFMuonFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0286                 Plot1D('BadPFMuonDzFilter', 'BadPFMuonDzFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0287                 Plot1D('BadPFMuonSummer16Filter', 'BadPFMuonSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0288                 Plot1D('CSCTightHalo2015Filter', 'CSCTightHalo2015Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0289                 Plot1D('CSCTightHaloFilter', 'CSCTightHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0290                 Plot1D('CSCTightHaloTrkMuUnvetoFilter', 'CSCTightHaloTrkMuUnvetoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0291                 Plot1D('EcalDeadCellBoundaryEnergyFilter', 'EcalDeadCellBoundaryEnergyFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0292                 Plot1D('EcalDeadCellTriggerPrimitiveFilter', 'EcalDeadCellTriggerPrimitiveFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0293                 Plot1D('HBHENoiseFilter', 'HBHENoiseFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0294                 Plot1D('HBHENoiseIsoFilter', 'HBHENoiseIsoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0295                 Plot1D('HcalStripHaloFilter', 'HcalStripHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0296                 Plot1D('METFilters', 'METFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
0297                 Plot1D('chargedHadronTrackResolutionFilter', 'chargedHadronTrackResolutionFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0298                 Plot1D('ecalBadCalibFilter', 'ecalBadCalibFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0299                 Plot1D('ecalBadCalibFilterV2', 'ecalBadCalibFilterV2', 1, 0.5, 1.5, 'Bad ECAL calib flag (updated xtal list)'),
0300                 Plot1D('ecalLaserCorrFilter', 'ecalLaserCorrFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0301                 Plot1D('eeBadScFilter', 'eeBadScFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0302                 Plot1D('globalSuperTightHalo2016Filter', 'globalSuperTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0303                 Plot1D('globalTightHalo2016Filter', 'globalTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0304                 Plot1D('hfNoisyHitsFilter', 'hfNoisyHitsFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0305                 Plot1D('goodVertices', 'goodVertices', 2, -0.5, 1.5, 'Trigger/flag bit'),
0306                 Plot1D('hcalLaserEventFilter', 'hcalLaserEventFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0307                 Plot1D('muonBadTrackFilter', 'muonBadTrackFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
0308                 Plot1D('trkPOGFilters', 'trkPOGFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
0309                 Plot1D('trkPOG_logErrorTooManyClusters', 'trkPOG_logErrorTooManyClusters', 2, -0.5, 1.5, 'Trigger/flag bit'),
0310                 Plot1D('trkPOG_manystripclus53X', 'trkPOG_manystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
0311                 Plot1D('trkPOG_toomanystripclus53X', 'trkPOG_toomanystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
0312             )
0313         ),
0314         FsrPhoton = cms.PSet(
0315             sels = cms.PSet(),
0316             plots = cms.VPSet(
0317                 Count1D('_size', 4, -0.5, 3.5, 'Final state radiation photons emitted by muons'),
0318                 Plot1D('dROverEt2', 'dROverEt2', 20, 0, 0.05, 'deltaR to associated muon divided by photon et2'),
0319                 Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
0320                 NoPlot('muonIdx'),
0321                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0322                 Plot1D('pt', 'pt', 20, 0, 40, 'pt'),
0323                 Plot1D('relIso03', 'relIso03', 20, 0, 2, 'relative isolation in a 0.3 cone without CHS'),
0324             )
0325         ),
0326         GenDressedLepton = cms.PSet(
0327             sels = cms.PSet(),
0328             plots = cms.VPSet(
0329                 Count1D('_size', 25, -0.5, 24.5, 'Dressed leptons from Rivet-based ParticleLevelProducer'),
0330                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0331                 Plot1D('hasTauAnc', 'hasTauAnc', 2, -0.5, 1.5, 'true if Dressed lepton has a tau as ancestor'),
0332                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0333                 Plot1D('pdgId', 'pdgId', 40, -20, 20, 'pdgId'),
0334                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0335                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0336             )
0337         ),
0338         GenIsolatedPhoton = cms.PSet(
0339             sels = cms.PSet(),
0340             plots = cms.VPSet(
0341                 Count1D('_size', 10, -0.5, 9.5, 'Isolated photons from Rivet-based ParticleLevelProducer'),
0342                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0343                 NoPlot('mass'),
0344                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0345                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0346             )
0347         ),
0348         GenJet = cms.PSet(
0349             sels = cms.PSet(),
0350             plots = cms.VPSet(
0351                 Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJets, i.e. ak4 Jets made with visible genparticles'),
0352                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0353                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0354                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0355                 Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
0356                 Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
0357                 Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
0358                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0359                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0360             )
0361         ),
0362         GenJetAK8 = cms.PSet(
0363             sels = cms.PSet(),
0364             plots = cms.VPSet(
0365                 Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJetAK8, i.e. ak8 Jets made with visible genparticles'),
0366                 Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
0367                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0368                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0369                 Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
0370                 Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
0371                 Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
0372                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0373                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0374             )
0375         ),
0376         GenMET = cms.PSet(
0377             sels = cms.PSet(),
0378             plots = cms.VPSet(
0379                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0380                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0381             )
0382         ),
0383         GenPart = cms.PSet(
0384             sels = cms.PSet(),
0385             plots = cms.VPSet(
0386                 Count1D('_size', 40, -0.5, 124.5, 'interesting gen particles '),
0387                 Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
0388                 NoPlot('genPartIdxMother'),
0389                 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'),
0390                 Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
0391                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0392                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0393                 Plot1D('iso', 'iso', 20, 0, 200, 'iso'),
0394                 Plot1D('status', 'status', 20, 0, 100, 'Particle status. 1=stable'),
0395                 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),
0396             )
0397         ),
0398         GenVtx = cms.PSet(
0399             sels = cms.PSet(),
0400             plots = cms.VPSet(
0401                 Plot1D('x', 'x', 50, -0.5, 0.5, 'Gen vertex x position'),
0402                 Plot1D('y', 'y', 50, -0.5, 0.5, 'Gen vertex y position'),
0403                 Plot1D('z', 'z', 30, -15, 15, 'Gen vertex z position'),
0404                 Plot1D('t0', 't0', 20, -1, 1, 'Gen vertex time (t0)'),
0405             )
0406         ),
0407         GenVisTau = cms.PSet(
0408             sels = cms.PSet(),
0409             plots = cms.VPSet(
0410                 Count1D('_size', 4, -0.5, 3.5, 'gen hadronic taus '),
0411                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'charge'),
0412                 Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
0413                 NoPlot('genPartIdxMother'),
0414                 Plot1D('mass', 'mass', 20, 0, 2, 'mass'),
0415                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0416                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0417                 Plot1D('status', 'status', 16, -0.5, 15.5, 'Hadronic tau decay mode. 0=OneProng0PiZero, 1=OneProng1PiZero, 2=OneProng2PiZero, 10=ThreeProng0PiZero, 11=ThreeProng1PiZero, 15=Other'),
0418             )
0419         ),
0420         IsoTrack = cms.PSet(
0421             sels = cms.PSet(),
0422             plots = cms.VPSet(
0423                 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'),
0424                 Plot1D('dxy', 'dxy', 20, -0.02, 0.02, 'dxy (with sign) wrt first PV, in cm'),
0425                 Plot1D('dz', 'dz', 20, -0.09, 0.09, 'dz (with sign) wrt first PV, in cm'),
0426                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0427                 Plot1D('fromPV', 'fromPV', 5, -1.5, 3.5, 'provenance from primary vertex'),
0428                 Plot1D('isFromLostTrack', 'isFromLostTrack', 2, -0.5, 1.5, 'if isolated track comes from a lost track'),
0429                 Plot1D('isHighPurityTrack', 'isHighPurityTrack', 2, -0.5, 1.5, 'track is high purity'),
0430                 Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'if isolated track is a PF candidate'),
0431                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 2, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0432                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 2, 'mini PF relative isolation, charged component'),
0433                 Plot1D('pdgId', 'pdgId', 20, -300, 300, 'PDG id of PF cand'),
0434                 Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
0435                 Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
0436                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0437                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0438                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge')
0439             )
0440         ),
0441         Jet = cms.PSet(
0442             sels = cms.PSet(
0443                 CentralPt30 = cms.string('abs(eta) < 2.4 && pt > 30'),
0444                 ForwardPt30 = cms.string('abs(eta) > 2.4 && pt > 30')
0445             ),
0446             plots = cms.VPSet(
0447                 Count1D('_size', 20, -0.5, 19.5, 'slimmedJets, i.e. ak4 PFJets CHS with JECs applied, after basic selection (pt > 15)'),
0448                 Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
0449                 Plot1D('bRegCorr', 'bRegCorr', 20, 0, 3, 'pt correction for b-jet energy regression'),
0450                 Plot1D('bRegRes', 'bRegRes', 20, 0, 0.6, 'res on pt corrected with b-jet regression'),
0451                 Plot1D('btagDeepFlavB', 'btagDeepFlavB', 20, 0, 1, 'DeepFlavour b+bb tag discriminator'),
0452                 Plot1D('btagDeepFlavC', 'btagDeepFlavC', 20, 0, 1, 'DeepFlavour charm tag discriminator'),
0453                 Plot1D('btagDeepFlavCvB', 'btagDeepFlavCvB', 20, -1, 1, 'DeepJet c vs b+bb+lepb discriminator'),
0454                 Plot1D('btagDeepFlavCvL', 'btagDeepFlavCvL', 20, -1, 1, 'DeepJet c vs uds+g discriminator'),
0455                 Plot1D('btagDeepFlavQG', 'btagDeepFlavQG', 20, -1, 1, 'DeepJet g vs uds discriminator'),
0456                 Plot1D('btagUParTAK4B', 'btagUParTAK4B', 20, 0, 1, 'UnifiedParT b vs. udscg discriminator'),
0457                 Plot1D('btagUParTAK4CvB', 'btagUParTAK4CvB', 20, -1, 1, 'UnifiedParT c vs. b  discriminator'),
0458                 Plot1D('btagUParTAK4CvL', 'btagUParTAK4CvL', 20, -1, 1, 'UnifiedParT c vs. udsg  discriminator'),
0459                 Plot1D('btagUParTAK4SvCB', 'btagUParTAK4SvCB', 20, -1, 1, 'UnifiedParT s vs. bc  discriminator'),
0460                 Plot1D('btagUParTAK4SvUDG', 'btagUParTAK4SvUDG', 20, -1, 1, 'UnifiedParT s vs. udg  discriminator'),
0461                 Plot1D('btagUParTAK4UDG', 'btagUParTAK4UDG', 30, 0, 3, 'UnifiedParT u+d+g raw score'),
0462                 Plot1D('btagUParTAK4QG', 'btagUParTAK4QG', 20, -1, 1, 'UnifiedParT q (uds) vs. g discriminator'),
0463                 Plot1D('btagUParTAK4TauVJet', 'btagUParTAK4TauVJet', 20, -1, 1, 'UnifiedParT tau vs. jet discriminator'),
0464                 Plot1D('btagUParTAK4CvNotB', 'btagUParTAK4CvNotB', 20, 0, 1, 'UnifiedParT C vs notB discriminator'),
0465                 Plot1D('btagUParTAK4Ele', 'btagUParTAK4Ele', 20, -1, 1, 'UnifiedParT electron raw score'),
0466                 Plot1D('btagUParTAK4Mu', 'btagUParTAK4Mu', 20, -1, 1, 'UnifiedParT muon raw score'),
0467                 Plot1D('cRegCorr', 'cRegCorr', 20, 0.6, 2, 'pt correction for c-jet energy regression'),
0468                 Plot1D('cRegRes', 'cRegRes', 20, 0.05, 0.4, 'res on pt corrected with c-jet regression'),
0469                 Plot1D('btagPNetB', 'btagPNetB', 20, 0, 1, 'ParticleNet b tag discriminator'),
0470                 Plot1D('btagPNetCvL', 'btagPNetCvL', 20, 0, 1, 'ParticleNet c vs. light (udsg) discriminator'),
0471                 Plot1D('btagPNetCvB', 'btagPNetCvB', 20, 0, 1, 'ParticleNet c vs. b discriminator'),
0472                 Plot1D('btagPNetCvNotB', 'btagPNetCvNotB', 20, 0, 1, 'ParticleNet C vs notB discriminator'),
0473                 Plot1D('btagPNetQvG', 'btagPNetQvG', 20, 0, 1, 'ParticleNet quark (udsbc) vs. gluon discriminator'),
0474                 Plot1D('btagPNetTauVJet', 'btagPNetTauVJet', 20, 0, 1, 'ParticleNet tau vs. jet discriminator'),
0475                 Plot1D('PNetRegPtRawCorr', 'PNetRegPtRawCorr', 20, 0, 2, 'ParticleNet visible pT regression, correction relative to raw pT'),
0476                 Plot1D('PNetRegPtRawCorrNeutrino', 'PNetRegPtRawCorrNeutrino', 20, 0, 2, 'ParticleNet neutrino pT correction, relative to regressed visible pT'),
0477                 Plot1D('PNetRegPtRawRes', 'PNetRegPtRawRes', 20, 0, 0.5, 'ParticleNet per-jet resolution estimator: (q84 - q16)/2'),
0478                 Plot1D('puIdDisc', 'puIdDisc', 20, -1., 1., 'Pileup ID BDT discriminant with 133X Winter24 PuppiV18 training'),
0479                 Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
0480                 Plot1D('chFPV0EF', 'chFPV0EF', 20, 0, 2, 'charged fromPV==0 Energy Fraction (energy excluded from CHS jets). Previously called betastar.'),
0481                 Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
0482                 NoPlot('electronIdx1'),
0483                 NoPlot('electronIdx2'),
0484                 Plot1D('eta', 'eta', 20, -6, 6, 'eta'),
0485                 NoPlot('genJetIdx'),
0486                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0487                 Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
0488                 Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
0489                 NoPlot('muonIdx1'),
0490                 NoPlot('muonIdx2'),
0491                 Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
0492                 Plot1D('muonSubtrDeltaEta', 'muonSubtrDeltaEta', 40, -0.4, 0.4, 'muon-subtracted raw eta - eta'),
0493                 Plot1D('muonSubtrDeltaPhi', 'muonSubtrDeltaPhi', 40, -0.4, 0.4, 'muon-subtracted raw phi - phi'),
0494                 Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
0495                 Plot1D('chMultiplicity', 'chMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of charged particles in the jet'),
0496                 Plot1D('neMultiplicity', 'neMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of neutral particles in the jet'),
0497                 Plot1D('nElectrons', 'nElectrons', 5, -0.5, 4.5, 'number of electrons in the jet'),
0498                 Plot1D('nMuons', 'nMuons', 4, -0.5, 3.5, 'number of muons in the jet'),
0499                 Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
0500                 Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
0501                 Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
0502                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0503                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0504                 Plot1D('puId', 'puId', 8, -0.5, 7.5, 'Pilup ID flags'),
0505                 Plot1D('puIdDisc', 'puIdDisc', 20, -1, 1, 'Pilup ID discriminant with 102X (2018) training'),
0506                 Plot1D('qgl', 'qgl', 20, 0, 1, 'Quark vs Gluon likelihood discriminator'),
0507                 Plot1D('hfHEF', 'hfHEF',  20, 0, 1, 'hadronic Energy Fraction in HF'),
0508                 Plot1D('hfEmEF', 'hfEmEF', 20, 0, 1, 'electromagnetic Energy Fraction in HF'),
0509                 Plot1D('hfsigmaEtaEta', 'hfsigmaEtaEta', 20, 0, 0.2, 'sigmaEtaEta for HF jets (noise discriminating variable)'),
0510                 Plot1D('hfsigmaPhiPhi', 'hfsigmaPhiPhi', 20, 0, 0.2, 'sigmaPhiPhi for HF jets (noise discriminating variable)'),
0511                 Plot1D('hfcentralEtaStripSize', 'hfcentralEtaStripSize', 10, 0, 10, 'eta size of the central tower strip in HF (noise discriminating variable)'),
0512                 Plot1D('hfadjacentEtaStripsSize', 'hfadjacentEtaStripsSize', 10, 0, 10, 'eta size of the strips next to the central tower strip in HF (noise discriminating variable)'),
0513                 Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
0514             )
0515         ),
0516         LHEPart = cms.PSet(
0517             sels = cms.PSet(),
0518             plots = cms.VPSet(
0519                 Count1D('_size', 20, 0, 20, 'LHE particles'),
0520                 Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
0521                 Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
0522                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0523                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0524             )
0525         ),
0526         LHEPdfWeight = cms.PSet(
0527             sels = cms.PSet(),
0528             plots = cms.VPSet(
0529                 Count1D('_size', 1000, 0, 2000, 'LHE PDF weights'),
0530                 Plot1D('', '', 100, 0, 2, 'all weights'),
0531             )
0532         ),
0533         LHEScaleWeight = cms.PSet(
0534             sels = cms.PSet(),
0535             plots = cms.VPSet(
0536                 Count1D('_size', 20, 0, 20, 'LHE scale weights'),
0537                 Plot1D('', '', 100, 0, 2, 'all weights'),
0538             )
0539         ),
0540         PFMET = cms.PSet(
0541             sels = cms.PSet(),
0542             plots = cms.VPSet(
0543                 Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
0544                 Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
0545                 Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
0546                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0547                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0548                 Plot1D('significance', 'significance', 20, 0, 200, 'MET significance'),
0549                 Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
0550                 Plot1D('sumPtUnclustered', 'sumPtUnclustered', 20, 0, 3000, 'sumPt used for MET significance'),
0551 
0552                 Plot1D('ptUnclusteredUp', 'ptUnclusteredUp', 20, 0, 400, 'pt Unclustered Up'),
0553                 Plot1D('ptUnclusteredDown', 'ptUnclusteredDown', 20, 0, 400, 'pt Unclustered Down'),
0554                 Plot1D('phiUnclusteredUp', 'phiUnclusteredUp', 20, -3.14159, 3.14159, 'phi Unclustered Up'),
0555                 Plot1D('phiUnclusteredDown', 'phiUnclusteredDown', 20, -3.14159, 3.14159, 'phi Unclustered Down'),
0556 
0557             )
0558         ),
0559        
0560         FiducialMET = cms.PSet(
0561             sels = cms.PSet(),
0562             plots = cms.VPSet(
0563                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0564                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0565                 )
0566         ),
0567 
0568         Muon = cms.PSet(
0569             sels = cms.PSet(
0570                 Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && mediumId && miniPFRelIso_all < 0.4')
0571             ),
0572             plots = cms.VPSet(
0573                 Count1D('_size', 5, -0.5, 4.5, 'slimmedMuons after basic selection (pt > 3 && track.isNonnull && isLooseMuon)'),
0574                 Plot1D('bsConstrainedPt', '', 20, 0., 200., 'pt with beamspot constraint'),
0575                 Plot1D('bsConstrainedPtErr', '', 20, 0., 20., 'pt error w. beamspot constraint'),
0576                 Plot1D('bsConstrainedChi2', '', 20, 0., 40., 'chi2 of beamspot constraint'),
0577                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0578                 Plot1D('tuneP_charge', 'tuneP_charge', 3, -1.5, 1.5, 'charge from the tuneP algorithm'),
0579                 Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
0580                 Plot1D('dxyErr', 'dxyErr', 20, 0, 0.1, 'dxy uncertainty, in cm'),
0581                 Plot1D('dxybs', 'dxybs', 20, -0.1, 0.1, 'dxy (with sign) wrt the beam spot, in cm'),
0582                 Plot1D('dxybsErr', 'dxybsErr', 20, 0, 0.1, 'uncertainty on dxy (with sign) wrt the beam spot, in cm'),
0583                 Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
0584                 Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
0585                 Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
0586                 NoPlot('fsrPhotonIdx'),
0587                 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'),
0588                 NoPlot('genPartIdx'),
0589                 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)'),
0590                 Plot1D('highPurity', 'highPurity', 2, -0.5, 1.5, 'inner track is high purity'),
0591                 Plot1D('inTimeMuon', 'inTimeMuon', 2, -0.5, 1.5, 'inTimeMuon ID'),
0592                 Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
0593                 Plot1D('isGlobal', 'isGlobal', 2, -0.5, 1.5, 'muon is global muon'),
0594                 Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'muon is PF candidate'),
0595                 Plot1D('isTracker', 'isTracker', 2, -0.5, 1.5, 'muon is tracker muon'),
0596                 Plot1D('isStandalone', 'isStandalone', 2, -0.5, 1.5, 'muon is a standalone muon'),
0597                 NoPlot('jetIdx'),
0598                 Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 30, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
0599                 Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1), -1 if none'),
0600                 Plot1D('jetDF', 'jetDF', 20, 0., 1., 'value of the DEEPJET b tagging algorithm discriminator of the associated jet (0 if none)'),
0601                 Plot1D('looseId', 'looseId', 2, -0.5, 1.5, 'muon is loose muon'),
0602                 NoPlot('mass'),
0603                 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)'),
0604                 Plot1D('mediumPromptId', 'mediumPromptId', 2, -0.5, 1.5, 'cut-based ID, medium prompt WP'),
0605                 Plot1D('miniIsoId', 'miniIsoId', 5, -0.5, 4.5, 'MiniIso ID from miniAOD selector (1=MiniIsoLoose, 2=MiniIsoMedium, 3=MiniIsoTight, 4=MiniIsoVeryTight)'),
0606                 Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
0607                 Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
0608                 Plot1D('multiIsoId', 'multiIsoId', 3, -0.5, 2.5, 'MultiIsoId from miniAOD selector (1=MultiIsoLoose, 2=MultiIsoMedium)'),
0609                 Plot1D('mvaLowPt', 'mvaLowPt', 20, -1, 1, 'Low pt muon ID score'),
0610                 Plot1D('promptMVA', 'promptMVA', 20, -1, 1, 'prompt MVA lepton ID score'),
0611                 Plot1D('mvaMuID', 'mvaMuID', 20, 0, 1, 'Score of MVA-based muon ID'),
0612                 Plot1D('mvaMuID_WP', 'mvaMuID_WP',  3, -0.5, 2.5, 'MVA-based ID selector WPs (1=MVAIDwpMedium,2=MVAIDwpTight)'),
0613                 Plot1D('nStations', 'nStations', 5, -0.5, 4.5, 'number of matched stations with default arbitration (segment & track)'),
0614                 Plot1D('nTrackerLayers', 'nTrackerLayers', 15, 2.5, 17.5, 'number of layers in the tracker'),
0615                 Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
0616                 Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0617                 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)'),
0618                 Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
0619                 Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
0620                 Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (deltaBeta corrections)'),
0621                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0622                 Plot1D('pnScore_heavy', 'pnScore_heavy', 40, -1, 1, 'PNet muon ID score for lepton from B or D hadrons'),
0623                 Plot1D('pnScore_light', 'pnScore_light', 40, -1, 1, 'PNet muon ID score for lepton from hadrons w/o b or c quarks OR w/o generator matching'),
0624                 Plot1D('pnScore_prompt', 'pnScore_prompt', 40, -1, 1, 'PNet muon ID score for lepton from W/Z/H bosons'),
0625                 Plot1D('pnScore_tau', 'pnScore_tau', 40, -1, 1, 'PNet muon ID score for decay of tau to light leptons (mu)'),
0626                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0627                 Plot1D('ptErr', 'ptErr', 20, 0, 20, 'ptError of the muon track'),
0628                 Plot1D('segmentComp', 'segmentComp', 20, 0, 1, 'muon segment compatibility'),
0629                 Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV'),
0630                 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)'),
0631                 Plot1D('softMva', 'softMva', 20, -1, 1, 'soft MVA ID score'),
0632                 Plot1D('softMvaRun3', 'softMvaRun3', 20, 0, 1, 'soft MVA ID score for Run3'),
0633                 Plot1D('softMvaId', 'softMvaId', 2, -0.5, 1.5, 'soft MVA ID'),
0634                 Plot1D('tightCharge', 'tightCharge', 1, 1.5, 2.5, 'Tight charge criterion using pterr/pt of muonBestTrack (0:fail, 2:pass)'),
0635                 Profile1D('tightId', 'tightId', 'pt', 16, 0, 80, 'POG Tight muon ID'),
0636                 Plot1D('tkIsoId', 'tkIsoId', 3, -0.5, 2.5, 'TkIso ID (1=TkIsoLoose, 2=TkIsoTight)'),
0637                 Plot1D('tkRelIso', 'tkRelIso', 100, 0, 1, 'Tracker-based relative isolation dR=0.3 for highPt, trkIso/tunePpt'),
0638                 Plot1D('triggerIdLoose', 'triggerIdLoose', 2, -0.5, 1.5, 'TriggerIdLoose ID'),
0639                 Plot1D('tunepRelPt', 'tunepRelPt', 200, 0, 200, 'TuneP relative pt, tunePpt/pt'),
0640                 Plot1D('tuneP_pterr', 'tuneP_pterr', 200, 0, 20, 'pTerr from tunePMuonBestTrack'),
0641                 Plot1D('VXBS_Cov00', 'VXBS_Cov00', 200, -10, 10, '0, 0 element of the VXBS Covariance matrix'),
0642                 Plot1D('VXBS_Cov03', 'VXBS_Cov03', 200, -10, 10, '0, 3 element of the VXBS Covariance matrix'),
0643                 Plot1D('VXBS_Cov33', 'VXBS_Cov33', 200, -10, 10, '3, 3 element of the VXBS Covariance matrix'),
0644             )
0645         ),
0646         OtherPV = cms.PSet(
0647             sels = cms.PSet(),
0648             plots = cms.VPSet(
0649                 NoPlot('_size'),
0650                 Plot1D('z', 'z', 20, -20, 20, 'Z position of other primary vertices, excluding the main PV'),
0651                 Plot1D('score', 'score', 20, 0, 300000, 'scores of other primary vertices, excluding the main PV'),
0652             )
0653         ),
0654         PPSLocalTrack = cms.PSet(
0655             sels = cms.PSet(),
0656             plots = cms.VPSet(
0657                 Count1D('_size', 26, -0.5, 25.5, 'ppsLocalTrack variables'),
0658                 Plot1D('decRPId', 'decRPId', 20, 0, 200, 'local track detector dec id'),
0659                 NoPlot('multiRPProtonIdx'),
0660                 Plot1D('rpType', 'rpType', 2, 3.5, 5.5, 'strip=3, pixel=4, diamond=5, timing=6'),
0661                 Plot1D('time', 'time', 20, -2, 2, 'local track time'),
0662                 Plot1D('timeUnc', 'timeUnc', 20, 0, 0.3, 'local track time uncertainty'),
0663                 Plot1D('x', 'x', 20, 2, 30, 'local track x'),
0664                 Plot1D('y', 'y', 20, -20, 20, 'local track y'),
0665             )
0666         ),
0667         PSWeight = cms.PSet(
0668             sels = cms.PSet(),
0669             plots = cms.VPSet(
0670                 Plot1D('', '', 20, 0, 2, 'All PS weights (w_var / w_nominal)'),
0671                 Count1D('_size', 46, -0.5, 45.5, 'Number of PS weights'),
0672             )
0673         ),
0674         PV = cms.PSet(
0675             sels = cms.PSet(),
0676             plots = cms.VPSet(
0677                 Plot1D('chi2', 'chi2', 20, 0.5, 3, 'main primary vertex reduced chi2'),
0678                 Plot1D('ndof', 'ndof', 20, 0, 500, 'main primary vertex number of degree of freedom'),
0679                 Plot1D('npvs', 'npvs', 20, 0, 60, 'total number of reconstructed primary vertices'),
0680                 Plot1D('npvsGood', 'npvsGood', 20, 0, 60, 'total number of Good primary vertices'),
0681                 Plot1D('score', 'score', 20, 0, 300000, 'main primary vertex score, i.e. sum pt2 of clustered objects'),
0682                 Plot1D('sumpt2', 'sumpt2', 100, 0, 300000, 'main primary vertex sum pt2 of the charged pf candidates'),
0683                 Plot1D('sumpx', 'sumpx', 20, -100, 100, 'main primary vertex sum px of the charged pf candidates'),
0684                 Plot1D('sumpy', 'sumpy', 20, -100, 100, 'main primary vertex sum py of the charged pf candidates'),
0685                 Plot1D('x', 'x', 20, -0.3, 0.3, 'main primary vertex position x coordinate'),
0686                 Plot1D('y', 'y', 20, -0.3, 0.3, 'main primary vertex position y coordinate'),
0687                 Plot1D('z', 'z', 20, -20, 20, 'main primary vertex position z coordinate'),
0688             )
0689         ),
0690         Photon = cms.PSet(
0691             sels = cms.PSet(),
0692             plots = cms.VPSet(
0693                 Count1D('_size', 9, -0.5, 8.5, 'slimmedPhotons after basic selection (pt > 5 )'),
0694                 Plot1D('charge', 'charge', 1, -0.5, 0.5, 'electric charge'),
0695                 Plot1D('cutBased', 'cutBased', 4, -0.5, 3.5,'cut-based ID bitmap, (0:fail, 1:loose, 2:medium, 3:tight)'),
0696                 Plot1D('cutBased_Fall17V2', 'cutBased_Fall17V2', 4, -0.5, 3.5, 'cut-based ID bitmap, Fall17V2, (0:fail, 1:loose, 2:medium, 3:tight)'),
0697                 NoPlot('electronIdx'),
0698                 Plot1D('electronVeto', 'electronVeto', 2, -0.5, 1.5, 'pass electron veto'),
0699                 Plot1D('energyErr', 'energyErr', 20, 0, 300, 'energy error of the cluster from regression'),
0700                 Plot1D('energyRaw', 'energyRaw', 100, 0, 300, 'raw energy of photon supercluster'),
0701                 Plot1D('superclusterEta', 'superclusterEta', 20, -3, 3, 'supercluster eta'),
0702                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0703                 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'),
0704                 NoPlot('genPartIdx'),
0705                 Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
0706                 Plot1D('hoe_Tower', 'hoe_Tower', 20, 0, 0.6, 'H over E Tower based calculation'),
0707                 Plot1D('hoe_PUcorr', 'hoe_PUcorr', 20, 0, 0.6, 'H over E with PU correction'),
0708                 Plot1D('isScEtaEB', 'isScEtaEB', 2, -0.5, 1.5, 'is supercluster eta within barrel acceptance'),
0709                 Plot1D('isScEtaEE', 'isScEtaEE', 2, -0.5, 1.5, 'is supercluster eta within endcap acceptance'),
0710                 NoPlot('jetIdx'),
0711                 NoPlot('mass'),
0712                 Plot1D('mvaID', 'mvaID', 20, -1, 1, 'MVA ID score'),
0713                 Plot1D('mvaID_WP80', 'mvaID_WP80', 2, -0.5, 1.5, 'MVA ID WP80'),
0714                 Plot1D('mvaID_WP90', 'mvaID_WP90', 2, -0.5, 1.5, 'MVA ID WP90'),
0715                 Plot1D('mvaID_Fall17V2', 'mvaID_Fall17V2', 20, -1, 1, 'Fall17V2 MVA ID score'),
0716                 Plot1D('mvaID_Fall17V2_WP80', 'mvaID_WP80_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP80'),
0717                 Plot1D('mvaID_Fall17V2_WP90', 'mvaID_WP90_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP90'),
0718                 Plot1D('trkSumPtHollowConeDR03', 'trkSumPtHollowConeDR03', 100, 0, 8, 'Sum of track pT in a hollow cone of outer radius, inner radius'),
0719                 Plot1D('trkSumPtSolidConeDR04', 'trkSumPtSolidConeDR04', 100, 0, 8, 'Sum of track pT in a cone of dR=0.4'),
0720                 Plot1D('ecalPFClusterIso', 'ecalPFClusterIso', 100, 0, 10, 'sum pt of ecal clusters, vetoing clusters part of photon'),
0721                 Plot1D('hcalPFClusterIso', 'hcalPFClusterIso', 100, 0, 10, 'sum pt of hcal clusters, vetoing clusters part of photon'),
0722                 Plot1D('pfPhoIso03', 'pfPhoIso03', 100, 0, 1, 'PF absolute isolation dR=0.3, photon component (uncorrected)'),
0723                 Plot1D('pfChargedIso', 'pfChargedIso', 100, 0, 10, 'PF absolute isolation dR=0.3, charged component with dxy,dz match to PV'),
0724                 Plot1D('pfChargedIsoPFPV', 'pfChargedIsoPFPV', 100, 0, 5, 'PF absolute isolation dR=0.3, charged component (PF PV only)'),
0725                 Plot1D('pfChargedIsoWorstVtx', 'pfChargedIsoWorstVtx', 100, 0, 10,'PF absolute isolation dR=0.3, charged component (Vertex with largest isolation)'),
0726                 Plot1D('pdgId', 'pdgId', 1, 21.5, 22.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0727                 Plot1D('pfRelIso03_all_Fall17V2', 'pfRelIso03_all_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU Fall17V2 corrections)'),
0728                 Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU Fall17V2 corrections)'),
0729                 Plot1D('pfRelIso03_all_quadratic', 'pfRelIso03_all_quadratic', 20, 0, 2, 'PF relative isolation dR=0.3, total (with quadraticEA*rho*rho + linearEA*rho corrections)'),
0730                 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)'),
0731                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0732                 Plot1D('pixelSeed', 'pixelSeed', 2, -0.5, 1.5, 'has pixel seed'),
0733                 Plot1D('hasConversionTracks', 'hasConversionTracks', 2, -0.5, 1.5, 'Variable specifying if photon has associated conversion tracks (one-legged or two-legged)'),
0734                 Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
0735                 Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
0736                 Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
0737                 Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
0738                 Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
0739                 Plot1D('sieie', 'sieie', 100, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
0740                 Plot1D('sipip', 'sipip', 100, 0, 0.05, 'sigmaIphiIphi of the supercluster'),
0741                 Plot1D('sieip', 'sieip', 100, -0.0002, 0.0002, 'sigma_IetaIphi of the supercluster, calculated with full 5x5 region'),
0742                 Plot1D('s4', 's4', 100, 0.4, 1, 'e2x2/e5x5 of the supercluster, calculated with full 5x5 region'),
0743                 Plot1D('etaWidth', 'etaWidth', 100, 0, 0.03, 'Width of the photon supercluster in eta'),
0744                 Plot1D('phiWidth', 'phiWidth', 100, 0, 0.1, 'Width of the photon supercluster in phi'),
0745                 Plot1D('x_calo', 'x_calo', 100, -150, 150, 'photon supercluster position on calorimeter, x coordinate (cm)'),
0746                 Plot1D('y_calo', 'y_calo', 100, -150, 150, 'photon supercluster position on calorimeter, y coordinate (cm)'),
0747                 Plot1D('z_calo', 'z_calo', 100, -330, 330, 'photon supercluster position on calorimeter, y coordinate (cm)'),
0748                 Plot1D('esEffSigmaRR', 'esEffSigmaRR', 100, 0, 10, 'preshower sigmaRR'),
0749                 Plot1D('esEnergyOverRawE', 'esEnergyOverRawE', 100, 0, 0.2, 'ratio of preshower energy to raw supercluster energy'),
0750                 NoPlot('vidNestedWPBitmap'),
0751                 NoPlot('vidNestedWPBitmap_Fall17V2'),
0752             )
0753         ),
0754         Proton_multiRP = cms.PSet(
0755             sels = cms.PSet(),
0756             plots = cms.VPSet(
0757                 Count1D('_size', 3, -0.5, 2.5, 'bon'),
0758                 Plot1D('arm', 'arm', 2, -0.5, 1.5, '0 = sector45, 1 = sector56'),
0759                 Plot1D('t', 't', 20, -500, -0.003, 'Mandelstam variable t'),
0760                 Plot1D('thetaX', 'thetaX', 20, -0.0004, 0.0004, 'scattering angle in the y direction'),
0761                 Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
0762                 Plot1D('time', 'time', 20, -1000, -1000, 'time'),
0763                 Plot1D('timeUnc', 'timeUnc', 20, 0, 0, 'time uncertainty'),
0764                 Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
0765             )
0766         ),
0767         Proton_singleRP = cms.PSet(
0768             sels = cms.PSet(),
0769             plots = cms.VPSet(
0770                 Count1D('_size', 3, -0.5, 2.5, 'bon'),
0771                 Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
0772                 Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
0773                 Plot1D('decRPId', 'decRPId', 20, 0, 200, 'Detector ID'),
0774             )
0775         ),
0776         Pileup = cms.PSet(
0777             sels = cms.PSet(),
0778             plots = cms.VPSet(
0779                 Plot1D('gpudensity', 'gpudensity', 20, 0, 0.9, 'Generator-level PU vertices / mm'),
0780                 Plot1D('nPU', 'nPU', 20, 0, 60, 'the number of pileup interactions that have been added to the event in the current bunch crossing'),
0781                 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'),
0782                 Plot1D('pudensity', 'pudensity', 5, -0.5, 4.5, 'PU vertices / mm'),
0783                 Plot1D('sumEOOT', 'sumEOOT', 20, 0, 800, 'number of early out of time pileup'),
0784                 Plot1D('sumLOOT', 'sumLOOT', 20, 0, 300, 'number of late out of time pileup'),
0785                 Plot1D('pthatmax','pthatmax',20, 0, 400, 'Maximum pt-hat'),
0786             )
0787         ),
0788         PuppiMET = cms.PSet(
0789             sels = cms.PSet(),
0790             plots = cms.VPSet(
0791 
0792                 Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
0793                 Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
0794                 Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
0795                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0796                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0797                 Plot1D('significance', 'significance', 20, 0, 200, 'PuppiMET significance'),
0798                 Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
0799                 Plot1D('sumPtUnclustered', 'sumPtUnclustered', 20, 0, 3000, 'sumPt used for PuppiMET significance'),
0800                 
0801                 Plot1D('ptUnclusteredUp', 'ptUnclusteredUp', 20, 0, 400, 'pt Unclustered Up'),
0802                 Plot1D('ptUnclusteredDown', 'ptUnclusteredDown', 20, 0, 400, 'pt Unclustered Down'),
0803                 Plot1D('phiUnclusteredUp', 'phiUnclusteredUp', 20, -3.14159, 3.14159, 'phi Unclustered Up'),
0804                 Plot1D('phiUnclusteredDown', 'phiUnclusteredDown', 20, -3.14159, 3.14159, 'phi Unclustered Down'),
0805             )
0806         ),
0807         RawPFMET = cms.PSet(
0808             sels = cms.PSet(),
0809             plots = cms.VPSet(
0810                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0811                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0812                 Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
0813             )
0814         ),
0815         RawPuppiMET = cms.PSet(
0816             sels = cms.PSet(),
0817             plots = cms.VPSet(
0818                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0819                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0820                 Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
0821             )
0822         ),
0823         SV = cms.PSet(
0824             sels = cms.PSet(),
0825             plots = cms.VPSet(
0826                 Count1D('_size', 14, -0.5, 13.5),
0827                 Plot1D('chi2', 'chi2', 20, -2000, 2000, 'reduced chi2, i.e. chi/ndof'),
0828                 Plot1D('dlen', 'dlen', 20, 0, 4, 'decay length in cm'),
0829                 Plot1D('dlenSig', 'dlenSig', 20, 0, 50, 'decay length significance'),
0830                 Plot1D('dxy', 'dxy', 20, 0, 4, '2D decay length in cm'),
0831                 Plot1D('dxySig', 'dxySig', 20, 0, 50, '2D decay length significance'),
0832                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0833                 Plot1D('mass', 'mass', 20, 0, 8, 'mass'),
0834                 Plot1D('ndof', 'ndof', 20, -1, 19, 'number of degrees of freedom'),
0835                 Plot1D('pAngle', 'pAngle', 20, -3.1416, 3.1416, 'pointing angle, i.e. acos(p_SV * (SV - PV)) '),
0836                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0837                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0838                 Plot1D('x', 'x', 20, -0.5, 0.5, 'secondary vertex X position, in cm'),
0839                 Plot1D('y', 'y', 20, -0.5, 0.5, 'secondary vertex Y position, in cm'),
0840                 Plot1D('z', 'z', 20, -10, 10, 'secondary vertex Z position, in cm'),
0841                 Plot1D('ntracks', 'ntracks', 11, -0.5, 10.5, 'number of tracks'),
0842                 Plot1D('charge', 'charge', 11 , -0.5, 10.5, 'sum of the charge of the SV tracks'),
0843             )
0844         ),
0845         SoftActivityJet = cms.PSet(
0846             sels = cms.PSet(),
0847             plots = cms.VPSet(
0848                 Count1D('_size', 7, -0.5, 6.5, 'jets clustered from charged candidates compatible with primary vertex (charge()!=0 && pvAssociationQuality()>=5 && vertexRef().key()==0)'),
0849                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0850                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0851                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0852             )
0853         ),
0854         SubJet = cms.PSet(
0855             sels = cms.PSet(),
0856             plots = cms.VPSet(
0857                 Count1D('_size', 9, -0.5, 8.5, 'slimmedJetsAK8PFPuppiSoftDropPacked::SubJets, i.e. soft-drop subjets for ak8 fat jets for boosted'),
0858                 Plot1D('btagDeepFlavB', 'btagDeepFlavB', 20, -1, 1, 'DeepJet b+bb+lepb tag discriminator'),
0859                 Plot1D('btagUParTAK4B', 'btagUParTAK4B', 20, -1, 1, 'UnifiedParT b vs. udscg'),
0860                 Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
0861                 Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
0862                 Plot1D('mass', 'mass', 20, -200, 200, 'mass'),
0863                 Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
0864                 Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
0865                 Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
0866                 Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
0867                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0868                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0869                 Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
0870                 Plot1D('area', 'area', 25, 0, 2.5, 'jet catchment area, for JECs'),
0871                 Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
0872                 Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
0873                 Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
0874                 Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
0875                 NoPlot('subGenJetAK8Idx'),
0876             )
0877         ),
0878         Tau = cms.PSet(
0879             sels = cms.PSet(),
0880             plots = cms.VPSet(
0881                 Count1D('_size', 7, -0.5, 6.5, "slimmedTaus after basic selection (pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT')))"),
0882                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0883                 Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
0884                 Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
0885                 Plot1D('decayModePNet', 'decayModePNet', 13, -1.5, 11.5, 'decay mode of the highest PNet tau score (CHS jets)'),
0886                 Plot1D('decayModeUParT', 'decayModeUParT', 13, -1.5, 11.5, 'decay mode of the highest UParT tau score (PUPPI jets)'),
0887                 Plot1D('dxy', 'dxy', 20, -1000, 1000, 'd_{xy} of lead track with respect to PV, in cm (with sign)'),
0888                 Plot1D('dz', 'dz', 20, -20, 20, 'd_{z} of lead track with respect to PV, in cm (with sign)'),
0889                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0890                 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'),
0891                 NoPlot('genPartIdx'),
0892                 Plot1D('idAntiEleDeadECal', 'idAntiEleDeadECal', 2, -0.5, 1.5, "tauID('againstElectronDeadECAL')"),
0893                 Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
0894                 Plot1D('idDecayModeOldDMs', 'idDecayModeOldDMs', 2, -0.5, 1.5, "tauID('decayModeFinding')"),
0895                 Plot1D('idDecayModeNewDMs', 'idDecayModeNewDMs', 2, -0.5, 1.5, "tauID('decayModeFindingNewDMs')"),
0896                 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'),
0897                 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'),
0898                 Plot1D('idDeepTau2018v2p5VSmu', 'idDeepTau2018v2p5VSmu', 11, -0.5, 10.5, 'byDeepTau2018v2p5VSmu ID working points (deepTau2018v2p5): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
0899                 NoPlot('jetIdx'),
0900                 Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
0901                 Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
0902                 Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
0903                 Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
0904                 Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
0905                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0906                 Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
0907                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0908                 Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
0909                 Plot1D('rawDeepTau2018v2p5VSe', 'rawDeepTau2018v2p5VSe', 20, 0, 1, 'byDeepTau2018v2p5VSe raw output discriminator (deepTau2018v2p5)'),
0910                 Plot1D('rawDeepTau2018v2p5VSjet', 'rawDeepTau2018v2p5VSjet', 20, 0, 1, 'byDeepTau2018v2p5VSjet raw output discriminator (deepTau2018v2p5)'),
0911                 Plot1D('rawDeepTau2018v2p5VSmu', 'rawDeepTau2018v2p5VSmu', 20, 0, 1, 'byDeepTau2018v2p5VSmu raw output discriminator (deepTau2018v2p5)'),
0912                 Plot1D('rawPNetVSe', 'rawPNetVSe', 20, 0, 1, 'byPNetVSe raw output discriminator (PNet 2023 - CHS Jets)'),
0913                 Plot1D('rawPNetVSjet', 'rawPNetVSjet', 20, 0, 1, 'byPNetVSjet raw output discriminator (PNet 2023 - CHS Jets)'),
0914                 Plot1D('rawPNetVSmu', 'rawPNetVSmu', 20, 0, 1, 'byPNetVSmu raw output discriminator (PNet 2023 - CHS Jets)'),
0915                 Plot1D('rawUParTVSe', 'rawUParTVSe', 20, 0, 1, 'byUParTVSe raw output discriminator (UParT 2024 - PUPPI Jets)'),
0916                 Plot1D('rawUParTVSjet', 'rawUParTVSjet', 20, 0, 1, 'byUParTVSjet raw output discriminator (UParT 2024 - PUPPI Jets)'),
0917                 Plot1D('rawUParTVSmu', 'rawUParTVSmu', 20, 0, 1, 'byUParTVSmu raw output discriminator (UParT 2024 - PUPPI Jets)'),
0918                 Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
0919                 Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
0920                 Plot1D('ptCorrPNet', 'ptCorrPNet', 20, 0, 2, 'pt correction (PNet 2023 - CHS Jets)'),
0921                 Plot1D('qConfPNet', 'qConfPNet', 20, -0.5, 0.5, 'signed charge confidence (PNet 2023 - CHS Jets)'),
0922                 Plot1D('probDM0PNet', 'probDM0PNet', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (PNet 2023 - CHS Jets)'),
0923                 Plot1D('probDM1PNet', 'probDM1PNet', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (PNet 2023 - CHS Jets)'),
0924                 Plot1D('probDM2PNet', 'probDM2PNet', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (PNet 2023 - CHS Jets)'),
0925                 Plot1D('probDM10PNet', 'probDM10PNet', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (PNet 2023 - CHS Jets)'),
0926                 Plot1D('probDM11PNet', 'probDM11PNet', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (PNet 2023 - CHS Jets)'),
0927                 Plot1D('ptCorrUParT', 'ptCorrUParT', 20, 0, 2, 'pt correction (UParT 2024 - PUPPI Jets)'),
0928                 Plot1D('qConfUParT', 'qConfUUParT', 20, -0.5, 0.5, 'signed charge confidence (UParT 2024 - PUPPI Jets)'),
0929                 Plot1D('probDM0UParT', 'probDM0UParT', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (UParT 2024 - PUPPI Jets)'),
0930                 Plot1D('probDM1UParT', 'probDM1UParT', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (UParT 2024 - PUPPI Jets)'),
0931                 Plot1D('probDM2UParT', 'probDM2UParT', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (UParT 2024 - PUPPI Jets)'),
0932                 Plot1D('probDM10UParT', 'probDM10UParT', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (UParT 2024 - PUPPI Jets)'),
0933                 Plot1D('probDM11UParT', 'probDM11UParT', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (UParT 2024 - PUPPI Jets)'),
0934             )
0935         ),
0936         TauProd = cms.PSet(
0937             sels = cms.PSet(),
0938             plots = cms.VPSet(
0939                 Count1D('_size', 40, -0.5, 5.5, 'tau decay products'),
0940                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
0941                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0942                 Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
0943                 Plot1D('pdgId', 'pdgId', 200, -10250, 10250, 'PDG code assigned by the event reconstruction (not by MC truth)'),
0944                 NoPlot('status'),
0945             )
0946         ),        
0947         TrkMET = cms.PSet(
0948             sels = cms.PSet(),
0949             plots = cms.VPSet(
0950                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0951                 Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
0952                 Plot1D('sumEt', 'sumEt', 20, 0, 2000, 'scalar sum of Et'),
0953             )
0954         ),
0955         TrigObj = cms.PSet(
0956             sels = cms.PSet(
0957                 Electron = cms.string('id == 11'),
0958                 HT = cms.string('id == 3'),
0959                 Jet = cms.string('id == 1'),
0960                 MET = cms.string('id == 2'),
0961                 MHT = cms.string('id == 4'),
0962                 Muon = cms.string('id == 13'),
0963                 Photon = cms.string('id == 22'),
0964                 Tau = cms.string('id == 15')
0965             ),
0966             plots = cms.VPSet(
0967                 Count1D('_size', 28, -0.5, 27.5),
0968                 Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
0969                 Plot1D('filterBits', 'filterBits', 31, 0, 31, 'extra bits of associated information, object- and era-dependent: see branch documentation', bitset=True),
0970                 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'),
0971                 Plot1D('l1charge', 'l1charge', 3, -1.5, 1.5, 'charge of associated L1 seed'),
0972                 Plot1D('l1iso', 'l1iso', 4, -0.5, 3.5, 'iso of associated L1 seed'),
0973                 Plot1D('l1pt', 'l1pt', 20, 0, 200, 'pt of associated L1 seed'),
0974                 Plot1D('l1pt_2', 'l1pt_2', 20, 0, 200, 'pt of associated secondary L1 seed'),
0975                 Plot1D('l2pt', 'l2pt', 20, 0, 200, "pt of associated 'L2' seed (i.e. HLT before tracking/PF)"),
0976                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
0977                 Plot1D('pt', 'pt', 40, 0, 400, 'pt'),
0978             )
0979         ),
0980         boostedTau = cms.PSet(
0981             sels = cms.PSet(),
0982             plots = cms.VPSet(
0983                 Count1D('_size', 7, -0.5, 6.5, "slimmedBoostedTaus after basic selection (pt > 40 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2017v2DBoldDMwLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBnewDMwLT2017')))"),
0984                 Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
0985                 Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
0986                 Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
0987                 Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
0988                 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'),
0989                 NoPlot('genPartIdx'),
0990                 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'),
0991                 Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
0992                 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'),
0993                 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'),
0994                 NoPlot('jetIdx'),
0995                 Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
0996                 Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
0997                 Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
0998                 Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
0999                 Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
1000                 Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
1001                 Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
1002                 Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
1003                 Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
1004                 Plot1D('rawAntiEle2018', 'rawAntiEle2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 raw output discriminator (2018)'),
1005                 Plot1D('rawAntiEleCat2018', 'rawAntiEleCat2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 category (2018)'),
1006                 Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
1007                 Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
1008                 Plot1D('rawMVAnewDM2017v2', 'rawMVAnewDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBnewDMwLT raw output discriminator (2017v2)'),
1009                 Plot1D('rawMVAoldDM2017v2', 'rawMVAoldDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBoldDMwLT raw output discriminator (2017v2)'),
1010                 Plot1D('rawBoostedDeepTauRunIIv2p0VSe', 'rawBoostedDeepTauRunIIv2p0VSe', 20, 0, 1, 'BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs e'),
1011                 Plot1D('rawBoostedDeepTauRunIIv2p0VSjet', 'rawBoostedDeepTauRunIIv2p0VSjet', 20, 0, 1, 'BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs jet'),
1012                 Plot1D('rawBoostedDeepTauRunIIv2p0VSmu', 'rawBoostedDeepTauRunIIv2p0VSmu', 20, 0, 1, 'BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs mu'),
1013             )
1014         ),
1015         L1PreFiringWeight = cms.PSet(
1016             sels = cms.PSet(),
1017             plots = cms.VPSet(
1018                 Plot1D('Nom', 'Nom', 21, 0.8, 1.01, 'L1 prefiring weight nominal'),
1019                 Plot1D('Up', 'Up', 21, 0.8, 1.01, 'L1 prefiring weight uncertainy up'),
1020                 Plot1D('Dn', 'Dn', 21, 0.8, 1.01, 'L1 prefiring weight uncertainty down'),
1021                 Plot1D('ECAL_Nom', 'ECAL_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for ECAL objects nominal'),
1022                 Plot1D('Muon_Nom', 'Muon_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for muons nominal'),
1023             )
1024 
1025         ),
1026         BeamSpot = cms.PSet(
1027             sels = cms.PSet(),
1028             plots = cms.VPSet(
1029                 Plot1D('z', 'z', 20, 0.5, 1.5, 'BeamSpot center, z coordinate (cm)'),
1030                 Plot1D('zError', 'zError', 20, 0., 0.01, 'Error on BeamSpot center, z coordinate (cm)'),
1031                 Plot1D('sigmaZ', 'sigmaZ', 20, 0., 10, 'Width of BeamSpot in z (cm)'),
1032                 Plot1D('sigmaZError', 'sigmaZError', 20, 0., 0.01, 'Error on width of BeamSpot in z (cm)'),
1033             )
1034         ),
1035         Rho = cms.PSet(
1036             sels = cms.PSet(),
1037             plots = cms.VPSet(
1038                 Plot1D('fixedGridRhoAll', 'fixedGridRhoAll', 100, 0, 80, 'rho from all PF Candidates, no foreground removal (for isolation of prompt photons)'),
1039             )
1040         ),
1041     )
1042 )
1043