Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-03-23 16:00:21

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