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  ChsMET = cms.PSet(
17  sels = cms.PSet(),
18  plots = cms.VPSet(
19  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'raw chs PF MET phi'),
20  Plot1D('pt', 'pt', 20, 0, 400, 'raw chs PF MET pt'),
21  Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'raw chs PF scalar sum of Et'),
22  )
23  ),
24  CorrT1METJet = cms.PSet(
25  sels = cms.PSet(),
26  plots = cms.VPSet(
27  Count1D('_size', 20, -0.5, 19.5, 'Additional low-pt jets for Type-1 MET re-correction'),
28  Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
29  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
30  Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
31  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
32  Plot1D('rawPt', 'rawPt', 20, 5, 25, "pt()*jecFactor('Uncorrected')"),
33  )
34  ),
35  DeepMETResolutionTune = cms.PSet(
36  sels = cms.PSet(),
37  plots = cms.VPSet(
38  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Resolution Tune phi'),
39  Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
40  )
41  ),
42  DeepMETResponseTune = cms.PSet(
43  sels = cms.PSet(),
44  plots = cms.VPSet(
45  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'Deep MET Response Tune phi'),
46  Plot1D('pt', 'pt', 20, 0, 400, 'Deep MET Response Tune pt'),
47  )
48  ),
49  Electron = cms.PSet(
50  sels = cms.PSet(
51  Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && cutBased >= 3 && miniPFRelIso_all < 0.4')
52  ),
53  plots = cms.VPSet(
54  Count1D('_size', 8, -0.5, 7.5, 'slimmedElectrons after basic selection (pt > 5 )'),
55  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
56  Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
57  Plot1D('cutBased', 'cutBased', 5, -0.5, 4.5, 'cut-based ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'),
58  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)'),
59  Plot1D('cutBased_HEEP', 'cutBased_HEEP', 2, -0.5, 1.5, 'cut-based HEEP ID'),
60  Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
61  Plot1D('dr03EcalRecHitSumEt', 'dr03EcalRecHitSumEt', 20, 0, 30, 'Non-PF Ecal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
62  Plot1D('dr03HcalDepth1TowerSumEt', 'dr03HcalDepth1TowerSumEt', 20, 0, 20, 'Non-PF Hcal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
63  Plot1D('dr03TkSumPt', 'dr03TkSumPt', 20, 0, 40, 'Non-PF track isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
64  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'),
65  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
66  Plot1D('dxyErr', 'dxyErr', 20, 0, 0.2, 'dxy uncertainty, in cm'),
67  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
68  Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
69  Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
70  Plot1D('energyErr', 'energyErr', 20, 0, 90, 'energy error of the cluster-track combination'),
71  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
72  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'),
73  NoPlot('genPartIdx'),
74  Plot1D('hoe', 'hoe', 20, 0, 1, 'H over E'),
75  Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
76  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'electron is PF candidate'),
77  NoPlot('jetIdx'),
78  Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 60, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
79  Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)'),
80  Plot1D('jetRelIso_Fall17V2', 'jetRelIso_Fall17V2', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)'),
81  Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
82  Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
83  NoPlot('mass'),
84  Plot1D('mvaIso_Fall17V2', 'mvaIso_Fall17V2', 20, -1, 1, 'MVA Iso ID score, Fall17V2'),
85  Plot1D('mvaIso_Fall17V2_WP80', 'mvaIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Fall17V2'),
86  Plot1D('mvaIso_Fall17V2_WP90', 'mvaIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Fall17V2'),
87  Plot1D('mvaIso_Fall17V2_WPL', 'mvaIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA Iso ID loose WP, Fall17V2'),
88  Plot1D('mvaIso', 'mvaIso', 20, -1, 1, 'MVA Iso ID score, Winter22V1'),
89  Plot1D('mvaIso_WP80', 'mvaIso_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80, Winter22V1'),
90  Plot1D('mvaIso_WP90', 'mvaIso_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90, Winter22V1'),
91  Plot1D('mvaNoIso', 'mvaNoIso', 20, -1, 1, 'MVA noIso ID score, Winter22V1'),
92  Plot1D('mvaNoIso_WP80', 'mvaNoIso_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Winter22V1'),
93  Plot1D('mvaNoIso_WP90', 'mvaNoIso_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Winter22V1'),
94  Plot1D('mvaNoIso_Fall17V2', 'mvaNoIso_Fall17V2', 20, -1, 1, 'MVA noIso ID score, Fall17V2'),
95  Plot1D('mvaNoIso_Fall17V2_WP80', 'mvaNoIso_Fall17V2_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80, Fall17V2'),
96  Plot1D('mvaNoIso_Fall17V2_WP90', 'mvaNoIso_Fall17V2_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90, Fall17V2'),
97  Plot1D('mvaNoIso_Fall17V2_WPL', 'mvaNoIso_Fall17V2_WPL', 2, -0.5, 1.5, 'MVA noIso ID loose WP, Fall17V2'),
98  Plot1D('mvaTTH', 'mvaTTH', 20, -1, 1, 'TTH MVA lepton ID score'),
99  Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
100  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
101  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
102  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU corrections)'),
103  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
104  Plot1D('miniPFRelIso_all_Fall17V2', 'miniPFRelIso_all_Fall17V2', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
105  Plot1D('miniPFRelIso_chg_Fall17V2', 'miniPFRelIso_chg_Fall17V2', 20, 0, 1, 'mini PF relative isolation, charged component'),
106  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)'),
107  Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3 with 94 EffArea, charged component'),
108  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
109  NoPlot('photonIdx'),
110  Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
111  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
112  Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
113  Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
114  Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
115  Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
116  Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
117  Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV, in cm'),
118  Plot1D('tightCharge', 'tightCharge', 3, -0.5, 2.5, 'Tight charge criteria (0:none, 1:isGsfScPixChargeConsistent, 2:isGsfCtfScPixChargeConsistent)'),
119  NoPlot('vidNestedWPBitmap'),
120  NoPlot('vidNestedWPBitmap_Fall17V2'),
121  NoPlot('vidNestedWPBitmapHEEP'),
122  )
123  ),
124 
125  LowPtElectron = cms.PSet(
126  sels = cms.PSet(
127  Good = cms.string('pt > 1. && ID > 5.')
128  ),
129  plots = cms.VPSet(
130  #
131  Count1D('_size', 8, -0.5, 7.5, 'slimmedLowPtElectrons after basic selection'),
132  # CandVars
133  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
134  Plot1D('eta', 'eta', 20, -3., 3., 'eta'),
135  NoPlot('mass'),
136  Plot1D('pdgId', 'pdgId', 101, -50.5, 50.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
137  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
138  Plot1D('pt', 'pt', 40, 0., 20., 'pt (corrected)'),
139  # BDT scores and WPs
140  Plot1D('embeddedID', 'embeddedID', 40, -10., 10., 'Embedded ID, BDT (raw) score'),
141  Plot1D('ID', 'ID', 40, -10., 10., 'ID, BDT (raw) score'),
142  Plot1D('unbiased', 'unbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- agnostic BDT (raw) score'),
143  Plot1D('ptbiased', 'ptbiased', 40, -10., 10., 'ElectronSeed, pT- and dxy- dependent BDT (raw) score'),
144  # Isolation
145  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0., 1., 'mini PF relative isolation, charged component'),
146  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0., 1., 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
147  # Conversions
148  Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
149  Plot1D('convWP', 'convWP', 8, -0.5, 7.5, 'conversion flag bit map: 1=Veto, 2=Loose, 3=Tight'),
150  Plot1D('convVtxRadius', 'convVtxRadius', 40, 0., 20.0, 'conversion vertex radius (cm)'),
151  # Tracking
152  Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
153  # Cluster-related
154  Plot1D('energyErr', 'energyErr', 40, 0., 20., 'energy error of the cluster from regression'),
155  Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
156  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
157  Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
158  Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
159  Plot1D('scEtOverPt', 'scEtOverPt', 20, -0.5, 0.5, '(supercluster transverse energy)/pt - 1'),
160  Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
161  # Displacement
162  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
163  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
164  Plot1D('dxyErr', 'dxyErr', 20, 0., 0.2, 'dxy uncertainty, in cm'),
165  Plot1D('dzErr', 'dzErr', 20, 0., 0.2, 'dz uncertainty, in cm'),
166  ),
167  ),
168 
169  FatJet = cms.PSet(
170  sels = cms.PSet(),
171  plots = cms.VPSet(
172  Count1D('_size', 6, -0.5, 5.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
173  Plot1D('area', 'area', 20, 2, 4, 'jet catchment area, for JECs'),
174  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
175  Plot1D('btagDDBvL', 'btagDDBvL', 20, -1, 1, 'DeepDoubleX (mass-decorrelated) discriminator for H(Z)->bb vs QCD'),
176  Plot1D('btagDDBvLV2', 'btagDDBvLV2', 20, 0, 1, 'DeepDoubleX V2(mass-decorrelated) discriminator for H(Z)->bb vs QCD'),
177  Plot1D('btagDDBvL_noMD', 'btagDDBvL_noMD', 20, 0, 1, 'DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->bb vs QCD'),
178  Plot1D('btagDDCvB', 'btagDDCvB', 20, -1, 1, 'DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb'),
179  Plot1D('btagDDCvBV2', 'btagDDCvBV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb'),
180  Plot1D('btagDDCvB_noMD', 'btagDDCvB_noMD', 20, 0, 1, 'DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs H(Z)->bb'),
181  Plot1D('btagDDCvL', 'btagDDCvL', 20, -1, 1, 'DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs QCD'),
182  Plot1D('btagDDCvLV2', 'btagDDCvLV2', 20, 0, 1, 'DeepDoubleX V2 (mass-decorrelated) discriminator for H(Z)->cc vs QCD'),
183  Plot1D('btagDDCvL_noMD', 'btagDDCvL_noMD', 20, 0, 1, 'DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs QCD'),
184  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
185  Plot1D('btagHbb', 'btagHbb', 20, -1, 1, 'Higgs to BB tagger discriminator'),
186  Plot1D('deepTagMD_H4qvsQCD', 'deepTagMD_H4qvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->4q vs QCD discriminator'),
187  Plot1D('deepTagMD_HbbvsQCD', 'deepTagMD_HbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger H->bb vs QCD discriminator'),
188  Plot1D('deepTagMD_TvsQCD', 'deepTagMD_TvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger top vs QCD discriminator'),
189  Plot1D('deepTagMD_WvsQCD', 'deepTagMD_WvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger W vs QCD discriminator'),
190  Plot1D('deepTagMD_ZHbbvsQCD', 'deepTagMD_ZHbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->bb vs QCD discriminator'),
191  Plot1D('deepTagMD_ZHccvsQCD', 'deepTagMD_ZHccvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H->cc vs QCD discriminator'),
192  Plot1D('deepTagMD_ZbbvsQCD', 'deepTagMD_ZbbvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z->bb vs QCD discriminator'),
193  Plot1D('deepTagMD_ZvsQCD', 'deepTagMD_ZvsQCD', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z vs QCD discriminator'),
194  Plot1D('deepTagMD_bbvsLight', 'deepTagMD_bbvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->bb vs light flavour discriminator'),
195  Plot1D('deepTagMD_ccvsLight', 'deepTagMD_ccvsLight', 20, 0, 1, 'Mass-decorrelated DeepBoostedJet tagger Z/H/gluon->cc vs light flavour discriminator'),
196  Plot1D('deepTag_H', 'deepTag_H', 20, 0, 1, 'DeepBoostedJet tagger H(bb,cc,4q) sum'),
197  Plot1D('deepTag_QCD', 'deepTag_QCD', 20, 0, 1, 'DeepBoostedJet tagger QCD(bb,cc,b,c,others) sum'),
198  Plot1D('deepTag_QCDothers', 'deepTag_QCDothers', 20, 0, 1, 'DeepBoostedJet tagger QCDothers value'),
199  Plot1D('deepTag_TvsQCD', 'deepTag_TvsQCD', 20, 0, 1, 'DeepBoostedJet tagger top vs QCD discriminator'),
200  Plot1D('deepTag_WvsQCD', 'deepTag_WvsQCD', 20, 0, 1, 'DeepBoostedJet tagger W vs QCD discriminator'),
201  Plot1D('deepTag_ZvsQCD', 'deepTag_ZvsQCD', 20, 0, 1, 'DeepBoostedJet tagger Z vs QCD discriminator'),
202  NoPlot('electronIdx3SJ'),
203  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
204  NoPlot('genJetAK8Idx'),
205  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
206  Plot1D('jetId', 'jetId', 3, 0, 3, 'Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto', bitset=True),
207  Plot1D('lsf3', 'lsf3', 20, -1, 1, 'Lepton Subjet Fraction (3 subjets)'),
208  Plot1D('mass', 'mass', 20, 0, 300, 'mass'),
209  Plot1D('msoftdrop', 'msoftdrop', 20, -300, 300, 'Soft drop mass'),
210  NoPlot('muonIdx3SJ'),
211  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
212  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
213  Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
214  Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
215  Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
216  Plot1D('particleNetMD_QCD', 'particleNetMD_QCD', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw QCD score'),
217  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)'),
218  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)'),
219  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)'),
220  Plot1D('particleNet_H4qvsQCD', 'particleNet_H4qvsQCD', 20, 0, 1, 'ParticleNet tagger H(->VV->qqqq) vs QCD discriminator'),
221  Plot1D('particleNet_HbbvsQCD', 'particleNet_HbbvsQCD', 20, 0, 1, 'ParticleNet tagger H(->bb) vs QCD discriminator'),
222  Plot1D('particleNet_HccvsQCD', 'particleNet_HccvsQCD', 20, 0, 1, 'ParticleNet tagger H(->cc) vs QCD discriminator'),
223  Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet tagger QCD(bb,cc,b,c,others) sum'),
224  Plot1D('particleNet_TvsQCD', 'particleNet_TvsQCD', 20, 0, 1, 'ParticleNet tagger top vs QCD discriminator'),
225  Plot1D('particleNet_WvsQCD', 'particleNet_WvsQCD', 20, 0, 1, 'ParticleNet tagger W vs QCD discriminator'),
226  Plot1D('particleNet_ZvsQCD', 'particleNet_ZvsQCD', 20, 0, 1, 'ParticleNet tagger Z vs QCD discriminator'),
227  Plot1D('particleNet_mass', 'particleNet_mass', 25, 0, 250, 'ParticleNet mass regression'),
228  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
229  Plot1D('pt', 'pt', 20, 0, 800, 'pt'),
230  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
231  NoPlot('subJetIdx1'),
232  NoPlot('subJetIdx2'),
233  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
234  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
235  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
236  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
237  )
238  ),
239  Flag = cms.PSet(
240  sels = cms.PSet(),
241  plots = cms.VPSet(
242  Plot1D('BadChargedCandidateFilter', 'BadChargedCandidateFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
243  Plot1D('BadChargedCandidateSummer16Filter', 'BadChargedCandidateSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
244  Plot1D('BadPFMuonFilter', 'BadPFMuonFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
245  Plot1D('BadPFMuonDzFilter', 'BadPFMuonDzFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
246  Plot1D('BadPFMuonSummer16Filter', 'BadPFMuonSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
247  Plot1D('CSCTightHalo2015Filter', 'CSCTightHalo2015Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
248  Plot1D('CSCTightHaloFilter', 'CSCTightHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
249  Plot1D('CSCTightHaloTrkMuUnvetoFilter', 'CSCTightHaloTrkMuUnvetoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
250  Plot1D('EcalDeadCellBoundaryEnergyFilter', 'EcalDeadCellBoundaryEnergyFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
251  Plot1D('EcalDeadCellTriggerPrimitiveFilter', 'EcalDeadCellTriggerPrimitiveFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
252  Plot1D('HBHENoiseFilter', 'HBHENoiseFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
253  Plot1D('HBHENoiseIsoFilter', 'HBHENoiseIsoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
254  Plot1D('HcalStripHaloFilter', 'HcalStripHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
255  Plot1D('METFilters', 'METFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
256  Plot1D('chargedHadronTrackResolutionFilter', 'chargedHadronTrackResolutionFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
257  Plot1D('ecalBadCalibFilter', 'ecalBadCalibFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
258  Plot1D('ecalBadCalibFilterV2', 'ecalBadCalibFilterV2', 1, 0.5, 1.5, 'Bad ECAL calib flag (updated xtal list)'),
259  Plot1D('ecalLaserCorrFilter', 'ecalLaserCorrFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
260  Plot1D('eeBadScFilter', 'eeBadScFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
261  Plot1D('globalSuperTightHalo2016Filter', 'globalSuperTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
262  Plot1D('globalTightHalo2016Filter', 'globalTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
263  Plot1D('hfNoisyHitsFilter', 'hfNoisyHitsFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
264  Plot1D('goodVertices', 'goodVertices', 2, -0.5, 1.5, 'Trigger/flag bit'),
265  Plot1D('hcalLaserEventFilter', 'hcalLaserEventFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
266  Plot1D('muonBadTrackFilter', 'muonBadTrackFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
267  Plot1D('trkPOGFilters', 'trkPOGFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
268  Plot1D('trkPOG_logErrorTooManyClusters', 'trkPOG_logErrorTooManyClusters', 2, -0.5, 1.5, 'Trigger/flag bit'),
269  Plot1D('trkPOG_manystripclus53X', 'trkPOG_manystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
270  Plot1D('trkPOG_toomanystripclus53X', 'trkPOG_toomanystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
271  )
272  ),
273  FsrPhoton = cms.PSet(
274  sels = cms.PSet(),
275  plots = cms.VPSet(
276  Count1D('_size', 4, -0.5, 3.5, 'Final state radiation photons emitted by muons'),
277  Plot1D('dROverEt2', 'dROverEt2', 20, 0, 0.05, 'deltaR to associated muon divided by photon et2'),
278  Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
279  NoPlot('muonIdx'),
280  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
281  Plot1D('pt', 'pt', 20, 0, 40, 'pt'),
282  Plot1D('relIso03', 'relIso03', 20, 0, 2, 'relative isolation in a 0.3 cone without CHS'),
283  )
284  ),
285  GenDressedLepton = cms.PSet(
286  sels = cms.PSet(),
287  plots = cms.VPSet(
288  Count1D('_size', 25, -0.5, 24.5, 'Dressed leptons from Rivet-based ParticleLevelProducer'),
289  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
290  Plot1D('hasTauAnc', 'hasTauAnc', 2, -0.5, 1.5, 'true if Dressed lepton has a tau as ancestor'),
291  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
292  Plot1D('pdgId', 'pdgId', 40, -20, 20, 'pdgId'),
293  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
294  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
295  )
296  ),
297  GenIsolatedPhoton = cms.PSet(
298  sels = cms.PSet(),
299  plots = cms.VPSet(
300  Count1D('_size', 10, -0.5, 9.5, 'Isolated photons from Rivet-based ParticleLevelProducer'),
301  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
302  NoPlot('mass'),
303  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
304  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
305  )
306  ),
307  GenJet = cms.PSet(
308  sels = cms.PSet(),
309  plots = cms.VPSet(
310  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJets, i.e. ak4 Jets made with visible genparticles'),
311  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
312  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
313  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
314  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
315  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
316  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
317  )
318  ),
319  GenJetAK8 = cms.PSet(
320  sels = cms.PSet(),
321  plots = cms.VPSet(
322  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJetAK8, i.e. ak8 Jets made with visible genparticles'),
323  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
324  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
325  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
326  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
327  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
328  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
329  )
330  ),
331  GenMET = cms.PSet(
332  sels = cms.PSet(),
333  plots = cms.VPSet(
334  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
335  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
336  )
337  ),
338  GenPart = cms.PSet(
339  sels = cms.PSet(),
340  plots = cms.VPSet(
341  Count1D('_size', 40, -0.5, 124.5, 'interesting gen particles '),
342  Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
343  NoPlot('genPartIdxMother'),
344  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'),
345  Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
346  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
347  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
348  Plot1D('status', 'status', 20, 0, 100, 'Particle status. 1=stable'),
349  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),
350  )
351  ),
352  GenVtx = cms.PSet(
353  sels = cms.PSet(),
354  plots = cms.VPSet(
355  Plot1D('x', 'x', 50, -0.5, 0.5, 'Gen vertex x position'),
356  Plot1D('y', 'y', 50, -0.5, 0.5, 'Gen vertex y position'),
357  Plot1D('z', 'z', 30, -15, 15, 'Gen vertex z position'),
358  Plot1D('t0', 't0', 20, -1, 1, 'Gen vertex time (t0)'),
359  )
360  ),
361  GenVisTau = cms.PSet(
362  sels = cms.PSet(),
363  plots = cms.VPSet(
364  Count1D('_size', 4, -0.5, 3.5, 'gen hadronic taus '),
365  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'charge'),
366  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
367  NoPlot('genPartIdxMother'),
368  Plot1D('mass', 'mass', 20, 0, 2, 'mass'),
369  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
370  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
371  Plot1D('status', 'status', 16, -0.5, 15.5, 'Hadronic tau decay mode. 0=OneProng0PiZero, 1=OneProng1PiZero, 2=OneProng2PiZero, 10=ThreeProng0PiZero, 11=ThreeProng1PiZero, 15=Other'),
372  )
373  ),
374  IsoTrack = cms.PSet(
375  sels = cms.PSet(),
376  plots = cms.VPSet(
377  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'),
378  Plot1D('dxy', 'dxy', 20, -0.02, 0.02, 'dxy (with sign) wrt first PV, in cm'),
379  Plot1D('dz', 'dz', 20, -0.09, 0.09, 'dz (with sign) wrt first PV, in cm'),
380  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
381  Plot1D('fromPV', 'fromPV', 5, -1.5, 3.5, 'provenance from primary vertex'),
382  Plot1D('isFromLostTrack', 'isFromLostTrack', 2, -0.5, 1.5, 'if isolated track comes from a lost track'),
383  Plot1D('isHighPurityTrack', 'isHighPurityTrack', 2, -0.5, 1.5, 'track is high purity'),
384  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'if isolated track is a PF candidate'),
385  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 2, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
386  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 2, 'mini PF relative isolation, charged component'),
387  Plot1D('pdgId', 'pdgId', 20, -300, 300, 'PDG id of PF cand'),
388  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
389  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
390  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
391  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
392  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge')
393  )
394  ),
395  Jet = cms.PSet(
396  sels = cms.PSet(
397  CentralPt30 = cms.string('abs(eta) < 2.4 && pt > 30'),
398  ForwardPt30 = cms.string('abs(eta) > 2.4 && pt > 30')
399  ),
400  plots = cms.VPSet(
401  Count1D('_size', 20, -0.5, 19.5, 'slimmedJets, i.e. ak4 PFJets CHS with JECs applied, after basic selection (pt > 15)'),
402  Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
403  Plot1D('bRegCorr', 'bRegCorr', 20, 0, 3, 'pt correction for b-jet energy regression'),
404  Plot1D('bRegRes', 'bRegRes', 20, 0, 0.6, 'res on pt corrected with b-jet regression'),
405  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
406  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
407  Plot1D('btagDeepC', 'btagDeepC', 20, 0, 1, 'DeepCSV charm btag discriminator'),
408  Plot1D('btagDeepCvB', 'btagDeepCvB', 20, -1, 1, 'DeepCSV c vs b+bb discriminator'),
409  Plot1D('btagDeepCvL', 'btagDeepCvL', 20, -1, 1, 'DeepCSV c vs udsg discriminator'),
410  Plot1D('btagDeepFlavB', 'btagDeepFlavB', 20, 0, 1, 'DeepFlavour b+bb tag discriminator'),
411  Plot1D('btagDeepFlavC', 'btagDeepFlavC', 20, 0, 1, 'DeepFlavour charm tag discriminator'),
412  Plot1D('btagDeepFlavCvB', 'btagDeepFlavCvB', 20, -1, 1, 'DeepJet c vs b+bb+lepb discriminator'),
413  Plot1D('btagDeepFlavCvL', 'btagDeepFlavCvL', 20, -1, 1, 'DeepJet c vs uds+g discriminator'),
414  Plot1D('btagDeepFlavQG', 'btagDeepFlavQG', 20, -1, 1, 'DeepJet g vs uds discriminator'),
415  Plot1D('cRegCorr', 'cRegCorr', 20, 0.6, 2, 'pt correction for c-jet energy regression'),
416  Plot1D('cRegRes', 'cRegRes', 20, 0.05, 0.4, 'res on pt corrected with c-jet regression'),
417  Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
418  Plot1D('chFPV0EF', 'chFPV0EF', 20, 0, 2, 'charged fromPV==0 Energy Fraction (energy excluded from CHS jets). Previously called betastar.'),
419  Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
420  NoPlot('electronIdx1'),
421  NoPlot('electronIdx2'),
422  Plot1D('eta', 'eta', 20, -6, 6, 'eta'),
423  NoPlot('genJetIdx'),
424  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
425  Plot1D('jetId', 'jetId', 3, 0, 3, 'Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto', bitset=True),
426  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
427  Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
428  NoPlot('muonIdx1'),
429  NoPlot('muonIdx2'),
430  Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
431  Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
432  Plot1D('nElectrons', 'nElectrons', 5, -0.5, 4.5, 'number of electrons in the jet'),
433  Plot1D('nMuons', 'nMuons', 4, -0.5, 3.5, 'number of muons in the jet'),
434  Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
435  Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
436  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
437  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
438  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
439  Plot1D('puId', 'puId', 8, -0.5, 7.5, 'Pilup ID flags'),
440  Plot1D('puIdDisc', 'puIdDisc', 20, -1, 1, 'Pilup ID discriminant with 102X (2018) training'),
441  Plot1D('qgl', 'qgl', 20, 0, 1, 'Quark vs Gluon likelihood discriminator'),
442  Plot1D('hfsigmaEtaEta', 'hfsigmaEtaEta', 20, 0, 0.2, 'sigmaEtaEta for HF jets (noise discriminating variable)'),
443  Plot1D('hfsigmaPhiPhi', 'hfsigmaPhiPhi', 20, 0, 0.2, 'sigmaPhiPhi for HF jets (noise discriminating variable)'),
444  Plot1D('hfcentralEtaStripSize', 'hfcentralEtaStripSize', 10, 0, 10, 'eta size of the central tower strip in HF (noise discriminating variable)'),
445  Plot1D('hfadjacentEtaStripsSize', 'hfadjacentEtaStripsSize', 10, 0, 10, 'eta size of the strips next to the central tower strip in HF (noise discriminating variable)'),
446  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
447  )
448  ),
449  LHEPart = cms.PSet(
450  sels = cms.PSet(),
451  plots = cms.VPSet(
452  Count1D('_size', 20, 0, 20, 'LHE particles'),
453  Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
454  Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
455  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
456  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
457  )
458  ),
459  LHEPdfWeight = cms.PSet(
460  sels = cms.PSet(),
461  plots = cms.VPSet(
462  Count1D('_size', 1000, 0, 2000, 'LHE PDF weights'),
463  Plot1D('', '', 100, 0, 2, 'all weights'),
464  )
465  ),
466  LHEScaleWeight = cms.PSet(
467  sels = cms.PSet(),
468  plots = cms.VPSet(
469  Count1D('_size', 20, 0, 20, 'LHE scale weights'),
470  Plot1D('', '', 100, 0, 2, 'all weights'),
471  )
472  ),
473 
474  MET = cms.PSet(
475  sels = cms.PSet(),
476  plots = cms.VPSet(
477  Plot1D('MetUnclustEnUpDeltaX', 'MetUnclustEnUpDeltaX', 20, -20, 20, 'Delta (METx_mod-METx) Unclustered Energy Up'),
478  Plot1D('MetUnclustEnUpDeltaY', 'MetUnclustEnUpDeltaY', 20, -10, 10, 'Delta (METy_mod-METy) Unclustered Energy Up'),
479  Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
480  Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
481  Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
482  Plot1D('fiducialGenPhi', 'fiducialGenPhi', 20, -3.14159, 3.14159, 'phi'),
483  Plot1D('fiducialGenPt', 'fiducialGenPt', 20, 0, 400, 'pt'),
484  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
485  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
486  Plot1D('significance', 'significance', 20, 0, 200, 'MET significance'),
487  Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
488  Plot1D('sumPtUnclustered', 'sumPtUnclustered', 20, 0, 3000, 'sumPt used for MET significance'),
489  )
490  ),
491  Muon = cms.PSet(
492  sels = cms.PSet(
493  Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && mediumId && miniPFRelIso_all < 0.4')
494  ),
495  plots = cms.VPSet(
496  Count1D('_size', 5, -0.5, 4.5, 'slimmedMuons after basic selection (pt > 3 && track.isNonnull && isLooseMuon)'),
497  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
498  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
499  Plot1D('dxyErr', 'dxyErr', 20, 0, 0.1, 'dxy uncertainty, in cm'),
500  Plot1D('dxybs', 'dxybs', 20, -0.1, 0.1, 'dxy (with sign) wrt the beam spot, in cm'),
501  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
502  Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
503  Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
504  NoPlot('fsrPhotonIdx'),
505  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'),
506  NoPlot('genPartIdx'),
507  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)'),
508  Plot1D('highPurity', 'highPurity', 2, -0.5, 1.5, 'inner track is high purity'),
509  Plot1D('inTimeMuon', 'inTimeMuon', 2, -0.5, 1.5, 'inTimeMuon ID'),
510  Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
511  Plot1D('isGlobal', 'isGlobal', 2, -0.5, 1.5, 'muon is global muon'),
512  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'muon is PF candidate'),
513  Plot1D('isTracker', 'isTracker', 2, -0.5, 1.5, 'muon is tracker muon'),
514  Plot1D('isStandalone', 'isStandalone', 2, -0.5, 1.5, 'muon is a standalone muon'),
515  NoPlot('jetIdx'),
516  Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 30, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
517  Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)'),
518  Plot1D('looseId', 'looseId', 2, -0.5, 1.5, 'muon is loose muon'),
519  NoPlot('mass'),
520  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)'),
521  Plot1D('mediumPromptId', 'mediumPromptId', 2, -0.5, 1.5, 'cut-based ID, medium prompt WP'),
522  Plot1D('miniIsoId', 'miniIsoId', 5, -0.5, 4.5, 'MiniIso ID from miniAOD selector (1=MiniIsoLoose, 2=MiniIsoMedium, 3=MiniIsoTight, 4=MiniIsoVeryTight)'),
523  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
524  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
525  Plot1D('multiIsoId', 'multiIsoId', 3, -0.5, 2.5, 'MultiIsoId from miniAOD selector (1=MultiIsoLoose, 2=MultiIsoMedium)'),
526  Plot1D('mvaId', 'mvaId', 6, -0.5, 5.5, 'Mva ID from miniAOD selector (1=MvaLoose, 2=MvaMedium, 3=MvaTight, 4=MvaVTight, 5=MvaVVTight)'),
527  Plot1D('mvaLowPt', 'mvaLowPt', 20, -1, 1, 'Low pt muon ID score'),
528  Plot1D('mvaLowPtId', 'mvaLowPtId', 3, -0.5, 2.5, 'Low Pt Mva ID from miniAOD selector (1=LowPtMvaLoose, 2=LowPtMvaMedium)'),
529  Plot1D('mvaTTH', 'mvaTTH', 20, -1, 1, 'TTH MVA lepton ID score'),
530  Plot1D('mvaMuID', 'mvaMuID', 20, 0, 1, 'Score of MVA-based muon ID'),
531  Plot1D('mvaMuID_WP', 'mvaMuID_WP', 3, -0.5, 2.5, 'MVA-based ID selector WPs (1=MVAIDwpMedium,2=MVAIDwpTight)'),
532  Plot1D('nStations', 'nStations', 5, -0.5, 4.5, 'number of matched stations with default arbitration (segment & track)'),
533  Plot1D('nTrackerLayers', 'nTrackerLayers', 15, 2.5, 17.5, 'number of layers in the tracker'),
534  Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
535  Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
536  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)'),
537  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
538  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
539  Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (deltaBeta corrections)'),
540  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
541  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
542  Plot1D('ptErr', 'ptErr', 20, 0, 20, 'ptError of the muon track'),
543  Plot1D('segmentComp', 'segmentComp', 20, 0, 1, 'muon segment compatibility'),
544  Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV'),
545  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)'),
546  Plot1D('softMva', 'softMva', 20, -1, 1, 'soft MVA ID score'),
547  Plot1D('softMvaId', 'softMvaId', 2, -0.5, 1.5, 'soft MVA ID'),
548  Plot1D('tightCharge', 'tightCharge', 1, 1.5, 2.5, 'Tight charge criterion using pterr/pt of muonBestTrack (0:fail, 2:pass)'),
549  Profile1D('tightId', 'tightId', 'pt', 16, 0, 80, 'POG Tight muon ID'),
550  Plot1D('tkIsoId', 'tkIsoId', 3, -0.5, 2.5, 'TkIso ID (1=TkIsoLoose, 2=TkIsoTight)'),
551  Plot1D('tkRelIso', 'tkRelIso', 100, 0, 1, 'Tracker-based relative isolation dR=0.3 for highPt, trkIso/tunePpt'),
552  Plot1D('triggerIdLoose', 'triggerIdLoose', 2, -0.5, 1.5, 'TriggerIdLoose ID'),
553  Plot1D('tunepRelPt', 'tunepRelPt', 200, 0, 200, 'TuneP relative pt, tunePpt/pt'),
554  )
555  ),
556  OtherPV = cms.PSet(
557  sels = cms.PSet(),
558  plots = cms.VPSet(
559  NoPlot('_size'),
560  Plot1D('z', 'z', 20, -20, 20, 'Z position of other primary vertices, excluding the main PV'),
561  Plot1D('score', 'score', 20, 0, 300000, 'scores of other primary vertices, excluding the main PV'),
562  )
563  ),
564  PPSLocalTrack = cms.PSet(
565  sels = cms.PSet(),
566  plots = cms.VPSet(
567  Count1D('_size', 26, -0.5, 25.5, 'ppsLocalTrack variables'),
568  Plot1D('decRPId', 'decRPId', 20, 0, 200, 'local track detector dec id'),
569  NoPlot('multiRPProtonIdx'),
570  Plot1D('rpType', 'rpType', 2, 3.5, 5.5, 'strip=3, pixel=4, diamond=5, timing=6'),
571  Plot1D('time', 'time', 20, -2, 2, 'local track time'),
572  Plot1D('timeUnc', 'timeUnc', 20, 0, 0.3, 'local track time uncertainty'),
573  Plot1D('x', 'x', 20, 2, 30, 'local track x'),
574  Plot1D('y', 'y', 20, -20, 20, 'local track y'),
575  )
576  ),
577  PSWeight = cms.PSet(
578  sels = cms.PSet(),
579  plots = cms.VPSet(
580  Plot1D('', '', 20, 0, 2, 'All PS weights (w_var / w_nominal)'),
581  Count1D('_size', 46, -0.5, 45.5, 'Number of PS weights'),
582  )
583  ),
584  PV = cms.PSet(
585  sels = cms.PSet(),
586  plots = cms.VPSet(
587  Plot1D('chi2', 'chi2', 20, 0.5, 3, 'main primary vertex reduced chi2'),
588  Plot1D('ndof', 'ndof', 20, 0, 500, 'main primary vertex number of degree of freedom'),
589  Plot1D('npvs', 'npvs', 20, 0, 60, 'total number of reconstructed primary vertices'),
590  Plot1D('npvsGood', 'npvsGood', 20, 0, 60, 'total number of Good primary vertices'),
591  Plot1D('score', 'score', 20, 0, 300000, 'main primary vertex score, i.e. sum pt2 of clustered objects'),
592  Plot1D('x', 'x', 20, -0.3, 0.3, 'main primary vertex position x coordinate'),
593  Plot1D('y', 'y', 20, -0.3, 0.3, 'main primary vertex position y coordinate'),
594  Plot1D('z', 'z', 20, -20, 20, 'main primary vertex position z coordinate'),
595  )
596  ),
597  Photon = cms.PSet(
598  sels = cms.PSet(),
599  plots = cms.VPSet(
600  Count1D('_size', 9, -0.5, 8.5, 'slimmedPhotons after basic selection (pt > 5 )'),
601  Plot1D('charge', 'charge', 1, -0.5, 0.5, 'electric charge'),
602  Plot1D('cutBased', 'cutBased', 4, -0.5, 3.5,'cut-based ID bitmap, (0:fail, 1:loose, 2:medium, 3:tight)'),
603  Plot1D('cutBased_Fall17V2', 'cutBased_Fall17V2', 4, -0.5, 3.5, 'cut-based ID bitmap, Fall17V2, (0:fail, 1:loose, 2:medium, 3:tight)'),
604  NoPlot('electronIdx'),
605  Plot1D('electronVeto', 'electronVeto', 2, -0.5, 1.5, 'pass electron veto'),
606  Plot1D('energyErr', 'energyErr', 20, 0, 300, 'energy error of the cluster from regression'),
607  Plot1D('energyRaw', 'energyRaw', 100, 0, 300, 'raw energy of photon supercluster'),
608  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
609  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'),
610  NoPlot('genPartIdx'),
611  Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
612  Plot1D('hoe_PUcorr', 'hoe_PUcorr', 20, 0, 0.6, 'H over E with PU correction'),
613  Plot1D('isScEtaEB', 'isScEtaEB', 2, -0.5, 1.5, 'is supercluster eta within barrel acceptance'),
614  Plot1D('isScEtaEE', 'isScEtaEE', 2, -0.5, 1.5, 'is supercluster eta within endcap acceptance'),
615  NoPlot('jetIdx'),
616  NoPlot('mass'),
617  Plot1D('mvaID', 'mvaID', 20, -1, 1, 'MVA ID score'),
618  Plot1D('mvaID_WP80', 'mvaID_WP80', 2, -0.5, 1.5, 'MVA ID WP80'),
619  Plot1D('mvaID_WP90', 'mvaID_WP90', 2, -0.5, 1.5, 'MVA ID WP90'),
620  Plot1D('mvaID_Fall17V2', 'mvaID_Fall17V2', 20, -1, 1, 'Fall17V2 MVA ID score'),
621  Plot1D('mvaID_Fall17V2_WP80', 'mvaID_WP80_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP80'),
622  Plot1D('mvaID_Fall17V2_WP90', 'mvaID_WP90_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP90'),
623  Plot1D('trkSumPtHollowConeDR03', 'trkSumPtHollowConeDR03', 100, 0, 8, 'Sum of track pT in a hollow cone of outer radius, inner radius'),
624  Plot1D('pfPhoIso03', 'pfPhoIso03', 100, 0, 1, 'PF absolute isolation dR=0.3, photon component (uncorrected)'),
625  Plot1D('pfChargedIsoPFPV', 'pfChargedIsoPFPV', 100, 0, 5, 'PF absolute isolation dR=0.3, charged component (PF PV only)'),
626  Plot1D('pfChargedIsoWorstVtx', 'pfChargedIsoWorstVtx', 100, 0, 10,'PF absolute isolation dR=0.3, charged component (Vertex with largest isolation)'),
627  Plot1D('pdgId', 'pdgId', 1, 21.5, 22.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
628  Plot1D('pfRelIso03_all_Fall17V2', 'pfRelIso03_all_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU Fall17V2 corrections)'),
629  Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU Fall17V2 corrections)'),
630  Plot1D('pfRelIso03_all_quadratic', 'pfRelIso03_all_quadratic', 20, 0, 2, 'PF relative isolation dR=0.3, total (with quadraticEA*rho*rho + linearEA*rho corrections)'),
631  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)'),
632  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
633  Plot1D('pixelSeed', 'pixelSeed', 2, -0.5, 1.5, 'has pixel seed'),
634  Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
635  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
636  Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
637  Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
638  Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
639  Plot1D('sieie', 'sieie', 100, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
640  Plot1D('sipip', 'sipip', 100, 0, 0.05, 'sigmaIphiIphi of the supercluster'),
641  Plot1D('sieip', 'sieip', 100, -0.0002, 0.0002, 'sigma_IetaIphi of the supercluster, calculated with full 5x5 region'),
642  Plot1D('s4', 's4', 100, 0.4, 1, 'e2x2/e5x5 of the supercluster, calculated with full 5x5 region'),
643  Plot1D('etaWidth', 'etaWidth', 100, 0, 0.03, 'Width of the photon supercluster in eta'),
644  Plot1D('phiWidth', 'phiWidth', 100, 0, 0.1, 'Width of the photon supercluster in phi'),
645  Plot1D('x_calo', 'x_calo', 100, -150, 150, 'photon supercluster position on calorimeter, x coordinate (cm)'),
646  Plot1D('y_calo', 'y_calo', 100, -150, 150, 'photon supercluster position on calorimeter, y coordinate (cm)'),
647  Plot1D('z_calo', 'z_calo', 100, -330, 330, 'photon supercluster position on calorimeter, y coordinate (cm)'),
648  Plot1D('esEffSigmaRR', 'esEffSigmaRR', 100, 0, 10, 'preshower sigmaRR'),
649  Plot1D('esEnergyOverRawE', 'esEnergyOverRawE', 100, 0, 0.2, 'ratio of preshower energy to raw supercluster energy'),
650  NoPlot('vidNestedWPBitmap'),
651  NoPlot('vidNestedWPBitmap_Fall17V2'),
652  )
653  ),
654  Proton_multiRP = cms.PSet(
655  sels = cms.PSet(),
656  plots = cms.VPSet(
657  Count1D('_size', 3, -0.5, 2.5, 'bon'),
658  Plot1D('arm', 'arm', 2, -0.5, 1.5, '0 = sector45, 1 = sector56'),
659  Plot1D('t', 't', 20, -500, -0.003, 'Mandelstam variable t'),
660  Plot1D('thetaX', 'thetaX', 20, -0.0004, 0.0004, 'scattering angle in the y direction'),
661  Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
662  Plot1D('time', 'time', 20, -1000, -1000, 'time'),
663  Plot1D('timeUnc', 'timeUnc', 20, 0, 0, 'time uncertainty'),
664  Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
665  )
666  ),
667  Proton_singleRP = cms.PSet(
668  sels = cms.PSet(),
669  plots = cms.VPSet(
670  Count1D('_size', 3, -0.5, 2.5, 'bon'),
671  Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
672  Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
673  Plot1D('decRPId', 'decRPId', 20, 0, 200, 'Detector ID'),
674  )
675  ),
676  Pileup = cms.PSet(
677  sels = cms.PSet(),
678  plots = cms.VPSet(
679  Plot1D('gpudensity', 'gpudensity', 20, 0, 0.9, 'Generator-level PU vertices / mm'),
680  Plot1D('nPU', 'nPU', 20, 0, 60, 'the number of pileup interactions that have been added to the event in the current bunch crossing'),
681  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'),
682  Plot1D('pudensity', 'pudensity', 5, -0.5, 4.5, 'PU vertices / mm'),
683  Plot1D('sumEOOT', 'sumEOOT', 20, 0, 800, 'number of early out of time pileup'),
684  Plot1D('sumLOOT', 'sumLOOT', 20, 0, 300, 'number of late out of time pileup'),
685  )
686  ),
687  PuppiMET = cms.PSet(
688  sels = cms.PSet(),
689  plots = cms.VPSet(
690  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
691  Plot1D('phiJERUp', 'phiJERUp', 20, -3.14159, 3.14159, 'JER up phi'),
692  Plot1D('phiJERDown', 'phiJERDown', 20, -3.14159, 3.14159, 'JER down phi'),
693  Plot1D('phiJESUp', 'phiJESUp', 20, -3.14159, 3.14159, 'JES up phi'),
694  Plot1D('phiJESDown', 'phiJESDown', 20, -3.14159, 3.14159, 'JES down phi'),
695  Plot1D('phiUnclusteredUp', 'phiUnclusteredUp', 20, -3.14159, 3.14159, 'Unclustered up phi'),
696  Plot1D('phiUnclusteredDown', 'phiUnclusteredDown', 20, -3.14159, 3.14159, 'Unclustered down phi'),
697  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
698  Plot1D('ptJERUp', 'ptJERUp', 20, 0, 400, 'JER up pt'),
699  Plot1D('ptJERDown', 'ptJERDown', 20, 0, 400, 'JER down pt'),
700  Plot1D('ptJESUp', 'ptJESUp', 20, 0, 400, 'JES up pt'),
701  Plot1D('ptJESDown', 'ptJESDown', 20, 0, 400, 'JES down pt'),
702  Plot1D('ptUnclusteredUp', 'ptUnclusteredUp', 20, 0, 400, 'Unclustered up pt'),
703  Plot1D('ptUnclusteredDown', 'ptUnclusteredDown', 20, 0, 400, 'Unclustered down pt'),
704  Plot1D('sumEt', 'sumEt', 20, 200, 3000, 'scalar sum of Et'),
705  )
706  ),
707  RawMET = cms.PSet(
708  sels = cms.PSet(),
709  plots = cms.VPSet(
710  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
711  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
712  Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
713  )
714  ),
715  RawPuppiMET = cms.PSet(
716  sels = cms.PSet(),
717  plots = cms.VPSet(
718  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
719  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
720  Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
721  )
722  ),
723  SV = cms.PSet(
724  sels = cms.PSet(),
725  plots = cms.VPSet(
726  Count1D('_size', 14, -0.5, 13.5),
727  Plot1D('chi2', 'chi2', 20, -2000, 2000, 'reduced chi2, i.e. chi/ndof'),
728  Plot1D('dlen', 'dlen', 20, 0, 4, 'decay length in cm'),
729  Plot1D('dlenSig', 'dlenSig', 20, 0, 50, 'decay length significance'),
730  Plot1D('dxy', 'dxy', 20, 0, 4, '2D decay length in cm'),
731  Plot1D('dxySig', 'dxySig', 20, 0, 50, '2D decay length significance'),
732  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
733  Plot1D('mass', 'mass', 20, 0, 8, 'mass'),
734  Plot1D('ndof', 'ndof', 20, -1, 19, 'number of degrees of freedom'),
735  Plot1D('pAngle', 'pAngle', 20, -3.1416, 3.1416, 'pointing angle, i.e. acos(p_SV * (SV - PV)) '),
736  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
737  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
738  Plot1D('x', 'x', 20, -0.5, 0.5, 'secondary vertex X position, in cm'),
739  Plot1D('y', 'y', 20, -0.5, 0.5, 'secondary vertex Y position, in cm'),
740  Plot1D('z', 'z', 20, -10, 10, 'secondary vertex Z position, in cm'),
741  Plot1D('ntracks', 'ntracks', 11, -0.5, 10.5, 'number of tracks'),
742  Plot1D('charge', 'charge', 11 , -0.5, 10.5, 'sum of the charge of the SV tracks'),
743  )
744  ),
745  SoftActivityJet = cms.PSet(
746  sels = cms.PSet(),
747  plots = cms.VPSet(
748  Count1D('_size', 7, -0.5, 6.5, 'jets clustered from charged candidates compatible with primary vertex (charge()!=0 && pvAssociationQuality()>=5 && vertexRef().key()==0)'),
749  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
750  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
751  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
752  )
753  ),
754  SubJet = cms.PSet(
755  sels = cms.PSet(),
756  plots = cms.VPSet(
757  Count1D('_size', 9, -0.5, 8.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
758  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
759  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
760  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
761  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
762  Plot1D('mass', 'mass', 20, -200, 200, 'mass'),
763  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
764  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
765  Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
766  Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
767  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
768  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
769  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
770  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
771  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
772  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
773  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
774  )
775  ),
776  Tau = cms.PSet(
777  sels = cms.PSet(),
778  plots = cms.VPSet(
779  Count1D('_size', 7, -0.5, 6.5, "slimmedTaus after basic selection (pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT')))"),
780  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
781  Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
782  Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
783  Plot1D('dxy', 'dxy', 20, -1000, 1000, 'd_{xy} of lead track with respect to PV, in cm (with sign)'),
784  Plot1D('dz', 'dz', 20, -20, 20, 'd_{z} of lead track with respect to PV, in cm (with sign)'),
785  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
786  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'),
787  NoPlot('genPartIdx'),
788  Plot1D('idAntiEleDeadECal', 'idAntiEleDeadECal', 2, -0.5, 1.5, "tauID('againstElectronDeadECAL')"),
789  Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
790  Plot1D('idDecayModeOldDMs', 'idDecayModeOldDMs', 2, -0.5, 1.5, "tauID('decayModeFinding')"),
791  Plot1D('idDeepTau2017v2p1VSe', 'idDeepTau2017v2p1VSe', 11, -0.5, 10.5, 'byDeepTau2017v2p1VSe ID working points (deepTau2017v2p1): int 1 = VVVLoose, 2 = VVLoose, 3 = VLoose, 4 = Loose, 5 = Medium, 6 = Tight, 7 = VTight, 8 = VVTight'),
792  Plot1D('idDeepTau2017v2p1VSjet', 'idDeepTau2017v2p1VSjet', 11, -0.5, 10.5, 'byDeepTau2017v2p1VSjet ID working points (deepTau2017v2p1): int 1 = VVVLoose, 2 = VVLoose, 3 = VLoose, 4 = Loose, 5 = Medium, 6 = Tight, 7 = VTight, 8 = VVTight'),
793  Plot1D('idDeepTau2017v2p1VSmu', 'idDeepTau2017v2p1VSmu', 11, -0.5, 10.5, 'byDeepTau2017v2p1VSmu ID working points (deepTau2017v2p1): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
794  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'),
795  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'),
796  Plot1D('idDeepTau2018v2p5VSmu', 'idDeepTau2018v2p5VSmu', 11, -0.5, 10.5, 'byDeepTau2018v2p5VSmu ID working points (deepTau2018v2p5): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
797  NoPlot('jetIdx'),
798  Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
799  Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
800  Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
801  Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
802  Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
803  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
804  Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
805  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
806  Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
807  Plot1D('rawDeepTau2017v2p1VSe', 'rawDeepTau2017v2p1VSe', 20, 0, 1, 'byDeepTau2017v2p1VSe raw output discriminator (deepTau2017v2p1)'),
808  Plot1D('rawDeepTau2017v2p1VSjet', 'rawDeepTau2017v2p1VSjet', 20, 0, 1, 'byDeepTau2017v2p1VSjet raw output discriminator (deepTau2017v2p1)'),
809  Plot1D('rawDeepTau2017v2p1VSmu', 'rawDeepTau2017v2p1VSmu', 20, 0, 1, 'byDeepTau2017v2p1VSmu raw output discriminator (deepTau2017v2p1)'),
810  Plot1D('rawDeepTau2018v2p5VSe', 'rawDeepTau2018v2p5VSe', 20, 0, 1, 'byDeepTau2018v2p5VSe raw output discriminator (deepTau2018v2p5)'),
811  Plot1D('rawDeepTau2018v2p5VSjet', 'rawDeepTau2018v2p5VSjet', 20, 0, 1, 'byDeepTau2018v2p5VSjet raw output discriminator (deepTau2018v2p5)'),
812  Plot1D('rawDeepTau2018v2p5VSmu', 'rawDeepTau2018v2p5VSmu', 20, 0, 1, 'byDeepTau2018v2p5VSmu raw output discriminator (deepTau2018v2p5)'),
813  Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
814  Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
815  )
816  ),
817  TkMET = cms.PSet(
818  sels = cms.PSet(),
819  plots = cms.VPSet(
820  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
821  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
822  Plot1D('sumEt', 'sumEt', 20, 0, 2000, 'scalar sum of Et'),
823  )
824  ),
825  TrigObj = cms.PSet(
826  sels = cms.PSet(
827  Electron = cms.string('id == 11'),
828  HT = cms.string('id == 3'),
829  Jet = cms.string('id == 1'),
830  MET = cms.string('id == 2'),
831  MHT = cms.string('id == 4'),
832  Muon = cms.string('id == 13'),
833  Photon = cms.string('id == 22'),
834  Tau = cms.string('id == 15')
835  ),
836  plots = cms.VPSet(
837  Count1D('_size', 28, -0.5, 27.5),
838  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
839  Plot1D('filterBits', 'filterBits', 31, 0, 31, 'extra bits of associated information, object- and era-dependent: see branch documentation', bitset=True),
840  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'),
841  Plot1D('l1charge', 'l1charge', 3, -1.5, 1.5, 'charge of associated L1 seed'),
842  Plot1D('l1iso', 'l1iso', 4, -0.5, 3.5, 'iso of associated L1 seed'),
843  Plot1D('l1pt', 'l1pt', 20, 0, 200, 'pt of associated L1 seed'),
844  Plot1D('l1pt_2', 'l1pt_2', 20, 0, 200, 'pt of associated secondary L1 seed'),
845  Plot1D('l2pt', 'l2pt', 20, 0, 200, "pt of associated 'L2' seed (i.e. HLT before tracking/PF)"),
846  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
847  Plot1D('pt', 'pt', 40, 0, 400, 'pt'),
848  )
849  ),
850  boostedTau = cms.PSet(
851  sels = cms.PSet(),
852  plots = cms.VPSet(
853  Count1D('_size', 7, -0.5, 6.5, "slimmedBoostedTaus after basic selection (pt > 40 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2017v2DBoldDMwLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBnewDMwLT2017')))"),
854  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
855  Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
856  Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
857  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
858  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'),
859  NoPlot('genPartIdx'),
860  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'),
861  Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
862  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'),
863  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'),
864  NoPlot('jetIdx'),
865  Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
866  Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
867  Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
868  Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
869  Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
870  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
871  Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
872  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
873  Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
874  Plot1D('rawAntiEle2018', 'rawAntiEle2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 raw output discriminator (2018)'),
875  Plot1D('rawAntiEleCat2018', 'rawAntiEleCat2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 category (2018)'),
876  Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
877  Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
878  Plot1D('rawMVAnewDM2017v2', 'rawMVAnewDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBnewDMwLT raw output discriminator (2017v2)'),
879  Plot1D('rawMVAoldDM2017v2', 'rawMVAoldDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBoldDMwLT raw output discriminator (2017v2)'),
880  )
881  ),
882  L1PreFiringWeight = cms.PSet(
883  sels = cms.PSet(),
884  plots = cms.VPSet(
885  Plot1D('Nom', 'Nom', 21, 0.8, 1.01, 'L1 prefiring weight nominal'),
886  Plot1D('Up', 'Up', 21, 0.8, 1.01, 'L1 prefiring weight uncertainy up'),
887  Plot1D('Dn', 'Dn', 21, 0.8, 1.01, 'L1 prefiring weight uncertainty down'),
888  Plot1D('ECAL_Nom', 'ECAL_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for ECAL objects nominal'),
889  Plot1D('Muon_Nom', 'Muon_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for muons nominal'),
890  )
891 
892  ),
893  BeamSpot = cms.PSet(
894  sels = cms.PSet(),
895  plots = cms.VPSet(
896  Plot1D('z', 'z', 20, 0.5, 1.5, 'BeamSpot center, z coordinate (cm)'),
897  Plot1D('zError', 'zError', 20, 0., 0.01, 'Error on BeamSpot center, z coordinate (cm)'),
898  Plot1D('sigmaZ', 'sigmaZ', 20, 0., 10, 'Width of BeamSpot in z (cm)'),
899  Plot1D('sigmaZError', 'sigmaZError', 20, 0., 0.01, 'Error on width of BeamSpot in z (cm)'),
900  )
901  ),
902  Rho = cms.PSet(
903  sels = cms.PSet(),
904  plots = cms.VPSet(
905  Plot1D('fixedGridRhoAll', 'fixedGridRhoAll', 100, 0, 80, 'rho from all PF Candidates, no foreground removal (for isolation of prompt photons)'),
906  )
907  ),
908  )
909 )
def Count1D(name, nbins, xmin, xmax, title="")
def Profile1D(name, ycolumn, xcolumn, nbins, xmin, xmax, title="")