CMS 3D CMS Logo

nanoDQM_cfi.py
Go to the documentation of this file.
1 # automatically generated by prepareDQM.py
2 import FWCore.ParameterSet.Config as cms
4 
5 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
6 nanoDQM = DQMEDAnalyzer("NanoAODDQM",
7  vplots = cms.PSet(
8  CaloMET = cms.PSet(
9  sels = cms.PSet(),
10  plots = cms.VPSet(
11  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
12  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
13  Plot1D('sumEt', 'sumEt', 20, 200, 3000, 'scalar sum of Et'),
14  )
15  ),
16  CorrT1METJet = cms.PSet(
17  sels = cms.PSet(),
18  plots = cms.VPSet(
19  Count1D('_size', 20, -0.5, 19.5, 'Additional low-pt jets for Type-1 MET re-correction'),
20  Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
21  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
22  Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
23  Plot1D('muonSubtrDeltaEta', 'muonSubtrDeltaEta', 40, -0.4, 0.4, 'muon-subtracted raw eta - eta'),
24  Plot1D('muonSubtrDeltaPhi', 'muonSubtrDeltaPhi', 40, -0.4, 0.4, 'muon-subtracted raw phi - phi'),
25  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
26  Plot1D('rawPt', 'rawPt', 20, 5, 25, "pt()*jecFactor('Uncorrected')"),
27  Plot1D('rawMass', 'rawMass', 20, 5, 25, "mass()*jecFactor('Uncorrected')"),
28  Plot1D('EmEF', 'EmEF', 20, 0., 1., "charged+neutral Electromagnetic Energy Fraction"),
29  )
30  ),
31  DeepMETResolutionTune = cms.PSet(
32  sels = cms.PSet(),
33  plots = cms.VPSet(
34  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Resolution Tune phi'),
35  Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
36  )
37  ),
38  DeepMETResponseTune = cms.PSet(
39  sels = cms.PSet(),
40  plots = cms.VPSet(
41  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Response Tune phi'),
42  Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
43  )
44  ),
45  Electron = cms.PSet(
46  sels = cms.PSet(
47  Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && cutBased >= 3 && miniPFRelIso_all < 0.4')
48  ),
49  plots = cms.VPSet(
50  Count1D('_size', 8, -0.5, 7.5, 'slimmedElectrons after basic selection (pt > 5 )'),
51  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
52  Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
53  Plot1D('cutBased', 'cutBased', 5, -0.5, 4.5, 'cut-based ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'),
54  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)'),
55  Plot1D('cutBased_HEEP', 'cutBased_HEEP', 2, -0.5, 1.5, 'cut-based HEEP ID'),
56  Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
57  Plot1D('dr03EcalRecHitSumEt', 'dr03EcalRecHitSumEt', 20, 0, 30, 'Non-PF Ecal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
58  Plot1D('dr03HcalDepth1TowerSumEt', 'dr03HcalDepth1TowerSumEt', 20, 0, 20, 'Non-PF Hcal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
59  Plot1D('dr03TkSumPt', 'dr03TkSumPt', 20, 0, 40, 'Non-PF track isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
60  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'),
61  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
62  Plot1D('dxyErr', 'dxyErr', 20, 0, 0.2, 'dxy uncertainty, in cm'),
63  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
64  Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
65  Plot1D('fbrem', 'fbrem', 20, -5.0, 5.0, 'Fraction of brem'),
66  Plot1D('rawEnergy', 'rawEnergy', 100, 0, 1000.0, 'raw energy of Supercluster'),
67  Plot1D('PreshowerEnergy', 'PreshowerEnergy', 20, 0, 100.0, 'energy deposited in the preshower'),
68  Plot1D('ecalEnergy', 'ecalEnergy', 100, 0, 1000.0, 'energy after ECAL-only regression applied'),
69  Plot1D('ecalEnergyError', 'ecalEnergyError', 20, 0, 100.0, 'ecalEnergy error'),
70  Plot1D('gsfTrkpMode', 'gsfTrkpMode', 100, 0, 1000000.0, 'GSF track pMode'),
71  Plot1D('gsfTrkpModeErr', 'gsfTrkpModeErr', 100, 0, 1000000.0, 'GSF track pMode error'),
72  Plot1D('gsfTrketaMode', 'gsfTrketaMode', 20, -3.5, 3.5, 'GSF track eta Mode'),
73  Plot1D('gsfTrkphiMode', 'gsfTrkphiMode', 20, -4, 4, 'GSF track phi Mode'),
74  Plot1D('isEcalDriven', 'isEcalDriven', 2, -0.5, 1.5, 'is ECAL driven if true'),
75  Plot1D('isEB', 'isEB', 2, -0.5, 1.5, 'object in barrel if true derived from the seedCrystal and detID information'),
76  Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
77  Plot1D('energyErr', 'energyErr', 20, 0, 90, 'energy error of the cluster-track combination'),
78  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
79  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'),
80  NoPlot('genPartIdx'),
81  Plot1D('hoe', 'hoe', 20, 0, 1, 'H over E'),
82  Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
83  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'electron is PF candidate'),
84  NoPlot('jetIdx'),
85  Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 60, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
86  Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1), -1 if none'),
87  Plot1D('jetDF', 'jetDF', 20, 0., 1., 'value of the DEEPJET b tagging algorithm discriminator of the associated jet (0 if none)'),
88  Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
89  Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
90  NoPlot('mass'),
91  Plot1D('mvaIso_Fall17V2', 'mvaIso_Fall17V2', 20, -1, 1, 'MVA Iso ID score, Fall17V2'),
92  Plot1D('mvaIso_Fall17V2_WP80', 'mvaIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Fall17V2'),
93  Plot1D('mvaIso_Fall17V2_WP90', 'mvaIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Fall17V2'),
94  Plot1D('mvaIso_Fall17V2_WPL', 'mvaIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA Iso ID loose WP, Fall17V2'),
95  Plot1D('mvaIso', 'mvaIso', 20, -1, 1, 'MVA Iso ID score, Winter22V1'),
96  Plot1D('mvaIso_WP80', 'mvaIso_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Winter22V1'),
97  Plot1D('mvaIso_WP90', 'mvaIso_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Winter22V1'),
98  Plot1D('mvaNoIso', 'mvaNoIso', 20, -1, 1, 'MVA noIso ID score, Winter22V1'),
99  Plot1D('mvaNoIso_WP80', 'mvaNoIso_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Winter22V1'),
100  Plot1D('mvaNoIso_WP90', 'mvaNoIso_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Winter22V1'),
101  Plot1D('mvaNoIso_Fall17V2', 'mvaNoIso_Fall17V2', 20, -1, 1, 'MVA noIso ID score, Fall17V2'),
102  Plot1D('mvaNoIso_Fall17V2_WP80', 'mvaNoIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Fall17V2'),
103  Plot1D('mvaNoIso_Fall17V2_WP90', 'mvaNoIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Fall17V2'),
104  Plot1D('mvaNoIso_Fall17V2_WPL', 'mvaNoIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA noIso ID loose WP, Fall17V2'),
105  Plot1D('mvaHZZIso', 'mvaHZZIso', 20, -1, 1, 'HZZ MVA Iso ID score'),
106  Plot1D('mvaIso_WPHZZ', 'mvaIso_WPHZZ', 2, -0.5, 1.5, 'MVA Iso ID WPHZZ, Winter22V1'),
107  Plot1D('promptMVA', 'promptMVA', 20, -1, 1, 'prompt MVA lepton ID score'),
108  Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
109  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
110  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
111  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU corrections)'),
112  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
113  Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (with rho*EA PU corrections)'),
114  Plot1D('miniPFRelIso_all_Fall17V2', 'miniPFRelIso_all_Fall17V2', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
115  Plot1D('miniPFRelIso_chg_Fall17V2', 'miniPFRelIso_chg_Fall17V2', 20, 0, 1, 'mini PF relative isolation, charged component'),
116  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)'),
117  Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3 with 94 EffArea, charged component'),
118  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
119  NoPlot('photonIdx'),
120  Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
121  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
122  Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
123  Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
124  Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
125  Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
126  Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
127  Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV, in cm'),
128  Plot1D('tightCharge', 'tightCharge', 3, -0.5, 2.5, 'Tight charge criteria (0:none, 1:isGsfScPixChargeConsistent, 2:isGsfCtfScPixChargeConsistent)'),
129  NoPlot('vidNestedWPBitmap'),
130  NoPlot('vidNestedWPBitmap_Fall17V2'),
131  NoPlot('vidNestedWPBitmapHEEP'),
132  )
133  ),
134 
135  LowPtElectron = cms.PSet(
136  sels = cms.PSet(
137  Good = cms.string('pt > 1. && ID > 5.')
138  ),
139  plots = cms.VPSet(
140  #
141  Count1D('_size', 8, -0.5, 7.5, 'slimmedLowPtElectrons after basic selection'),
142  # CandVars
143  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
144  Plot1D('eta', 'eta', 20, -3., 3., 'eta'),
145  NoPlot('mass'),
146  Plot1D('pdgId', 'pdgId', 101, -50.5, 50.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
147  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
148  Plot1D('pt', 'pt', 40, 0., 20., 'pt (corrected)'),
149  # BDT scores and WPs
150  Plot1D('embeddedID', 'embeddedID', 40, -10., 10., 'Embedded ID, BDT (raw) score'),
151  Plot1D('ID', 'ID', 40, -10., 10., 'ID, BDT (raw) score'),
152  Plot1D('unbiased', 'unbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- agnostic BDT (raw) score'),
153  Plot1D('ptbiased', 'ptbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- dependent BDT (raw) score'),
154  # Isolation
155  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0., 1., 'mini PF relative isolation, charged component'),
156  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0., 1., 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
157  # Conversions
158  Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
159  Plot1D('convWP', 'convWP', 8, -0.5, 7.5, 'conversion flag bit map: 1=Veto, 2=Loose, 3=Tight'),
160  Plot1D('convVtxRadius', 'convVtxRadius', 40, 0., 20.0, 'conversion vertex radius (cm)'),
161  # Tracking
162  Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
163  # Cluster-related
164  Plot1D('energyErr', 'energyErr', 40, 0., 20., 'energy error of the cluster from regression'),
165  Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
166  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
167  Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
168  Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
169  Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
170  Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
171  # Displacement
172  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
173  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
174  Plot1D('dxyErr', 'dxyErr', 20, 0., 0.2, 'dxy uncertainty, in cm'),
175  Plot1D('dzErr', 'dzErr', 20, 0., 0.2, 'dz uncertainty, in cm'),
176  ),
177  ),
178 
179  FatJet = cms.PSet(
180  sels = cms.PSet(),
181  plots = cms.VPSet(
182  Count1D('_size', 6, -0.5, 5.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
183  Plot1D('area', 'area', 20, 2, 4, 'jet catchment area, for JECs'),
184  Plot1D('globalParT3_Xbb', 'globalParT3_Xbb', 20, -1, 1, 'GlobalParT-3 X->bb score'),
185  Plot1D('globalParT3_Xcc', 'globalParT3_Xcc', 20, -1, 1, 'GlobalParT-3 X->cc score'),
186  Plot1D('globalParT3_Xcs', 'globalParT3_Xcs', 20, -1, 1, 'GlobalParT-3 X->cs score'),
187  Plot1D('globalParT3_Xqq', 'globalParT3_Xqq', 20, -1, 1, 'GlobalParT-3 X->qq (ss/dd/uu) score'),
188  Plot1D('globalParT3_Xtauhtaue', 'globalParT3_Xtauhtaue', 20, -1, 1, 'GlobalParT-3 X->tauhtaue score'),
189  Plot1D('globalParT3_Xtauhtaum', 'globalParT3_Xtauhtaum', 20, -1, 1, 'GlobalParT-3 X->tauhtaum score'),
190  Plot1D('globalParT3_Xtauhtauh', 'globalParT3_Xtauhtauh', 20, -1, 1, 'GlobalParT-3 X->tauhtauh score'),
191  Plot1D('globalParT3_XWW4q', 'globalParT3_XWW4q', 20, -1, 1, 'GlobalParT-3 X->WW4q score'),
192  Plot1D('globalParT3_XWW3q', 'globalParT3_XWW3q', 20, -1, 1, 'GlobalParT-3 X->WW3q score'),
193  Plot1D('globalParT3_XWWqqev', 'globalParT3_XWWqqev', 20, -1, 1, 'GlobalParT-3 X->WWqqev score'),
194  Plot1D('globalParT3_XWWqqmv', 'globalParT3_XWWqqmv', 20, -1, 1, 'GlobalParT-3 X->WWqqmv score'),
195  Plot1D('globalParT3_TopbWqq', 'globalParT3_TopbWqq', 20, -1, 1, 'GlobalParT-3 Top->bWqq score'),
196  Plot1D('globalParT3_TopbWq', 'globalParT3_TopbWq', 20, -1, 1, 'GlobalParT-3 Top->bWq score'),
197  Plot1D('globalParT3_TopbWev', 'globalParT3_TopbWev', 20, -1, 1, 'GlobalParT-3 Top->bWev score'),
198  Plot1D('globalParT3_TopbWmv', 'globalParT3_TopbWmv', 20, -1, 1, 'GlobalParT-3 Top->bWmv score'),
199  Plot1D('globalParT3_TopbWtauhv', 'globalParT3_TopbWtauhv', 20, -1, 1, 'GlobalParT-3 Top->bWtauhv score'),
200  Plot1D('globalParT3_QCD', 'globalParT3_QCD', 20, -1, 1, 'GlobalParT-3 QCD score'),
201  Plot1D('globalParT3_massCorrX2p', 'globalParT3_massCorrX2p', 20, -1, 2, 'GlobalParT-3 mass regression corrector (for X->2-prong jets)'),
202  Plot1D('globalParT3_massCorrGeneric', 'globalParT3_massCorrGeneric', 20, -1, 2, 'GlobalParT-3 mass regression corrector (for generic cases)'),
203  Plot1D('globalParT3_withMassTopvsQCD', 'globalParT3_withMassTopvsQCD', 20, -1, 1, 'GlobalParT-3 tagger (mass-correlated) Top vs QCD discriminator'),
204  Plot1D('globalParT3_withMassWvsQCD', 'globalParT3_withMassWvsQCD', 20, -1, 1, 'GlobalParT-3 tagger (mass-correlated) W vs QCD discriminator'),
205  Plot1D('globalParT3_withMassZvsQCD', 'globalParT3_withMassZvsQCD', 20, -1, 1, 'GlobalParT-3 tagger (mass-correlated) Z vs QCD discriminator'),
206  Plot1D('particleNetWithMass_QCD', 'particleNetWithMass_QCD', 20, -1, 1, 'ParticleNet (mass-correlated) QCD score'),
207  Plot1D('particleNetWithMass_TvsQCD', 'particleNetWithMass_TvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) top vs. QCD score'),
208  Plot1D('particleNetWithMass_WvsQCD', 'particleNetWithMass_WvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) W vs. QCD score'),
209  Plot1D('particleNetWithMass_ZvsQCD', 'particleNetWithMass_ZvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) Z vs. QCD score'),
210  Plot1D('particleNetWithMass_H4qvsQCD', 'particleNetWithMass_H4qvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H(->VV->qqqq) vs. QCD score'),
211  Plot1D('particleNetWithMass_HbbvsQCD', 'particleNetWithMass_HbbvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H->bb vs. QCD score'),
212  Plot1D('particleNetWithMass_HccvsQCD', 'particleNetWithMass_HccvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H->cc vs. QCD score'),
213  Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet QCD score'),
214  Plot1D('particleNet_QCD2HF', 'particleNet_QCD2HF', 20, 0, 1, 'ParticleNet QCD 2HF (b,c) score'),
215  Plot1D('particleNet_QCD1HF', 'particleNet_QCD1HF', 20, 0, 1, 'ParticleNet QCD 1HF (b,c) score'),
216  Plot1D('particleNet_QCD0HF', 'particleNet_QCD0HF', 20, 0, 1, 'ParticleNet QCD 0HF (b,c) score'),
217  Plot1D('particleNet_massCorr', 'particleNet_massCorr', 20, 0, 2, 'ParticleNet mass regression, correction relative to jet mass'),
218  Plot1D('particleNet_XbbVsQCD', 'particleNet_XbbVsQCD', 20, 0, 1, 'ParticleNet X->bb vs. QCD score'),
219  Plot1D('particleNet_XccVsQCD', 'particleNet_XccVsQCD', 20, 0, 1, 'ParticleNet X->cc vs. QCD score'),
220  Plot1D('particleNet_XqqVsQCD', 'particleNet_XqqVsQCD', 20, 0, 1, 'ParticleNet X->qq (uds) vs. QCD score'),
221  Plot1D('particleNet_XggVsQCD', 'particleNet_XggVsQCD', 20, 0, 1, 'ParticleNet X->gg vs. QCD score'),
222  Plot1D('particleNet_XttVsQCD', 'particleNet_XttVsQCD', 20, 0, 1, 'ParticleNet X->tautau vs. QCD score'),
223  Plot1D('particleNet_XtmVsQCD', 'particleNet_XtmVsQCD', 20, 0, 1, 'ParticleNet X->mutau vs. QCD score'),
224  Plot1D('particleNet_XteVsQCD', 'particleNet_XteVsQCD', 20, 0, 1, 'ParticleNet X->etau vs. QCD score'),
225  Plot1D('particleNet_WVsQCD', 'particleNet_WVsQCD', 20, 0, 1, 'ParticleNet W vs. QCD score'),
226  NoPlot('electronIdx3SJ'),
227  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
228  NoPlot('genJetAK8Idx'),
229  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
230  Plot1D('lsf3', 'lsf3', 20, -1, 1, 'Lepton Subjet Fraction (3 subjets)'),
231  Plot1D('mass', 'mass', 20, 0, 300, 'mass'),
232  Plot1D('msoftdrop', 'msoftdrop', 20, -300, 300, 'Soft drop mass'),
233  NoPlot('muonIdx3SJ'),
234  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
235  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
236  Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
237  Plot1D('chMultiplicity', 'chMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of charged particles in the jet'),
238  Plot1D('neMultiplicity', 'neMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of neutral particles in the jet'),
239  Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
240  Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
241  Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
242  Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
243  Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
244  Plot1D('hfHEF', 'hfHEF', 20, 0, 1, 'hadronic Energy Fraction in HF'),
245  Plot1D('hfEmEF', 'hfEmEF', 20, 0, 1, 'electromagnetic Energy Fraction in HF'),
246  Plot1D('particleNetMD_QCD', 'particleNetMD_QCD', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw QCD score'),
247  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)'),
248  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)'),
249  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)'),
250  Plot1D('particleNet_H4qvsQCD', 'particleNet_H4qvsQCD', 20, 0, 1, 'ParticleNet tagger H(->VV->qqqq) vs QCD discriminator'),
251  Plot1D('particleNet_HbbvsQCD', 'particleNet_HbbvsQCD', 20, 0, 1, 'ParticleNet tagger H(->bb) vs QCD discriminator'),
252  Plot1D('particleNet_HccvsQCD', 'particleNet_HccvsQCD', 20, 0, 1, 'ParticleNet tagger H(->cc) vs QCD discriminator'),
253  Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet tagger QCD(bb,cc,b,c,others) sum'),
254  Plot1D('particleNet_TvsQCD', 'particleNet_TvsQCD', 20, 0, 1, 'ParticleNet tagger top vs QCD discriminator'),
255  Plot1D('particleNet_WvsQCD', 'particleNet_WvsQCD', 20, 0, 1, 'ParticleNet tagger W vs QCD discriminator'),
256  Plot1D('particleNet_ZvsQCD', 'particleNet_ZvsQCD', 20, 0, 1, 'ParticleNet tagger Z vs QCD discriminator'),
257  Plot1D('particleNet_mass', 'particleNet_mass', 25, 0, 250, 'ParticleNet mass regression'),
258  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
259  Plot1D('pt', 'pt', 20, 0, 800, 'pt'),
260  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
261  NoPlot('subJetIdx1'),
262  NoPlot('subJetIdx2'),
263  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
264  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
265  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
266  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
267  )
268  ),
269  PFCand = cms.PSet(
270  sels = cms.PSet(),
271  plots = cms.VPSet(
272  Count1D('_size', 10, 0, 100, 'PF candidates'),
273  Plot1D('pt', 'pt', 20, 0, 50, 'Puppi-weighted pt'),
274  Plot1D('eta', 'eta', 20, -4, 4., 'eta'),
275  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
276  Plot1D('mass', 'mass', 10, 0, 1., 'Puppi-weighted mass'),
277  Plot1D('pdgId', 'pdgId', 44, -220, 220, 'PF candidate type (+/-211 = ChgHad, 130 = NeuHad, 22 = Photon, +/-11 = Electron, +/-13 = Muon, 1 = HFHad, 2 = HFEM)'),
278  )
279  ),
280  Flag = cms.PSet(
281  sels = cms.PSet(),
282  plots = cms.VPSet(
283  Plot1D('BadChargedCandidateFilter', 'BadChargedCandidateFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
284  Plot1D('BadChargedCandidateSummer16Filter', 'BadChargedCandidateSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
285  Plot1D('BadPFMuonFilter', 'BadPFMuonFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
286  Plot1D('BadPFMuonDzFilter', 'BadPFMuonDzFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
287  Plot1D('BadPFMuonSummer16Filter', 'BadPFMuonSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
288  Plot1D('CSCTightHalo2015Filter', 'CSCTightHalo2015Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
289  Plot1D('CSCTightHaloFilter', 'CSCTightHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
290  Plot1D('CSCTightHaloTrkMuUnvetoFilter', 'CSCTightHaloTrkMuUnvetoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
291  Plot1D('EcalDeadCellBoundaryEnergyFilter', 'EcalDeadCellBoundaryEnergyFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
292  Plot1D('EcalDeadCellTriggerPrimitiveFilter', 'EcalDeadCellTriggerPrimitiveFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
293  Plot1D('HBHENoiseFilter', 'HBHENoiseFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
294  Plot1D('HBHENoiseIsoFilter', 'HBHENoiseIsoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
295  Plot1D('HcalStripHaloFilter', 'HcalStripHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
296  Plot1D('METFilters', 'METFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
297  Plot1D('chargedHadronTrackResolutionFilter', 'chargedHadronTrackResolutionFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
298  Plot1D('ecalBadCalibFilter', 'ecalBadCalibFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
299  Plot1D('ecalBadCalibFilterV2', 'ecalBadCalibFilterV2', 1, 0.5, 1.5, 'Bad ECAL calib flag (updated xtal list)'),
300  Plot1D('ecalLaserCorrFilter', 'ecalLaserCorrFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
301  Plot1D('eeBadScFilter', 'eeBadScFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
302  Plot1D('globalSuperTightHalo2016Filter', 'globalSuperTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
303  Plot1D('globalTightHalo2016Filter', 'globalTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
304  Plot1D('hfNoisyHitsFilter', 'hfNoisyHitsFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
305  Plot1D('goodVertices', 'goodVertices', 2, -0.5, 1.5, 'Trigger/flag bit'),
306  Plot1D('hcalLaserEventFilter', 'hcalLaserEventFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
307  Plot1D('muonBadTrackFilter', 'muonBadTrackFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
308  Plot1D('trkPOGFilters', 'trkPOGFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
309  Plot1D('trkPOG_logErrorTooManyClusters', 'trkPOG_logErrorTooManyClusters', 2, -0.5, 1.5, 'Trigger/flag bit'),
310  Plot1D('trkPOG_manystripclus53X', 'trkPOG_manystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
311  Plot1D('trkPOG_toomanystripclus53X', 'trkPOG_toomanystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
312  )
313  ),
314  FsrPhoton = cms.PSet(
315  sels = cms.PSet(),
316  plots = cms.VPSet(
317  Count1D('_size', 4, -0.5, 3.5, 'Final state radiation photons emitted by muons'),
318  Plot1D('dROverEt2', 'dROverEt2', 20, 0, 0.05, 'deltaR to associated muon divided by photon et2'),
319  Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
320  NoPlot('muonIdx'),
321  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
322  Plot1D('pt', 'pt', 20, 0, 40, 'pt'),
323  Plot1D('relIso03', 'relIso03', 20, 0, 2, 'relative isolation in a 0.3 cone without CHS'),
324  )
325  ),
326  GenDressedLepton = cms.PSet(
327  sels = cms.PSet(),
328  plots = cms.VPSet(
329  Count1D('_size', 25, -0.5, 24.5, 'Dressed leptons from Rivet-based ParticleLevelProducer'),
330  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
331  Plot1D('hasTauAnc', 'hasTauAnc', 2, -0.5, 1.5, 'true if Dressed lepton has a tau as ancestor'),
332  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
333  Plot1D('pdgId', 'pdgId', 40, -20, 20, 'pdgId'),
334  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
335  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
336  )
337  ),
338  GenIsolatedPhoton = cms.PSet(
339  sels = cms.PSet(),
340  plots = cms.VPSet(
341  Count1D('_size', 10, -0.5, 9.5, 'Isolated photons from Rivet-based ParticleLevelProducer'),
342  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
343  NoPlot('mass'),
344  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
345  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
346  )
347  ),
348  GenJet = cms.PSet(
349  sels = cms.PSet(),
350  plots = cms.VPSet(
351  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJets, i.e. ak4 Jets made with visible genparticles'),
352  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
353  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
354  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
355  Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
356  Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
357  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
358  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
359  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
360  )
361  ),
362  GenJetAK8 = cms.PSet(
363  sels = cms.PSet(),
364  plots = cms.VPSet(
365  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJetAK8, i.e. ak8 Jets made with visible genparticles'),
366  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
367  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
368  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
369  Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
370  Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
371  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
372  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
373  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
374  )
375  ),
376  GenMET = cms.PSet(
377  sels = cms.PSet(),
378  plots = cms.VPSet(
379  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
380  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
381  )
382  ),
383  GenPart = cms.PSet(
384  sels = cms.PSet(),
385  plots = cms.VPSet(
386  Count1D('_size', 40, -0.5, 124.5, 'interesting gen particles '),
387  Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
388  NoPlot('genPartIdxMother'),
389  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'),
390  Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
391  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
392  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
393  Plot1D('iso', 'iso', 20, 0, 200, 'iso'),
394  Plot1D('status', 'status', 20, 0, 100, 'Particle status. 1=stable'),
395  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),
396  )
397  ),
398  GenVtx = cms.PSet(
399  sels = cms.PSet(),
400  plots = cms.VPSet(
401  Plot1D('x', 'x', 50, -0.5, 0.5, 'Gen vertex x position'),
402  Plot1D('y', 'y', 50, -0.5, 0.5, 'Gen vertex y position'),
403  Plot1D('z', 'z', 30, -15, 15, 'Gen vertex z position'),
404  Plot1D('t0', 't0', 20, -1, 1, 'Gen vertex time (t0)'),
405  )
406  ),
407  GenVisTau = cms.PSet(
408  sels = cms.PSet(),
409  plots = cms.VPSet(
410  Count1D('_size', 4, -0.5, 3.5, 'gen hadronic taus '),
411  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'charge'),
412  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
413  NoPlot('genPartIdxMother'),
414  Plot1D('mass', 'mass', 20, 0, 2, 'mass'),
415  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
416  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
417  Plot1D('status', 'status', 16, -0.5, 15.5, 'Hadronic tau decay mode. 0=OneProng0PiZero, 1=OneProng1PiZero, 2=OneProng2PiZero, 10=ThreeProng0PiZero, 11=ThreeProng1PiZero, 15=Other'),
418  )
419  ),
420  IsoTrack = cms.PSet(
421  sels = cms.PSet(),
422  plots = cms.VPSet(
423  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'),
424  Plot1D('dxy', 'dxy', 20, -0.02, 0.02, 'dxy (with sign) wrt first PV, in cm'),
425  Plot1D('dz', 'dz', 20, -0.09, 0.09, 'dz (with sign) wrt first PV, in cm'),
426  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
427  Plot1D('fromPV', 'fromPV', 5, -1.5, 3.5, 'provenance from primary vertex'),
428  Plot1D('isFromLostTrack', 'isFromLostTrack', 2, -0.5, 1.5, 'if isolated track comes from a lost track'),
429  Plot1D('isHighPurityTrack', 'isHighPurityTrack', 2, -0.5, 1.5, 'track is high purity'),
430  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'if isolated track is a PF candidate'),
431  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 2, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
432  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 2, 'mini PF relative isolation, charged component'),
433  Plot1D('pdgId', 'pdgId', 20, -300, 300, 'PDG id of PF cand'),
434  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
435  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
436  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
437  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
438  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge')
439  )
440  ),
441  Jet = cms.PSet(
442  sels = cms.PSet(
443  CentralPt30 = cms.string('abs(eta) < 2.4 && pt > 30'),
444  ForwardPt30 = cms.string('abs(eta) > 2.4 && pt > 30')
445  ),
446  plots = cms.VPSet(
447  Count1D('_size', 20, -0.5, 19.5, 'slimmedJets, i.e. ak4 PFJets CHS with JECs applied, after basic selection (pt > 15)'),
448  Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
449  Plot1D('bRegCorr', 'bRegCorr', 20, 0, 3, 'pt correction for b-jet energy regression'),
450  Plot1D('bRegRes', 'bRegRes', 20, 0, 0.6, 'res on pt corrected with b-jet regression'),
451  Plot1D('btagDeepFlavB', 'btagDeepFlavB', 20, 0, 1, 'DeepFlavour b+bb tag discriminator'),
452  Plot1D('btagDeepFlavC', 'btagDeepFlavC', 20, 0, 1, 'DeepFlavour charm tag discriminator'),
453  Plot1D('btagDeepFlavCvB', 'btagDeepFlavCvB', 20, -1, 1, 'DeepJet c vs b+bb+lepb discriminator'),
454  Plot1D('btagDeepFlavCvL', 'btagDeepFlavCvL', 20, -1, 1, 'DeepJet c vs uds+g discriminator'),
455  Plot1D('btagDeepFlavQG', 'btagDeepFlavQG', 20, -1, 1, 'DeepJet g vs uds discriminator'),
456  Plot1D('btagUParTAK4B', 'btagUParTAK4B', 20, 0, 1, 'UnifiedParT b vs. udscg discriminator'),
457  Plot1D('btagUParTAK4CvB', 'btagUParTAK4CvB', 20, -1, 1, 'UnifiedParT c vs. b discriminator'),
458  Plot1D('btagUParTAK4CvL', 'btagUParTAK4CvL', 20, -1, 1, 'UnifiedParT c vs. udsg discriminator'),
459  Plot1D('btagUParTAK4SvCB', 'btagUParTAK4SvCB', 20, -1, 1, 'UnifiedParT s vs. bc discriminator'),
460  Plot1D('btagUParTAK4SvUDG', 'btagUParTAK4SvUDG', 20, -1, 1, 'UnifiedParT s vs. udg discriminator'),
461  Plot1D('btagUParTAK4UDG', 'btagUParTAK4UDG', 30, 0, 3, 'UnifiedParT u+d+g raw score'),
462  Plot1D('btagUParTAK4QG', 'btagUParTAK4QG', 20, -1, 1, 'UnifiedParT q (uds) vs. g discriminator'),
463  Plot1D('btagUParTAK4TauVJet', 'btagUParTAK4TauVJet', 20, -1, 1, 'UnifiedParT tau vs. jet discriminator'),
464  Plot1D('btagUParTAK4CvNotB', 'btagUParTAK4CvNotB', 20, 0, 1, 'UnifiedParT C vs notB discriminator'),
465  Plot1D('btagUParTAK4Ele', 'btagUParTAK4Ele', 20, -1, 1, 'UnifiedParT electron raw score'),
466  Plot1D('btagUParTAK4Mu', 'btagUParTAK4Mu', 20, -1, 1, 'UnifiedParT muon raw score'),
467  Plot1D('cRegCorr', 'cRegCorr', 20, 0.6, 2, 'pt correction for c-jet energy regression'),
468  Plot1D('cRegRes', 'cRegRes', 20, 0.05, 0.4, 'res on pt corrected with c-jet regression'),
469  Plot1D('btagPNetB', 'btagPNetB', 20, 0, 1, 'ParticleNet b tag discriminator'),
470  Plot1D('btagPNetCvL', 'btagPNetCvL', 20, 0, 1, 'ParticleNet c vs. light (udsg) discriminator'),
471  Plot1D('btagPNetCvB', 'btagPNetCvB', 20, 0, 1, 'ParticleNet c vs. b discriminator'),
472  Plot1D('btagPNetCvNotB', 'btagPNetCvNotB', 20, 0, 1, 'ParticleNet C vs notB discriminator'),
473  Plot1D('btagPNetQvG', 'btagPNetQvG', 20, 0, 1, 'ParticleNet quark (udsbc) vs. gluon discriminator'),
474  Plot1D('btagPNetTauVJet', 'btagPNetTauVJet', 20, 0, 1, 'ParticleNet tau vs. jet discriminator'),
475  Plot1D('PNetRegPtRawCorr', 'PNetRegPtRawCorr', 20, 0, 2, 'ParticleNet visible pT regression, correction relative to raw pT'),
476  Plot1D('PNetRegPtRawCorrNeutrino', 'PNetRegPtRawCorrNeutrino', 20, 0, 2, 'ParticleNet neutrino pT correction, relative to regressed visible pT'),
477  Plot1D('PNetRegPtRawRes', 'PNetRegPtRawRes', 20, 0, 0.5, 'ParticleNet per-jet resolution estimator: (q84 - q16)/2'),
478  Plot1D('puIdDisc', 'puIdDisc', 20, -1., 1., 'Pileup ID BDT discriminant with 133X Winter24 PuppiV18 training'),
479  Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
480  Plot1D('chFPV0EF', 'chFPV0EF', 20, 0, 2, 'charged fromPV==0 Energy Fraction (energy excluded from CHS jets). Previously called betastar.'),
481  Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
482  NoPlot('electronIdx1'),
483  NoPlot('electronIdx2'),
484  Plot1D('eta', 'eta', 20, -6, 6, 'eta'),
485  NoPlot('genJetIdx'),
486  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
487  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
488  Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
489  NoPlot('muonIdx1'),
490  NoPlot('muonIdx2'),
491  Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
492  Plot1D('muonSubtrDeltaEta', 'muonSubtrDeltaEta', 40, -0.4, 0.4, 'muon-subtracted raw eta - eta'),
493  Plot1D('muonSubtrDeltaPhi', 'muonSubtrDeltaPhi', 40, -0.4, 0.4, 'muon-subtracted raw phi - phi'),
494  Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
495  Plot1D('chMultiplicity', 'chMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of charged particles in the jet'),
496  Plot1D('neMultiplicity', 'neMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of neutral particles in the jet'),
497  Plot1D('nElectrons', 'nElectrons', 5, -0.5, 4.5, 'number of electrons in the jet'),
498  Plot1D('nMuons', 'nMuons', 4, -0.5, 3.5, 'number of muons in the jet'),
499  Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
500  Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
501  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
502  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
503  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
504  Plot1D('puId', 'puId', 8, -0.5, 7.5, 'Pilup ID flags'),
505  Plot1D('puIdDisc', 'puIdDisc', 20, -1, 1, 'Pilup ID discriminant with 102X (2018) training'),
506  Plot1D('qgl', 'qgl', 20, 0, 1, 'Quark vs Gluon likelihood discriminator'),
507  Plot1D('hfHEF', 'hfHEF', 20, 0, 1, 'hadronic Energy Fraction in HF'),
508  Plot1D('hfEmEF', 'hfEmEF', 20, 0, 1, 'electromagnetic Energy Fraction in HF'),
509  Plot1D('hfsigmaEtaEta', 'hfsigmaEtaEta', 20, 0, 0.2, 'sigmaEtaEta for HF jets (noise discriminating variable)'),
510  Plot1D('hfsigmaPhiPhi', 'hfsigmaPhiPhi', 20, 0, 0.2, 'sigmaPhiPhi for HF jets (noise discriminating variable)'),
511  Plot1D('hfcentralEtaStripSize', 'hfcentralEtaStripSize', 10, 0, 10, 'eta size of the central tower strip in HF (noise discriminating variable)'),
512  Plot1D('hfadjacentEtaStripsSize', 'hfadjacentEtaStripsSize', 10, 0, 10, 'eta size of the strips next to the central tower strip in HF (noise discriminating variable)'),
513  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
514  )
515  ),
516  LHEPart = cms.PSet(
517  sels = cms.PSet(),
518  plots = cms.VPSet(
519  Count1D('_size', 20, 0, 20, 'LHE particles'),
520  Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
521  Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
522  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
523  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
524  )
525  ),
526  LHEPdfWeight = cms.PSet(
527  sels = cms.PSet(),
528  plots = cms.VPSet(
529  Count1D('_size', 1000, 0, 2000, 'LHE PDF weights'),
530  Plot1D('', '', 100, 0, 2, 'all weights'),
531  )
532  ),
533  LHEScaleWeight = cms.PSet(
534  sels = cms.PSet(),
535  plots = cms.VPSet(
536  Count1D('_size', 20, 0, 20, 'LHE scale weights'),
537  Plot1D('', '', 100, 0, 2, 'all weights'),
538  )
539  ),
540  PFMET = cms.PSet(
541  sels = cms.PSet(),
542  plots = cms.VPSet(
543  Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
544  Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
545  Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
546  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
547  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
548  Plot1D('significance', 'significance', 20, 0, 200, 'MET significance'),
549  Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
550  Plot1D('sumPtUnclustered', 'sumPtUnclustered', 20, 0, 3000, 'sumPt used for MET significance'),
551 
552  Plot1D('ptUnclusteredUp', 'ptUnclusteredUp', 20, 0, 400, 'pt Unclustered Up'),
553  Plot1D('ptUnclusteredDown', 'ptUnclusteredDown', 20, 0, 400, 'pt Unclustered Down'),
554  Plot1D('phiUnclusteredUp', 'phiUnclusteredUp', 20, -3.14159, 3.14159, 'phi Unclustered Up'),
555  Plot1D('phiUnclusteredDown', 'phiUnclusteredDown', 20, -3.14159, 3.14159, 'phi Unclustered Down'),
556 
557  )
558  ),
559 
560  FiducialMET = cms.PSet(
561  sels = cms.PSet(),
562  plots = cms.VPSet(
563  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
564  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
565  )
566  ),
567 
568  Muon = cms.PSet(
569  sels = cms.PSet(
570  Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && mediumId && miniPFRelIso_all < 0.4')
571  ),
572  plots = cms.VPSet(
573  Count1D('_size', 5, -0.5, 4.5, 'slimmedMuons after basic selection (pt > 3 && track.isNonnull && isLooseMuon)'),
574  Plot1D('bsConstrainedPt', '', 20, 0., 200., 'pt with beamspot constraint'),
575  Plot1D('bsConstrainedPtErr', '', 20, 0., 20., 'pt error w. beamspot constraint'),
576  Plot1D('bsConstrainedChi2', '', 20, 0., 40., 'chi2 of beamspot constraint'),
577  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
578  Plot1D('tuneP_charge', 'tuneP_charge', 3, -1.5, 1.5, 'charge from the tuneP algorithm'),
579  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
580  Plot1D('dxyErr', 'dxyErr', 20, 0, 0.1, 'dxy uncertainty, in cm'),
581  Plot1D('dxybs', 'dxybs', 20, -0.1, 0.1, 'dxy (with sign) wrt the beam spot, in cm'),
582  Plot1D('dxybsErr', 'dxybsErr', 20, 0, 0.1, 'uncertainty on dxy (with sign) wrt the beam spot, in cm'),
583  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
584  Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
585  Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
586  NoPlot('fsrPhotonIdx'),
587  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'),
588  NoPlot('genPartIdx'),
589  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)'),
590  Plot1D('highPurity', 'highPurity', 2, -0.5, 1.5, 'inner track is high purity'),
591  Plot1D('inTimeMuon', 'inTimeMuon', 2, -0.5, 1.5, 'inTimeMuon ID'),
592  Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
593  Plot1D('isGlobal', 'isGlobal', 2, -0.5, 1.5, 'muon is global muon'),
594  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'muon is PF candidate'),
595  Plot1D('isTracker', 'isTracker', 2, -0.5, 1.5, 'muon is tracker muon'),
596  Plot1D('isStandalone', 'isStandalone', 2, -0.5, 1.5, 'muon is a standalone muon'),
597  NoPlot('jetIdx'),
598  Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 30, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
599  Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1), -1 if none'),
600  Plot1D('jetDF', 'jetDF', 20, 0., 1., 'value of the DEEPJET b tagging algorithm discriminator of the associated jet (0 if none)'),
601  Plot1D('looseId', 'looseId', 2, -0.5, 1.5, 'muon is loose muon'),
602  NoPlot('mass'),
603  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)'),
604  Plot1D('mediumPromptId', 'mediumPromptId', 2, -0.5, 1.5, 'cut-based ID, medium prompt WP'),
605  Plot1D('miniIsoId', 'miniIsoId', 5, -0.5, 4.5, 'MiniIso ID from miniAOD selector (1=MiniIsoLoose, 2=MiniIsoMedium, 3=MiniIsoTight, 4=MiniIsoVeryTight)'),
606  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
607  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
608  Plot1D('multiIsoId', 'multiIsoId', 3, -0.5, 2.5, 'MultiIsoId from miniAOD selector (1=MultiIsoLoose, 2=MultiIsoMedium)'),
609  Plot1D('mvaLowPt', 'mvaLowPt', 20, -1, 1, 'Low pt muon ID score'),
610  Plot1D('promptMVA', 'promptMVA', 20, -1, 1, 'prompt MVA lepton ID score'),
611  Plot1D('mvaMuID', 'mvaMuID', 20, 0, 1, 'Score of MVA-based muon ID'),
612  Plot1D('mvaMuID_WP', 'mvaMuID_WP', 3, -0.5, 2.5, 'MVA-based ID selector WPs (1=MVAIDwpMedium,2=MVAIDwpTight)'),
613  Plot1D('nStations', 'nStations', 5, -0.5, 4.5, 'number of matched stations with default arbitration (segment & track)'),
614  Plot1D('nTrackerLayers', 'nTrackerLayers', 15, 2.5, 17.5, 'number of layers in the tracker'),
615  Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
616  Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
617  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)'),
618  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
619  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
620  Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (deltaBeta corrections)'),
621  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
622  Plot1D('pnScore_heavy', 'pnScore_heavy', 40, -1, 1, 'PNet muon ID score for lepton from B or D hadrons'),
623  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'),
624  Plot1D('pnScore_prompt', 'pnScore_prompt', 40, -1, 1, 'PNet muon ID score for lepton from W/Z/H bosons'),
625  Plot1D('pnScore_tau', 'pnScore_tau', 40, -1, 1, 'PNet muon ID score for decay of tau to light leptons (mu)'),
626  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
627  Plot1D('ptErr', 'ptErr', 20, 0, 20, 'ptError of the muon track'),
628  Plot1D('segmentComp', 'segmentComp', 20, 0, 1, 'muon segment compatibility'),
629  Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV'),
630  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)'),
631  Plot1D('softMva', 'softMva', 20, -1, 1, 'soft MVA ID score'),
632  Plot1D('softMvaRun3', 'softMvaRun3', 20, 0, 1, 'soft MVA ID score for Run3'),
633  Plot1D('softMvaId', 'softMvaId', 2, -0.5, 1.5, 'soft MVA ID'),
634  Plot1D('tightCharge', 'tightCharge', 1, 1.5, 2.5, 'Tight charge criterion using pterr/pt of muonBestTrack (0:fail, 2:pass)'),
635  Profile1D('tightId', 'tightId', 'pt', 16, 0, 80, 'POG Tight muon ID'),
636  Plot1D('tkIsoId', 'tkIsoId', 3, -0.5, 2.5, 'TkIso ID (1=TkIsoLoose, 2=TkIsoTight)'),
637  Plot1D('tkRelIso', 'tkRelIso', 100, 0, 1, 'Tracker-based relative isolation dR=0.3 for highPt, trkIso/tunePpt'),
638  Plot1D('triggerIdLoose', 'triggerIdLoose', 2, -0.5, 1.5, 'TriggerIdLoose ID'),
639  Plot1D('tunepRelPt', 'tunepRelPt', 200, 0, 200, 'TuneP relative pt, tunePpt/pt'),
640  Plot1D('tuneP_pterr', 'tuneP_pterr', 200, 0, 20, 'pTerr from tunePMuonBestTrack'),
641  Plot1D('VXBS_Cov00', 'VXBS_Cov00', 200, -10, 10, '0, 0 element of the VXBS Covariance matrix'),
642  Plot1D('VXBS_Cov03', 'VXBS_Cov03', 200, -10, 10, '0, 3 element of the VXBS Covariance matrix'),
643  Plot1D('VXBS_Cov33', 'VXBS_Cov33', 200, -10, 10, '3, 3 element of the VXBS Covariance matrix'),
644  )
645  ),
646  OtherPV = cms.PSet(
647  sels = cms.PSet(),
648  plots = cms.VPSet(
649  NoPlot('_size'),
650  Plot1D('z', 'z', 20, -20, 20, 'Z position of other primary vertices, excluding the main PV'),
651  Plot1D('score', 'score', 20, 0, 300000, 'scores of other primary vertices, excluding the main PV'),
652  )
653  ),
654  PPSLocalTrack = cms.PSet(
655  sels = cms.PSet(),
656  plots = cms.VPSet(
657  Count1D('_size', 26, -0.5, 25.5, 'ppsLocalTrack variables'),
658  Plot1D('decRPId', 'decRPId', 20, 0, 200, 'local track detector dec id'),
659  NoPlot('multiRPProtonIdx'),
660  Plot1D('rpType', 'rpType', 2, 3.5, 5.5, 'strip=3, pixel=4, diamond=5, timing=6'),
661  Plot1D('time', 'time', 20, -2, 2, 'local track time'),
662  Plot1D('timeUnc', 'timeUnc', 20, 0, 0.3, 'local track time uncertainty'),
663  Plot1D('x', 'x', 20, 2, 30, 'local track x'),
664  Plot1D('y', 'y', 20, -20, 20, 'local track y'),
665  )
666  ),
667  PSWeight = cms.PSet(
668  sels = cms.PSet(),
669  plots = cms.VPSet(
670  Plot1D('', '', 20, 0, 2, 'All PS weights (w_var / w_nominal)'),
671  Count1D('_size', 46, -0.5, 45.5, 'Number of PS weights'),
672  )
673  ),
674  PV = cms.PSet(
675  sels = cms.PSet(),
676  plots = cms.VPSet(
677  Plot1D('chi2', 'chi2', 20, 0.5, 3, 'main primary vertex reduced chi2'),
678  Plot1D('ndof', 'ndof', 20, 0, 500, 'main primary vertex number of degree of freedom'),
679  Plot1D('npvs', 'npvs', 20, 0, 60, 'total number of reconstructed primary vertices'),
680  Plot1D('npvsGood', 'npvsGood', 20, 0, 60, 'total number of Good primary vertices'),
681  Plot1D('score', 'score', 20, 0, 300000, 'main primary vertex score, i.e. sum pt2 of clustered objects'),
682  Plot1D('sumpt2', 'sumpt2', 100, 0, 300000, 'main primary vertex sum pt2 of the charged pf candidates'),
683  Plot1D('sumpx', 'sumpx', 20, -100, 100, 'main primary vertex sum px of the charged pf candidates'),
684  Plot1D('sumpy', 'sumpy', 20, -100, 100, 'main primary vertex sum py of the charged pf candidates'),
685  Plot1D('x', 'x', 20, -0.3, 0.3, 'main primary vertex position x coordinate'),
686  Plot1D('y', 'y', 20, -0.3, 0.3, 'main primary vertex position y coordinate'),
687  Plot1D('z', 'z', 20, -20, 20, 'main primary vertex position z coordinate'),
688  )
689  ),
690  Photon = cms.PSet(
691  sels = cms.PSet(),
692  plots = cms.VPSet(
693  Count1D('_size', 9, -0.5, 8.5, 'slimmedPhotons after basic selection (pt > 5 )'),
694  Plot1D('charge', 'charge', 1, -0.5, 0.5, 'electric charge'),
695  Plot1D('cutBased', 'cutBased', 4, -0.5, 3.5,'cut-based ID bitmap, (0:fail, 1:loose, 2:medium, 3:tight)'),
696  Plot1D('cutBased_Fall17V2', 'cutBased_Fall17V2', 4, -0.5, 3.5, 'cut-based ID bitmap, Fall17V2, (0:fail, 1:loose, 2:medium, 3:tight)'),
697  NoPlot('electronIdx'),
698  Plot1D('electronVeto', 'electronVeto', 2, -0.5, 1.5, 'pass electron veto'),
699  Plot1D('energyErr', 'energyErr', 20, 0, 300, 'energy error of the cluster from regression'),
700  Plot1D('energyRaw', 'energyRaw', 100, 0, 300, 'raw energy of photon supercluster'),
701  Plot1D('superclusterEta', 'superclusterEta', 20, -3, 3, 'supercluster eta'),
702  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
703  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'),
704  NoPlot('genPartIdx'),
705  Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
706  Plot1D('hoe_Tower', 'hoe_Tower', 20, 0, 0.6, 'H over E Tower based calculation'),
707  Plot1D('hoe_PUcorr', 'hoe_PUcorr', 20, 0, 0.6, 'H over E with PU correction'),
708  Plot1D('isScEtaEB', 'isScEtaEB', 2, -0.5, 1.5, 'is supercluster eta within barrel acceptance'),
709  Plot1D('isScEtaEE', 'isScEtaEE', 2, -0.5, 1.5, 'is supercluster eta within endcap acceptance'),
710  NoPlot('jetIdx'),
711  NoPlot('mass'),
712  Plot1D('mvaID', 'mvaID', 20, -1, 1, 'MVA ID score'),
713  Plot1D('mvaID_WP80', 'mvaID_WP80', 2, -0.5, 1.5, 'MVA ID WP80'),
714  Plot1D('mvaID_WP90', 'mvaID_WP90', 2, -0.5, 1.5, 'MVA ID WP90'),
715  Plot1D('mvaID_Fall17V2', 'mvaID_Fall17V2', 20, -1, 1, 'Fall17V2 MVA ID score'),
716  Plot1D('mvaID_Fall17V2_WP80', 'mvaID_WP80_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP80'),
717  Plot1D('mvaID_Fall17V2_WP90', 'mvaID_WP90_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP90'),
718  Plot1D('trkSumPtHollowConeDR03', 'trkSumPtHollowConeDR03', 100, 0, 8, 'Sum of track pT in a hollow cone of outer radius, inner radius'),
719  Plot1D('trkSumPtSolidConeDR04', 'trkSumPtSolidConeDR04', 100, 0, 8, 'Sum of track pT in a cone of dR=0.4'),
720  Plot1D('ecalPFClusterIso', 'ecalPFClusterIso', 100, 0, 10, 'sum pt of ecal clusters, vetoing clusters part of photon'),
721  Plot1D('hcalPFClusterIso', 'hcalPFClusterIso', 100, 0, 10, 'sum pt of hcal clusters, vetoing clusters part of photon'),
722  Plot1D('pfPhoIso03', 'pfPhoIso03', 100, 0, 1, 'PF absolute isolation dR=0.3, photon component (uncorrected)'),
723  Plot1D('pfChargedIso', 'pfChargedIso', 100, 0, 10, 'PF absolute isolation dR=0.3, charged component with dxy,dz match to PV'),
724  Plot1D('pfChargedIsoPFPV', 'pfChargedIsoPFPV', 100, 0, 5, 'PF absolute isolation dR=0.3, charged component (PF PV only)'),
725  Plot1D('pfChargedIsoWorstVtx', 'pfChargedIsoWorstVtx', 100, 0, 10,'PF absolute isolation dR=0.3, charged component (Vertex with largest isolation)'),
726  Plot1D('pdgId', 'pdgId', 1, 21.5, 22.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
727  Plot1D('pfRelIso03_all_Fall17V2', 'pfRelIso03_all_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU Fall17V2 corrections)'),
728  Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU Fall17V2 corrections)'),
729  Plot1D('pfRelIso03_all_quadratic', 'pfRelIso03_all_quadratic', 20, 0, 2, 'PF relative isolation dR=0.3, total (with quadraticEA*rho*rho + linearEA*rho corrections)'),
730  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)'),
731  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
732  Plot1D('pixelSeed', 'pixelSeed', 2, -0.5, 1.5, 'has pixel seed'),
733  Plot1D('hasConversionTracks', 'hasConversionTracks', 2, -0.5, 1.5, 'Variable specifying if photon has associated conversion tracks (one-legged or two-legged)'),
734  Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
735  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
736  Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
737  Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
738  Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
739  Plot1D('sieie', 'sieie', 100, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
740  Plot1D('sipip', 'sipip', 100, 0, 0.05, 'sigmaIphiIphi of the supercluster'),
741  Plot1D('sieip', 'sieip', 100, -0.0002, 0.0002, 'sigma_IetaIphi of the supercluster, calculated with full 5x5 region'),
742  Plot1D('s4', 's4', 100, 0.4, 1, 'e2x2/e5x5 of the supercluster, calculated with full 5x5 region'),
743  Plot1D('etaWidth', 'etaWidth', 100, 0, 0.03, 'Width of the photon supercluster in eta'),
744  Plot1D('phiWidth', 'phiWidth', 100, 0, 0.1, 'Width of the photon supercluster in phi'),
745  Plot1D('x_calo', 'x_calo', 100, -150, 150, 'photon supercluster position on calorimeter, x coordinate (cm)'),
746  Plot1D('y_calo', 'y_calo', 100, -150, 150, 'photon supercluster position on calorimeter, y coordinate (cm)'),
747  Plot1D('z_calo', 'z_calo', 100, -330, 330, 'photon supercluster position on calorimeter, y coordinate (cm)'),
748  Plot1D('esEffSigmaRR', 'esEffSigmaRR', 100, 0, 10, 'preshower sigmaRR'),
749  Plot1D('esEnergyOverRawE', 'esEnergyOverRawE', 100, 0, 0.2, 'ratio of preshower energy to raw supercluster energy'),
750  NoPlot('vidNestedWPBitmap'),
751  NoPlot('vidNestedWPBitmap_Fall17V2'),
752  )
753  ),
754  Proton_multiRP = cms.PSet(
755  sels = cms.PSet(),
756  plots = cms.VPSet(
757  Count1D('_size', 3, -0.5, 2.5, 'bon'),
758  Plot1D('arm', 'arm', 2, -0.5, 1.5, '0 = sector45, 1 = sector56'),
759  Plot1D('t', 't', 20, -500, -0.003, 'Mandelstam variable t'),
760  Plot1D('thetaX', 'thetaX', 20, -0.0004, 0.0004, 'scattering angle in the y direction'),
761  Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
762  Plot1D('time', 'time', 20, -1000, -1000, 'time'),
763  Plot1D('timeUnc', 'timeUnc', 20, 0, 0, 'time uncertainty'),
764  Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
765  )
766  ),
767  Proton_singleRP = cms.PSet(
768  sels = cms.PSet(),
769  plots = cms.VPSet(
770  Count1D('_size', 3, -0.5, 2.5, 'bon'),
771  Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
772  Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
773  Plot1D('decRPId', 'decRPId', 20, 0, 200, 'Detector ID'),
774  )
775  ),
776  Pileup = cms.PSet(
777  sels = cms.PSet(),
778  plots = cms.VPSet(
779  Plot1D('gpudensity', 'gpudensity', 20, 0, 0.9, 'Generator-level PU vertices / mm'),
780  Plot1D('nPU', 'nPU', 20, 0, 60, 'the number of pileup interactions that have been added to the event in the current bunch crossing'),
781  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'),
782  Plot1D('pudensity', 'pudensity', 5, -0.5, 4.5, 'PU vertices / mm'),
783  Plot1D('sumEOOT', 'sumEOOT', 20, 0, 800, 'number of early out of time pileup'),
784  Plot1D('sumLOOT', 'sumLOOT', 20, 0, 300, 'number of late out of time pileup'),
785  Plot1D('pthatmax','pthatmax',20, 0, 400, 'Maximum pt-hat'),
786  )
787  ),
788  PuppiMET = cms.PSet(
789  sels = cms.PSet(),
790  plots = cms.VPSet(
791 
792  Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
793  Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
794  Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
795  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
796  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
797  Plot1D('significance', 'significance', 20, 0, 200, 'PuppiMET significance'),
798  Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
799  Plot1D('sumPtUnclustered', 'sumPtUnclustered', 20, 0, 3000, 'sumPt used for PuppiMET significance'),
800 
801  Plot1D('ptUnclusteredUp', 'ptUnclusteredUp', 20, 0, 400, 'pt Unclustered Up'),
802  Plot1D('ptUnclusteredDown', 'ptUnclusteredDown', 20, 0, 400, 'pt Unclustered Down'),
803  Plot1D('phiUnclusteredUp', 'phiUnclusteredUp', 20, -3.14159, 3.14159, 'phi Unclustered Up'),
804  Plot1D('phiUnclusteredDown', 'phiUnclusteredDown', 20, -3.14159, 3.14159, 'phi Unclustered Down'),
805  )
806  ),
807  RawPFMET = cms.PSet(
808  sels = cms.PSet(),
809  plots = cms.VPSet(
810  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
811  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
812  Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
813  )
814  ),
815  RawPuppiMET = cms.PSet(
816  sels = cms.PSet(),
817  plots = cms.VPSet(
818  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
819  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
820  Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
821  )
822  ),
823  SV = cms.PSet(
824  sels = cms.PSet(),
825  plots = cms.VPSet(
826  Count1D('_size', 14, -0.5, 13.5),
827  Plot1D('chi2', 'chi2', 20, -2000, 2000, 'reduced chi2, i.e. chi/ndof'),
828  Plot1D('dlen', 'dlen', 20, 0, 4, 'decay length in cm'),
829  Plot1D('dlenSig', 'dlenSig', 20, 0, 50, 'decay length significance'),
830  Plot1D('dxy', 'dxy', 20, 0, 4, '2D decay length in cm'),
831  Plot1D('dxySig', 'dxySig', 20, 0, 50, '2D decay length significance'),
832  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
833  Plot1D('mass', 'mass', 20, 0, 8, 'mass'),
834  Plot1D('ndof', 'ndof', 20, -1, 19, 'number of degrees of freedom'),
835  Plot1D('pAngle', 'pAngle', 20, -3.1416, 3.1416, 'pointing angle, i.e. acos(p_SV * (SV - PV)) '),
836  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
837  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
838  Plot1D('x', 'x', 20, -0.5, 0.5, 'secondary vertex X position, in cm'),
839  Plot1D('y', 'y', 20, -0.5, 0.5, 'secondary vertex Y position, in cm'),
840  Plot1D('z', 'z', 20, -10, 10, 'secondary vertex Z position, in cm'),
841  Plot1D('ntracks', 'ntracks', 11, -0.5, 10.5, 'number of tracks'),
842  Plot1D('charge', 'charge', 11 , -0.5, 10.5, 'sum of the charge of the SV tracks'),
843  )
844  ),
845  SoftActivityJet = cms.PSet(
846  sels = cms.PSet(),
847  plots = cms.VPSet(
848  Count1D('_size', 7, -0.5, 6.5, 'jets clustered from charged candidates compatible with primary vertex (charge()!=0 && pvAssociationQuality()>=5 && vertexRef().key()==0)'),
849  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
850  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
851  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
852  )
853  ),
854  SubJet = cms.PSet(
855  sels = cms.PSet(),
856  plots = cms.VPSet(
857  Count1D('_size', 9, -0.5, 8.5, 'slimmedJetsAK8PFPuppiSoftDropPacked::SubJets, i.e. soft-drop subjets for ak8 fat jets for boosted'),
858  Plot1D('btagDeepFlavB', 'btagDeepFlavB', 20, -1, 1, 'DeepJet b+bb+lepb tag discriminator'),
859  Plot1D('btagUParTAK4B', 'btagUParTAK4B', 20, -1, 1, 'UnifiedParT b vs. udscg'),
860  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
861  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
862  Plot1D('mass', 'mass', 20, -200, 200, 'mass'),
863  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
864  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
865  Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
866  Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
867  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
868  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
869  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
870  Plot1D('area', 'area', 25, 0, 2.5, 'jet catchment area, for JECs'),
871  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
872  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
873  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
874  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
875  NoPlot('subGenJetAK8Idx'),
876  )
877  ),
878  Tau = cms.PSet(
879  sels = cms.PSet(),
880  plots = cms.VPSet(
881  Count1D('_size', 7, -0.5, 6.5, "slimmedTaus after basic selection (pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT')))"),
882  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
883  Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
884  Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
885  Plot1D('decayModePNet', 'decayModePNet', 13, -1.5, 11.5, 'decay mode of the highest PNet tau score (CHS jets)'),
886  Plot1D('decayModeUParT', 'decayModeUParT', 13, -1.5, 11.5, 'decay mode of the highest UParT tau score (PUPPI jets)'),
887  Plot1D('dxy', 'dxy', 20, -1000, 1000, 'd_{xy} of lead track with respect to PV, in cm (with sign)'),
888  Plot1D('dz', 'dz', 20, -20, 20, 'd_{z} of lead track with respect to PV, in cm (with sign)'),
889  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
890  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'),
891  NoPlot('genPartIdx'),
892  Plot1D('idAntiEleDeadECal', 'idAntiEleDeadECal', 2, -0.5, 1.5, "tauID('againstElectronDeadECAL')"),
893  Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
894  Plot1D('idDecayModeOldDMs', 'idDecayModeOldDMs', 2, -0.5, 1.5, "tauID('decayModeFinding')"),
895  Plot1D('idDecayModeNewDMs', 'idDecayModeNewDMs', 2, -0.5, 1.5, "tauID('decayModeFindingNewDMs')"),
896  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'),
897  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'),
898  Plot1D('idDeepTau2018v2p5VSmu', 'idDeepTau2018v2p5VSmu', 11, -0.5, 10.5, 'byDeepTau2018v2p5VSmu ID working points (deepTau2018v2p5): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
899  NoPlot('jetIdx'),
900  Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
901  Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
902  Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
903  Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
904  Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
905  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
906  Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
907  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
908  Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
909  Plot1D('rawDeepTau2018v2p5VSe', 'rawDeepTau2018v2p5VSe', 20, 0, 1, 'byDeepTau2018v2p5VSe raw output discriminator (deepTau2018v2p5)'),
910  Plot1D('rawDeepTau2018v2p5VSjet', 'rawDeepTau2018v2p5VSjet', 20, 0, 1, 'byDeepTau2018v2p5VSjet raw output discriminator (deepTau2018v2p5)'),
911  Plot1D('rawDeepTau2018v2p5VSmu', 'rawDeepTau2018v2p5VSmu', 20, 0, 1, 'byDeepTau2018v2p5VSmu raw output discriminator (deepTau2018v2p5)'),
912  Plot1D('rawPNetVSe', 'rawPNetVSe', 20, 0, 1, 'byPNetVSe raw output discriminator (PNet 2023 - CHS Jets)'),
913  Plot1D('rawPNetVSjet', 'rawPNetVSjet', 20, 0, 1, 'byPNetVSjet raw output discriminator (PNet 2023 - CHS Jets)'),
914  Plot1D('rawPNetVSmu', 'rawPNetVSmu', 20, 0, 1, 'byPNetVSmu raw output discriminator (PNet 2023 - CHS Jets)'),
915  Plot1D('rawUParTVSe', 'rawUParTVSe', 20, 0, 1, 'byUParTVSe raw output discriminator (UParT 2024 - PUPPI Jets)'),
916  Plot1D('rawUParTVSjet', 'rawUParTVSjet', 20, 0, 1, 'byUParTVSjet raw output discriminator (UParT 2024 - PUPPI Jets)'),
917  Plot1D('rawUParTVSmu', 'rawUParTVSmu', 20, 0, 1, 'byUParTVSmu raw output discriminator (UParT 2024 - PUPPI Jets)'),
918  Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
919  Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
920  Plot1D('ptCorrPNet', 'ptCorrPNet', 20, 0, 2, 'pt correction (PNet 2023 - CHS Jets)'),
921  Plot1D('qConfPNet', 'qConfPNet', 20, -0.5, 0.5, 'signed charge confidence (PNet 2023 - CHS Jets)'),
922  Plot1D('probDM0PNet', 'probDM0PNet', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (PNet 2023 - CHS Jets)'),
923  Plot1D('probDM1PNet', 'probDM1PNet', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (PNet 2023 - CHS Jets)'),
924  Plot1D('probDM2PNet', 'probDM2PNet', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (PNet 2023 - CHS Jets)'),
925  Plot1D('probDM10PNet', 'probDM10PNet', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (PNet 2023 - CHS Jets)'),
926  Plot1D('probDM11PNet', 'probDM11PNet', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (PNet 2023 - CHS Jets)'),
927  Plot1D('ptCorrUParT', 'ptCorrUParT', 20, 0, 2, 'pt correction (UParT 2024 - PUPPI Jets)'),
928  Plot1D('qConfUParT', 'qConfUUParT', 20, -0.5, 0.5, 'signed charge confidence (UParT 2024 - PUPPI Jets)'),
929  Plot1D('probDM0UParT', 'probDM0UParT', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (UParT 2024 - PUPPI Jets)'),
930  Plot1D('probDM1UParT', 'probDM1UParT', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (UParT 2024 - PUPPI Jets)'),
931  Plot1D('probDM2UParT', 'probDM2UParT', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (UParT 2024 - PUPPI Jets)'),
932  Plot1D('probDM10UParT', 'probDM10UParT', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (UParT 2024 - PUPPI Jets)'),
933  Plot1D('probDM11UParT', 'probDM11UParT', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (UParT 2024 - PUPPI Jets)'),
934  )
935  ),
936  TauProd = cms.PSet(
937  sels = cms.PSet(),
938  plots = cms.VPSet(
939  Count1D('_size', 40, -0.5, 5.5, 'tau decay products'),
940  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
941  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
942  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
943  Plot1D('pdgId', 'pdgId', 200, -10250, 10250, 'PDG code assigned by the event reconstruction (not by MC truth)'),
944  NoPlot('status'),
945  )
946  ),
947  TrkMET = cms.PSet(
948  sels = cms.PSet(),
949  plots = cms.VPSet(
950  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
951  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
952  Plot1D('sumEt', 'sumEt', 20, 0, 2000, 'scalar sum of Et'),
953  )
954  ),
955  TrigObj = cms.PSet(
956  sels = cms.PSet(
957  Electron = cms.string('id == 11'),
958  HT = cms.string('id == 3'),
959  Jet = cms.string('id == 1'),
960  MET = cms.string('id == 2'),
961  MHT = cms.string('id == 4'),
962  Muon = cms.string('id == 13'),
963  Photon = cms.string('id == 22'),
964  Tau = cms.string('id == 15')
965  ),
966  plots = cms.VPSet(
967  Count1D('_size', 28, -0.5, 27.5),
968  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
969  Plot1D('filterBits', 'filterBits', 31, 0, 31, 'extra bits of associated information, object- and era-dependent: see branch documentation', bitset=True),
970  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'),
971  Plot1D('l1charge', 'l1charge', 3, -1.5, 1.5, 'charge of associated L1 seed'),
972  Plot1D('l1iso', 'l1iso', 4, -0.5, 3.5, 'iso of associated L1 seed'),
973  Plot1D('l1pt', 'l1pt', 20, 0, 200, 'pt of associated L1 seed'),
974  Plot1D('l1pt_2', 'l1pt_2', 20, 0, 200, 'pt of associated secondary L1 seed'),
975  Plot1D('l2pt', 'l2pt', 20, 0, 200, "pt of associated 'L2' seed (i.e. HLT before tracking/PF)"),
976  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
977  Plot1D('pt', 'pt', 40, 0, 400, 'pt'),
978  )
979  ),
980  boostedTau = cms.PSet(
981  sels = cms.PSet(),
982  plots = cms.VPSet(
983  Count1D('_size', 7, -0.5, 6.5, "slimmedBoostedTaus after basic selection (pt > 40 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2017v2DBoldDMwLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBnewDMwLT2017')))"),
984  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
985  Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
986  Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
987  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
988  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'),
989  NoPlot('genPartIdx'),
990  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'),
991  Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
992  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'),
993  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'),
994  NoPlot('jetIdx'),
995  Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
996  Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
997  Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
998  Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
999  Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
1000  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
1001  Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
1002  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
1003  Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
1004  Plot1D('rawAntiEle2018', 'rawAntiEle2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 raw output discriminator (2018)'),
1005  Plot1D('rawAntiEleCat2018', 'rawAntiEleCat2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 category (2018)'),
1006  Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
1007  Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
1008  Plot1D('rawMVAnewDM2017v2', 'rawMVAnewDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBnewDMwLT raw output discriminator (2017v2)'),
1009  Plot1D('rawMVAoldDM2017v2', 'rawMVAoldDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBoldDMwLT raw output discriminator (2017v2)'),
1010  Plot1D('rawBoostedDeepTauRunIIv2p0VSe', 'rawBoostedDeepTauRunIIv2p0VSe', 20, 0, 1, 'BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs e'),
1011  Plot1D('rawBoostedDeepTauRunIIv2p0VSjet', 'rawBoostedDeepTauRunIIv2p0VSjet', 20, 0, 1, 'BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs jet'),
1012  Plot1D('rawBoostedDeepTauRunIIv2p0VSmu', 'rawBoostedDeepTauRunIIv2p0VSmu', 20, 0, 1, 'BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs mu'),
1013  )
1014  ),
1015  L1PreFiringWeight = cms.PSet(
1016  sels = cms.PSet(),
1017  plots = cms.VPSet(
1018  Plot1D('Nom', 'Nom', 21, 0.8, 1.01, 'L1 prefiring weight nominal'),
1019  Plot1D('Up', 'Up', 21, 0.8, 1.01, 'L1 prefiring weight uncertainy up'),
1020  Plot1D('Dn', 'Dn', 21, 0.8, 1.01, 'L1 prefiring weight uncertainty down'),
1021  Plot1D('ECAL_Nom', 'ECAL_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for ECAL objects nominal'),
1022  Plot1D('Muon_Nom', 'Muon_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for muons nominal'),
1023  )
1024 
1025  ),
1026  BeamSpot = cms.PSet(
1027  sels = cms.PSet(),
1028  plots = cms.VPSet(
1029  Plot1D('z', 'z', 20, 0.5, 1.5, 'BeamSpot center, z coordinate (cm)'),
1030  Plot1D('zError', 'zError', 20, 0., 0.01, 'Error on BeamSpot center, z coordinate (cm)'),
1031  Plot1D('sigmaZ', 'sigmaZ', 20, 0., 10, 'Width of BeamSpot in z (cm)'),
1032  Plot1D('sigmaZError', 'sigmaZError', 20, 0., 0.01, 'Error on width of BeamSpot in z (cm)'),
1033  )
1034  ),
1035  Rho = cms.PSet(
1036  sels = cms.PSet(),
1037  plots = cms.VPSet(
1038  Plot1D('fixedGridRhoAll', 'fixedGridRhoAll', 100, 0, 80, 'rho from all PF Candidates, no foreground removal (for isolation of prompt photons)'),
1039  )
1040  ),
1041  )
1042 )
1043 
def Count1D(name, nbins, xmin, xmax, title="")
def Profile1D(name, ycolumn, xcolumn, nbins, xmin, xmax, title="")