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  Electron = cms.PSet(
17  sels = cms.PSet(
18  Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && cutBased >= 3 && miniPFRelIso_all < 0.4')
19  ),
20  plots = cms.VPSet(
21  Count1D('_size', 8, -0.5, 7.5, 'slimmedElectrons after basic selection (pt > 5 )'),
22  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
23  Plot1D('cleanmask', 'cleanmask', 1, 0.5, 1.5, 'simple cleaning mask with priority to leptons'),
24  Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'),
25  Plot1D('cutBased', 'cutBased', 5, -0.5, 4.5, 'cut-based ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'),
26  Plot1D('cutBased_HEEP', 'cutBased_HEEP', 2, -0.5, 1.5, 'cut-based HEEP ID'),
27  Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'),
28  Plot1D('dr03EcalRecHitSumEt', 'dr03EcalRecHitSumEt', 20, 0, 30, 'Non-PF Ecal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
29  Plot1D('dr03HcalDepth1TowerSumEt', 'dr03HcalDepth1TowerSumEt', 20, 0, 20, 'Non-PF Hcal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
30  Plot1D('dr03TkSumPt', 'dr03TkSumPt', 20, 0, 40, 'Non-PF track isolation within a delta R cone of 0.3 with electron pt > 35 GeV'),
31  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
32  Plot1D('dxyErr', 'dxyErr', 20, 0, 0.2, 'dxy uncertainty, in cm'),
33  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
34  Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
35  Plot1D('eCorr', 'eCorr', 20, 0.6, 1.6, 'ratio of the calibrated energy/miniaod energy'),
36  Plot1D('eInvMinusPInv', 'eInvMinusPInv', 20, -0.1, 0.1, '1/E_SC - 1/p_trk'),
37  Plot1D('energyErr', 'energyErr', 20, 0, 90, 'energy error of the cluster-track combination'),
38  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
39  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'),
40  NoPlot('genPartIdx'),
41  Plot1D('hoe', 'hoe', 20, 0, 1, 'H over E'),
42  Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
43  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'electron is PF candidate'),
44  NoPlot('jetIdx'),
45  Plot1D('lostHits', 'lostHits', 4, -0.5, 3.5, 'number of missing inner hits'),
46  NoPlot('mass'),
47  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
48  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
49  Plot1D('mvaFall17Iso', 'mvaFall17Iso', 20, -1, 1, 'MVA Iso ID score'),
50  Plot1D('mvaFall17Iso_WP80', 'mvaFall17Iso_WP80', 2, -0.5, 1.5, 'MVA Iso ID WP80'),
51  Plot1D('mvaFall17Iso_WP90', 'mvaFall17Iso_WP90', 2, -0.5, 1.5, 'MVA Iso ID WP90'),
52  Plot1D('mvaFall17Iso_WPL', 'mvaFall17Iso_WPL', 2, -0.5, 1.5, 'MVA Iso ID loose WP'),
53  Plot1D('mvaFall17noIso', 'mvaFall17noIso', 20, -1, 1, 'MVA noIso ID score'),
54  Plot1D('mvaFall17noIso_WP80', 'mvaFall17noIso_WP80', 2, -0.5, 1.5, 'MVA noIso ID WP80'),
55  Plot1D('mvaFall17noIso_WP90', 'mvaFall17noIso_WP90', 2, -0.5, 1.5, 'MVA noIso ID WP90'),
56  Plot1D('mvaFall17noIso_WPL', 'mvaFall17noIso_WPL', 2, -0.5, 1.5, 'MVA noIso ID loose WP'),
57  Plot1D('mvaTTH', 'mvaTTH', 20, -1, 1, 'TTH MVA lepton ID score'),
58  Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
59  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU corrections)'),
60  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
61  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
62  NoPlot('photonIdx'),
63  Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
64  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
65  Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
66  Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV, in cm'),
67  Plot1D('tightCharge', 'tightCharge', 3, -0.5, 2.5, 'Tight charge criteria (0:none, 1:isGsfScPixChargeConsistent, 2:isGsfCtfScPixChargeConsistent)'),
68  NoPlot('vidNestedWPBitmap'),
69  )
70  ),
71  FatJet = cms.PSet(
72  sels = cms.PSet(),
73  plots = cms.VPSet(
74  Count1D('_size', 6, -0.5, 5.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
75  Plot1D('area', 'area', 20, 2, 4, 'jet catchment area, for JECs'),
76  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
77  Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
78  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
79  Plot1D('btagHbb', 'btagHbb', 20, -1, 1, 'Higgs to BB tagger discriminator'),
80  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
81  Plot1D('jetId', 'jetId', 8, -0.5, 7.5, 'Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto'),
82  Plot1D('mass', 'mass', 20, 0, 300, 'mass'),
83  Plot1D('msoftdrop', 'msoftdrop', 20, -300, 300, 'Soft drop mass'),
84  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
85  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
86  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
87  Plot1D('pt', 'pt', 20, 0, 800, 'pt'),
88  NoPlot('subJetIdx1'),
89  NoPlot('subJetIdx2'),
90  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
91  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
92  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
93  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
94  )
95  ),
96  Flag = cms.PSet(
97  sels = cms.PSet(),
98  plots = cms.VPSet(
99  Plot1D('BadChargedCandidateFilter', 'BadChargedCandidateFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
100  Plot1D('BadChargedCandidateSummer16Filter', 'BadChargedCandidateSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
101  Plot1D('BadPFMuonFilter', 'BadPFMuonFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
102  Plot1D('BadPFMuonSummer16Filter', 'BadPFMuonSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
103  Plot1D('CSCTightHalo2015Filter', 'CSCTightHalo2015Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
104  Plot1D('CSCTightHaloFilter', 'CSCTightHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
105  Plot1D('CSCTightHaloTrkMuUnvetoFilter', 'CSCTightHaloTrkMuUnvetoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
106  Plot1D('EcalDeadCellBoundaryEnergyFilter', 'EcalDeadCellBoundaryEnergyFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
107  Plot1D('EcalDeadCellTriggerPrimitiveFilter', 'EcalDeadCellTriggerPrimitiveFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
108  Plot1D('HBHENoiseFilter', 'HBHENoiseFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
109  Plot1D('HBHENoiseIsoFilter', 'HBHENoiseIsoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
110  Plot1D('HcalStripHaloFilter', 'HcalStripHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
111  Plot1D('METFilters', 'METFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
112  Plot1D('chargedHadronTrackResolutionFilter', 'chargedHadronTrackResolutionFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
113  Plot1D('ecalBadCalibFilter', 'ecalBadCalibFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
114  Plot1D('ecalLaserCorrFilter', 'ecalLaserCorrFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
115  Plot1D('eeBadScFilter', 'eeBadScFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
116  Plot1D('globalSuperTightHalo2016Filter', 'globalSuperTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
117  Plot1D('globalTightHalo2016Filter', 'globalTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
118  Plot1D('goodVertices', 'goodVertices', 2, -0.5, 1.5, 'Trigger/flag bit'),
119  Plot1D('hcalLaserEventFilter', 'hcalLaserEventFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
120  Plot1D('muonBadTrackFilter', 'muonBadTrackFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
121  Plot1D('trkPOGFilters', 'trkPOGFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
122  Plot1D('trkPOG_logErrorTooManyClusters', 'trkPOG_logErrorTooManyClusters', 2, -0.5, 1.5, 'Trigger/flag bit'),
123  Plot1D('trkPOG_manystripclus53X', 'trkPOG_manystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
124  Plot1D('trkPOG_toomanystripclus53X', 'trkPOG_toomanystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
125  )
126  ),
127  GenDressedLepton = cms.PSet(
128  sels = cms.PSet(),
129  plots = cms.VPSet(
130  Count1D('_size', 25, -0.5, 24.5, 'Dressed leptons from Rivet-based ParticleLevelProducer'),
131  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
132  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
133  Plot1D('pdgId', 'pdgId', 40, -20, 20, 'pdgId'),
134  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
135  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
136  )
137  ),
138  GenJet = cms.PSet(
139  sels = cms.PSet(),
140  plots = cms.VPSet(
141  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJets, i.e. ak4 Jets made with visible genparticles'),
142  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
143  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
144  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
145  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
146  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
147  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
148  )
149  ),
150  GenJetAK8 = cms.PSet(
151  sels = cms.PSet(),
152  plots = cms.VPSet(
153  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJetAK8, i.e. ak8 Jets made with visible genparticles'),
154  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
155  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
156  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
157  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
158  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
159  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
160  )
161  ),
162  GenMET = cms.PSet(
163  sels = cms.PSet(),
164  plots = cms.VPSet(
165  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
166  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
167  )
168  ),
169  GenPart = cms.PSet(
170  sels = cms.PSet(),
171  plots = cms.VPSet(
172  Count1D('_size', 40, -0.5, 124.5, 'interesting gen particles '),
173  Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
174  NoPlot('genPartIdxMother'),
175  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'),
176  Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
177  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
178  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
179  Plot1D('status', 'status', 20, 0, 100, 'Particle status. 1=stable'),
180  Plot1D('statusFlags', 'statusFlags', 32768, 0, 32768, 'gen status flags stored bitwise, bits are: 0 : isPrompt, 1 : isDecayedLeptonHadron, 2 : isTauDecayProduct, 3 : isPromptTauDecayProduct, 4 : isDirectTauDecayProduct, 5 : isDirectPromptTauDecayProduct, 6 : isDirectHadronDecayProduct, 7 : isHardProcess, 8 : fromHardProcess, 9 : isHardProcessTauDecayProduct, 10 : isDirectHardProcessTauDecayProduct, 11 : fromHardProcessBeforeFSR, 12 : isFirstCopy, 13 : isLastCopy, 14 : isLastCopyBeforeFSR, '),
181  )
182  ),
183  GenVisTau = cms.PSet(
184  sels = cms.PSet(),
185  plots = cms.VPSet(
186  Count1D('_size', 4, -0.5, 3.5, 'gen hadronic taus '),
187  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'charge'),
188  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
189  NoPlot('genPartIdxMother'),
190  Plot1D('mass', 'mass', 20, 0, 2, 'mass'),
191  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
192  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
193  Plot1D('status', 'status', 16, -0.5, 15.5, 'Hadronic tau decay mode. 0=OneProng0PiZero, 1=OneProng1PiZero, 2=OneProng2PiZero, 10=ThreeProng0PiZero, 11=ThreeProng1PiZero, 15=Other'),
194  )
195  ),
196  IsoTrack = cms.PSet(
197  sels = cms.PSet(),
198  plots = cms.VPSet(
199  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'),
200  Plot1D('dxy', 'dxy', 20, -0.02, 0.02, 'dxy (with sign) wrt first PV, in cm'),
201  Plot1D('dz', 'dz', 20, -0.09, 0.09, 'dz (with sign) wrt first PV, in cm'),
202  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
203  Plot1D('isHighPurityTrack', 'isHighPurityTrack', 2, -0.5, 1.5, 'track is high purity'),
204  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'if isolated track is a PF candidate'),
205  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 2, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
206  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 2, 'mini PF relative isolation, charged component'),
207  Plot1D('pdgId', 'pdgId', 20, -300, 300, 'PDG id of PF cand'),
208  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
209  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
210  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
211  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
212  )
213  ),
214  Jet = cms.PSet(
215  sels = cms.PSet(
216  CentralPt30 = cms.string('abs(eta) < 2.4 && pt > 30'),
217  ForwardPt30 = cms.string('abs(eta) > 2.4 && pt > 30')
218  ),
219  plots = cms.VPSet(
220  Count1D('_size', 20, -0.5, 19.5, 'slimmedJets, i.e. ak4 PFJets CHS with JECs applied, after basic selection (pt > 15)'),
221  Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
222  Plot1D('bReg', 'bReg', 20, 30, 500, 'pt corrected with b-jet regression'),
223  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
224  Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
225  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
226  Plot1D('btagDeepC', 'btagDeepC', 20, 0, 1, 'DeepCSV charm btag discriminator'),
227  Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
228  Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
229  Plot1D('cleanmask', 'cleanmask', 2, -0.5, 1.5, 'simple cleaning mask with priority to leptons'),
230  NoPlot('electronIdx1'),
231  NoPlot('electronIdx2'),
232  Plot1D('eta', 'eta', 20, -6, 6, 'eta'),
233  NoPlot('genJetIdx'),
234  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
235  Plot1D('jetId', 'jetId', 8, -0.5, 7.5, 'Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto'),
236  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
237  NoPlot('muonIdx1'),
238  NoPlot('muonIdx2'),
239  Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
240  Plot1D('nElectrons', 'nElectrons', 5, -0.5, 4.5, 'number of electrons in the jet'),
241  Plot1D('nMuons', 'nMuons', 4, -0.5, 3.5, 'number of muons in the jet'),
242  Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
243  Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
244  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
245  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
246  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
247  Plot1D('puId', 'puId', 8, -0.5, 7.5, 'Pilup ID flags'),
248  Plot1D('qgl', 'qgl', 20, 0, 1, 'Quark vs Gluon likelihood discriminator'),
249  Plot1D('rawFactor', 'rawFactor', 20, 0.5, 1.5, '1 - Factor to get back to raw pT'),
250  )
251  ),
252  MET = cms.PSet(
253  sels = cms.PSet(),
254  plots = cms.VPSet(
255  Plot1D('MetUnclustEnUpDeltaX', 'MetUnclustEnUpDeltaX', 20, -20, 20, 'Delta (METx_mod-METx) Unclustered Energy Up'),
256  Plot1D('MetUnclustEnUpDeltaY', 'MetUnclustEnUpDeltaY', 20, -10, 10, 'Delta (METy_mod-METy) Unclustered Energy Up'),
257  Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
258  Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
259  Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
260  Plot1D('fiducialGenPhi', 'fiducialGenPhi', 20, -3.14159, 3.14159, 'phi'),
261  Plot1D('fiducialGenPt', 'fiducialGenPt', 20, 0, 400, 'pt'),
262  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
263  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
264  Plot1D('significance', 'significance', 20, 0, 200, 'MET significance'),
265  Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
266  )
267  ),
268  Muon = cms.PSet(
269  sels = cms.PSet(
270  Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && mediumId && miniPFRelIso_all < 0.4')
271  ),
272  plots = cms.VPSet(
273  Count1D('_size', 5, -0.5, 4.5, 'slimmedMuons after basic selection (pt > 3 && track.isNonnull && isLooseMuon)'),
274  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
275  Plot1D('cleanmask', 'cleanmask', 2, -0.5, 1.5, 'simple cleaning mask with priority to leptons'),
276  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
277  Plot1D('dxyErr', 'dxyErr', 20, 0, 0.1, 'dxy uncertainty, in cm'),
278  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
279  Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
280  Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
281  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'),
282  NoPlot('genPartIdx'),
283  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)'),
284  Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
285  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'muon is PF candidate'),
286  NoPlot('jetIdx'),
287  NoPlot('mass'),
288  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)'),
289  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
290  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
291  Plot1D('mvaTTH', 'mvaTTH', 20, -1, 1, 'TTH MVA lepton ID score'),
292  Plot1D('nStations', 'nStations', 5, -0.5, 4.5, 'number of matched stations with default arbitration (segment & track)'),
293  Plot1D('nTrackerLayers', 'nTrackerLayers', 15, 2.5, 17.5, 'number of layers in the tracker'),
294  Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
295  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
296  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
297  Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (deltaBeta corrections)'),
298  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
299  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
300  Plot1D('ptErr', 'ptErr', 20, 0, 20, 'ptError of the muon track'),
301  Plot1D('segmentComp', 'segmentComp', 20, 0, 1, 'muon segment compatibility'),
302  Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV'),
303  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)'),
304  Plot1D('tightCharge', 'tightCharge', 1, 1.5, 2.5, 'Tight charge criterion using pterr/pt of muonBestTrack (0:fail, 2:pass)'),
305  Profile1D('tightId', 'tightId', 'pt', 16, 0, 80, 'POG Tight muon ID'),
306  )
307  ),
308  OtherPV = cms.PSet(
309  sels = cms.PSet(),
310  plots = cms.VPSet(
311  NoPlot('_size'),
312  Plot1D('z', 'z', 20, -20, 20, 'Z position of other primary vertices, excluding the main PV'),
313  )
314  ),
315  PV = cms.PSet(
316  sels = cms.PSet(),
317  plots = cms.VPSet(
318  Plot1D('chi2', 'chi2', 20, 0.5, 3, 'main primary vertex reduced chi2'),
319  Plot1D('ndof', 'ndof', 20, 0, 500, 'main primary vertex number of degree of freedom'),
320  Plot1D('npvs', 'npvs', 20, 0, 60, 'total number of reconstructed primary vertices'),
321  Plot1D('npvsGood', 'npvsGood', 20, 0, 60, 'total number of Good primary vertices'),
322  Plot1D('score', 'score', 20, 0, 300000, 'main primary vertex score, i.e. sum pt2 of clustered objects'),
323  Plot1D('x', 'x', 20, -0.3, 0.3, 'main primary vertex position x coordinate'),
324  Plot1D('y', 'y', 20, -0.3, 0.3, 'main primary vertex position y coordinate'),
325  Plot1D('z', 'z', 20, -20, 20, 'main primary vertex position z coordinate'),
326  )
327  ),
328  Photon = cms.PSet(
329  sels = cms.PSet(),
330  plots = cms.VPSet(
331  Count1D('_size', 9, -0.5, 8.5, 'slimmedPhotons after basic selection (pt > 5 )'),
332  Plot1D('charge', 'charge', 1, -0.5, 0.5, 'electric charge'),
333  Plot1D('cleanmask', 'cleanmask', 1, 0.5, 1.5, 'simple cleaning mask with priority to leptons'),
334  Plot1D('cutBased', 'cutBased', 4, -0.5, 3.5, 'cut-based ID (0:fail, 1::loose, 2:medium, 3:tight)'),
335  Plot1D('eCorr', 'eCorr', 20, 0.6, 1.6, 'ratio of the calibrated energy/miniaod energy'),
336  NoPlot('electronIdx'),
337  Plot1D('electronVeto', 'electronVeto', 2, -0.5, 1.5, 'pass electron veto'),
338  Plot1D('energyErr', 'energyErr', 20, 0, 300, 'energy error of the cluster from regression'),
339  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
340  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'),
341  NoPlot('genPartIdx'),
342  Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
343  Plot1D('isScEtaEB', 'isScEtaEB', 2, -0.5, 1.5, 'is supercluster eta within barrel acceptance'),
344  Plot1D('isScEtaEE', 'isScEtaEE', 2, -0.5, 1.5, 'is supercluster eta within endcap acceptance'),
345  NoPlot('jetIdx'),
346  NoPlot('mass'),
347  Plot1D('mvaID', 'mvaID', 20, -1, 1, 'MVA ID score'),
348  Plot1D('mvaID_WP80', 'mvaID_WP80', 2, -0.5, 1.5, 'MVA ID WP80'),
349  Plot1D('mvaID_WP90', 'mvaID_WP90', 2, -0.5, 1.5, 'MVA ID WP90'),
350  Plot1D('pdgId', 'pdgId', 1, 21.5, 22.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
351  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU corrections)'),
352  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU corrections)'),
353  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
354  Plot1D('pixelSeed', 'pixelSeed', 2, -0.5, 1.5, 'has pixel seed'),
355  Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
356  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
357  Plot1D('sieie', 'sieie', 20, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
358  NoPlot('vidNestedWPBitmap'),
359  )
360  ),
361  Pileup = cms.PSet(
362  sels = cms.PSet(),
363  plots = cms.VPSet(
364  Plot1D('nPU', 'nPU', 20, 0, 60, 'the number of pileup interactions that have been added to the event in the current bunch crossing'),
365  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'),
366  Plot1D('sumEOOT', 'sumEOOT', 20, 0, 800, 'number of early out of time pileup'),
367  Plot1D('sumLOOT', 'sumLOOT', 20, 0, 300, 'number of late out of time pileup'),
368  )
369  ),
370  PuppiMET = cms.PSet(
371  sels = cms.PSet(),
372  plots = cms.VPSet(
373  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
374  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
375  Plot1D('sumEt', 'sumEt', 20, 200, 3000, 'scalar sum of Et'),
376  )
377  ),
378  RawMET = cms.PSet(
379  sels = cms.PSet(),
380  plots = cms.VPSet(
381  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
382  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
383  Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
384  )
385  ),
386  SV = cms.PSet(
387  sels = cms.PSet(),
388  plots = cms.VPSet(
389  Count1D('_size', 14, -0.5, 13.5),
390  Plot1D('chi2', 'chi2', 20, -2000, 2000, 'reduced chi2, i.e. chi/ndof'),
391  Plot1D('dlen', 'dlen', 20, 0, 4, 'decay length in cm'),
392  Plot1D('dlenSig', 'dlenSig', 20, 0, 50, 'decay length significance'),
393  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
394  Plot1D('mass', 'mass', 20, 0, 8, 'mass'),
395  Plot1D('ndof', 'ndof', 20, -1, 19, 'number of degrees of freedom'),
396  Plot1D('pAngle', 'pAngle', 20, -3.1416, 3.1416, 'pointing angle, i.e. acos(p_SV * (SV - PV)) '),
397  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
398  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
399  Plot1D('x', 'x', 20, -0.5, 0.5, 'secondary vertex X position, in cm'),
400  Plot1D('y', 'y', 20, -0.5, 0.5, 'secondary vertex Y position, in cm'),
401  Plot1D('z', 'z', 20, -10, 10, 'secondary vertex Z position, in cm'),
402  )
403  ),
404  SoftActivityJet = cms.PSet(
405  sels = cms.PSet(),
406  plots = cms.VPSet(
407  Count1D('_size', 7, -0.5, 6.5, 'jets clustered from charged candidates compatible with primary vertex (charge()!=0 && pvAssociationQuality()>=5 && vertexRef().key()==0)'),
408  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
409  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
410  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
411  )
412  ),
413  SubJet = cms.PSet(
414  sels = cms.PSet(),
415  plots = cms.VPSet(
416  Count1D('_size', 9, -0.5, 8.5, 'slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis'),
417  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
418  Plot1D('btagCSVV2', 'btagCSVV2', 20, -1, 1, ' pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)'),
419  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
420  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
421  Plot1D('mass', 'mass', 20, -200, 200, 'mass'),
422  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
423  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
424  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
425  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
426  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
427  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
428  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
429  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
430  )
431  ),
432  Tau = cms.PSet(
433  sels = cms.PSet(),
434  plots = cms.VPSet(
435  Count1D('_size', 7, -0.5, 6.5, "slimmedTaus after basic selection (pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT')))"),
436  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
437  Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
438  Plot1D('cleanmask', 'cleanmask', 1, 0.5, 1.5, 'simple cleaning mask with priority to leptons'),
439  Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
440  Plot1D('dxy', 'dxy', 20, -1000, 1000, 'd_{xy} of lead track with respect to PV, in cm (with sign)'),
441  Plot1D('dz', 'dz', 20, -20, 20, 'd_{z} of lead track with respect to PV, in cm (with sign)'),
442  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
443  Plot1D('footprintCorr', 'footprintCorr', 20, 0, 30, 'footprint correction'),
444  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'),
445  NoPlot('genPartIdx'),
446  Plot1D('idAntiEle', 'idAntiEle', 32, -0.5, 31.5, 'Anti-electron MVA discriminator V6: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight'),
447  Plot1D('idAntiMu', 'idAntiMu', 4, -0.5, 3.5, 'Anti-muon discriminator V3: : bitmask 1 = Loose, 2 = Tight'),
448  Plot1D('idDecayMode', 'idDecayMode', 2, -0.5, 1.5, "tauID('decayModeFinding')"),
449  Plot1D('idDecayModeNewDMs', 'idDecayModeNewDMs', 2, -0.5, 1.5, "tauID('decayModeFindingNewDMs')"),
450  Plot1D('idMVAnewDM', 'idMVAnewDM', 64, -0.5, 63.5, 'IsolationMVArun2v1DBnewDMwLT ID working point: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight, 32 = VVTight'),
451  Plot1D('idMVAoldDM', 'idMVAoldDM', 64, -0.5, 63.5, 'IsolationMVArun2v1DBoldDMwLT ID working point: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight, 32 = VVTight'),
452  Plot1D('idMVAoldDMdR03', 'idMVAoldDMdR03', 64, -0.5, 63.5, 'IsolationMVArun2v1DBdR03oldDMwLT ID working point: bitmask 1 = VLoose, 2 = Loose, 4 = Medium, 8 = Tight, 16 = VTight, 32 = VVTight'),
453  NoPlot('jetIdx'),
454  Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
455  Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
456  Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
457  Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
458  Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
459  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
460  Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
461  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
462  Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
463  Plot1D('rawAntiEle', 'rawAntiEle', 20, -100, 100, 'Anti-electron MVA discriminator V6 raw output discriminator'),
464  Plot1D('rawAntiEleCat', 'rawAntiEleCat', 17, -1.5, 15.5, 'Anti-electron MVA discriminator V6 category'),
465  Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
466  Plot1D('rawMVAnewDM', 'rawMVAnewDM', 20, -1, 1, 'byIsolationMVArun2v1DBnewDMwLT raw output discriminator'),
467  Plot1D('rawMVAoldDM', 'rawMVAoldDM', 20, -1, 1, 'byIsolationMVArun2v1DBoldDMwLT raw output discriminator'),
468  Plot1D('rawMVAoldDMdR03', 'rawMVAoldDMdR03', 20, -1, 1, 'byIsolationMVArun2v1DBdR03oldDMwLT raw output discriminator'),
469  )
470  ),
471  TkMET = cms.PSet(
472  sels = cms.PSet(),
473  plots = cms.VPSet(
474  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
475  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
476  Plot1D('sumEt', 'sumEt', 20, 0, 2000, 'scalar sum of Et'),
477  )
478  ),
479  TrigObj = cms.PSet(
480  sels = cms.PSet(
481  Electron = cms.string('id == 11'),
482  HT = cms.string('id == 3'),
483  Jet = cms.string('id == 1'),
484  MET = cms.string('id == 2'),
485  MHT = cms.string('id == 4'),
486  Muon = cms.string('id == 13'),
487  Photon = cms.string('id == 22'),
488  Tau = cms.string('id == 15')
489  ),
490  plots = cms.VPSet(
491  Count1D('_size', 28, -0.5, 27.5),
492  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
493  Plot1D('filterBits', 'filterBits', 512, -0.5, 511.5, 'extra bits of associated information: 1 = CaloIdL_TrackIdL_IsoVL, 2 = WPLoose, 4 = WPTight, 8 = OverlapFilter PFTau for Electron (PixelMatched e/gamma); 1 = TrkIsoVVL, 2 = Iso, 4 = OverlapFilter PFTau for Muon; 1 = LooseChargedIso, 2 = MediumChargedIso, 4 = TightChargedIso, 8 = TightID OOSC photons, 16 = L2p5 pixel iso, 32 = OverlapFilter IsoMu, 64 = OverlapFilter IsoEle, 128 = L1-HLT matched, 256 = Dz for Tau; 1 = VBF cross-cleaned from loose iso PFTau for Jet'),
494  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'),
495  Plot1D('l1charge', 'l1charge', 3, -1.5, 1.5, 'charge of associated L1 seed'),
496  Plot1D('l1iso', 'l1iso', 4, -0.5, 3.5, 'iso of associated L1 seed'),
497  Plot1D('l1pt', 'l1pt', 20, 0, 200, 'pt of associated L1 seed'),
498  Plot1D('l1pt_2', 'l1pt_2', 20, 0, 200, 'pt of associated secondary L1 seed'),
499  Plot1D('l2pt', 'l2pt', 20, 0, 200, "pt of associated 'L2' seed (i.e. HLT before tracking/PF)"),
500  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
501  Plot1D('pt', 'pt', 40, 0, 400, 'pt'),
502  )
503  ),
504  )
505 )
def Count1D(name, nbins, xmin, xmax, title="")
def Profile1D(name, ycolumn, xcolumn, nbins, xmin, xmax, title="")