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('particleNetWithMass_QCD', 'particleNetWithMass_QCD', 20, -1, 1, 'ParticleNet (mass-correlated) QCD score'),
186  Plot1D('particleNetWithMass_TvsQCD', 'particleNetWithMass_TvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) top vs. QCD score'),
187  Plot1D('particleNetWithMass_WvsQCD', 'particleNetWithMass_WvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) W vs. QCD score'),
188  Plot1D('particleNetWithMass_ZvsQCD', 'particleNetWithMass_ZvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) Z vs. QCD score'),
189  Plot1D('particleNetWithMass_H4qvsQCD', 'particleNetWithMass_H4qvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H(->VV->qqqq) vs. QCD score'),
190  Plot1D('particleNetWithMass_HbbvsQCD', 'particleNetWithMass_HbbvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H->bb vs. QCD score'),
191  Plot1D('particleNetWithMass_HccvsQCD', 'particleNetWithMass_HccvsQCD', 20, 0, 1, 'ParticleNet (mass-correlated) H->cc vs. QCD score'),
192  Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet QCD score'),
193  Plot1D('particleNet_QCD2HF', 'particleNet_QCD2HF', 20, 0, 1, 'ParticleNet QCD 2HF (b,c) score'),
194  Plot1D('particleNet_QCD1HF', 'particleNet_QCD1HF', 20, 0, 1, 'ParticleNet QCD 1HF (b,c) score'),
195  Plot1D('particleNet_QCD0HF', 'particleNet_QCD0HF', 20, 0, 1, 'ParticleNet QCD 0HF (b,c) score'),
196  Plot1D('particleNet_massCorr', 'particleNet_massCorr', 20, 0, 2, 'ParticleNet mass regression, correction relative to jet mass'),
197  Plot1D('particleNet_XbbVsQCD', 'particleNet_XbbVsQCD', 20, 0, 1, 'ParticleNet X->bb vs. QCD score'),
198  Plot1D('particleNet_XccVsQCD', 'particleNet_XccVsQCD', 20, 0, 1, 'ParticleNet X->cc vs. QCD score'),
199  Plot1D('particleNet_XqqVsQCD', 'particleNet_XqqVsQCD', 20, 0, 1, 'ParticleNet X->qq (uds) vs. QCD score'),
200  Plot1D('particleNet_XggVsQCD', 'particleNet_XggVsQCD', 20, 0, 1, 'ParticleNet X->gg vs. QCD score'),
201  Plot1D('particleNet_XttVsQCD', 'particleNet_XttVsQCD', 20, 0, 1, 'ParticleNet X->tautau vs. QCD score'),
202  Plot1D('particleNet_XtmVsQCD', 'particleNet_XtmVsQCD', 20, 0, 1, 'ParticleNet X->mutau vs. QCD score'),
203  Plot1D('particleNet_XteVsQCD', 'particleNet_XteVsQCD', 20, 0, 1, 'ParticleNet X->etau vs. QCD score'),
204  Plot1D('btagHbb', 'btagHbb', 20, -1, 1, 'Higgs to BB tagger discriminator'),
205  NoPlot('electronIdx3SJ'),
206  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
207  NoPlot('genJetAK8Idx'),
208  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
209  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),
210  Plot1D('lsf3', 'lsf3', 20, -1, 1, 'Lepton Subjet Fraction (3 subjets)'),
211  Plot1D('mass', 'mass', 20, 0, 300, 'mass'),
212  Plot1D('msoftdrop', 'msoftdrop', 20, -300, 300, 'Soft drop mass'),
213  NoPlot('muonIdx3SJ'),
214  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
215  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
216  Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
217  Plot1D('chMultiplicity', 'chMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of charged particles in the jet'),
218  Plot1D('neMultiplicity', 'neMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of neutral particles in the jet'),
219  Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
220  Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
221  Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
222  Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
223  Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
224  Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
225  Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
226  Plot1D('particleNetMD_QCD', 'particleNetMD_QCD', 20, 0, 1, 'Mass-decorrelated ParticleNet tagger raw QCD score'),
227  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)'),
228  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)'),
229  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)'),
230  Plot1D('particleNet_H4qvsQCD', 'particleNet_H4qvsQCD', 20, 0, 1, 'ParticleNet tagger H(->VV->qqqq) vs QCD discriminator'),
231  Plot1D('particleNet_HbbvsQCD', 'particleNet_HbbvsQCD', 20, 0, 1, 'ParticleNet tagger H(->bb) vs QCD discriminator'),
232  Plot1D('particleNet_HccvsQCD', 'particleNet_HccvsQCD', 20, 0, 1, 'ParticleNet tagger H(->cc) vs QCD discriminator'),
233  Plot1D('particleNet_QCD', 'particleNet_QCD', 20, 0, 1, 'ParticleNet tagger QCD(bb,cc,b,c,others) sum'),
234  Plot1D('particleNet_TvsQCD', 'particleNet_TvsQCD', 20, 0, 1, 'ParticleNet tagger top vs QCD discriminator'),
235  Plot1D('particleNet_WvsQCD', 'particleNet_WvsQCD', 20, 0, 1, 'ParticleNet tagger W vs QCD discriminator'),
236  Plot1D('particleNet_ZvsQCD', 'particleNet_ZvsQCD', 20, 0, 1, 'ParticleNet tagger Z vs QCD discriminator'),
237  Plot1D('particleNet_mass', 'particleNet_mass', 25, 0, 250, 'ParticleNet mass regression'),
238  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
239  Plot1D('pt', 'pt', 20, 0, 800, 'pt'),
240  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
241  NoPlot('subJetIdx1'),
242  NoPlot('subJetIdx2'),
243  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
244  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
245  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
246  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
247  )
248  ),
249  Flag = cms.PSet(
250  sels = cms.PSet(),
251  plots = cms.VPSet(
252  Plot1D('BadChargedCandidateFilter', 'BadChargedCandidateFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
253  Plot1D('BadChargedCandidateSummer16Filter', 'BadChargedCandidateSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
254  Plot1D('BadPFMuonFilter', 'BadPFMuonFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
255  Plot1D('BadPFMuonDzFilter', 'BadPFMuonDzFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
256  Plot1D('BadPFMuonSummer16Filter', 'BadPFMuonSummer16Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
257  Plot1D('CSCTightHalo2015Filter', 'CSCTightHalo2015Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
258  Plot1D('CSCTightHaloFilter', 'CSCTightHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
259  Plot1D('CSCTightHaloTrkMuUnvetoFilter', 'CSCTightHaloTrkMuUnvetoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
260  Plot1D('EcalDeadCellBoundaryEnergyFilter', 'EcalDeadCellBoundaryEnergyFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
261  Plot1D('EcalDeadCellTriggerPrimitiveFilter', 'EcalDeadCellTriggerPrimitiveFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
262  Plot1D('HBHENoiseFilter', 'HBHENoiseFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
263  Plot1D('HBHENoiseIsoFilter', 'HBHENoiseIsoFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
264  Plot1D('HcalStripHaloFilter', 'HcalStripHaloFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
265  Plot1D('METFilters', 'METFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
266  Plot1D('chargedHadronTrackResolutionFilter', 'chargedHadronTrackResolutionFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
267  Plot1D('ecalBadCalibFilter', 'ecalBadCalibFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
268  Plot1D('ecalBadCalibFilterV2', 'ecalBadCalibFilterV2', 1, 0.5, 1.5, 'Bad ECAL calib flag (updated xtal list)'),
269  Plot1D('ecalLaserCorrFilter', 'ecalLaserCorrFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
270  Plot1D('eeBadScFilter', 'eeBadScFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
271  Plot1D('globalSuperTightHalo2016Filter', 'globalSuperTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
272  Plot1D('globalTightHalo2016Filter', 'globalTightHalo2016Filter', 2, -0.5, 1.5, 'Trigger/flag bit'),
273  Plot1D('hfNoisyHitsFilter', 'hfNoisyHitsFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
274  Plot1D('goodVertices', 'goodVertices', 2, -0.5, 1.5, 'Trigger/flag bit'),
275  Plot1D('hcalLaserEventFilter', 'hcalLaserEventFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
276  Plot1D('muonBadTrackFilter', 'muonBadTrackFilter', 2, -0.5, 1.5, 'Trigger/flag bit'),
277  Plot1D('trkPOGFilters', 'trkPOGFilters', 2, -0.5, 1.5, 'Trigger/flag bit'),
278  Plot1D('trkPOG_logErrorTooManyClusters', 'trkPOG_logErrorTooManyClusters', 2, -0.5, 1.5, 'Trigger/flag bit'),
279  Plot1D('trkPOG_manystripclus53X', 'trkPOG_manystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
280  Plot1D('trkPOG_toomanystripclus53X', 'trkPOG_toomanystripclus53X', 2, -0.5, 1.5, 'Trigger/flag bit'),
281  )
282  ),
283  FsrPhoton = cms.PSet(
284  sels = cms.PSet(),
285  plots = cms.VPSet(
286  Count1D('_size', 4, -0.5, 3.5, 'Final state radiation photons emitted by muons'),
287  Plot1D('dROverEt2', 'dROverEt2', 20, 0, 0.05, 'deltaR to associated muon divided by photon et2'),
288  Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
289  NoPlot('muonIdx'),
290  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
291  Plot1D('pt', 'pt', 20, 0, 40, 'pt'),
292  Plot1D('relIso03', 'relIso03', 20, 0, 2, 'relative isolation in a 0.3 cone without CHS'),
293  )
294  ),
295  GenDressedLepton = cms.PSet(
296  sels = cms.PSet(),
297  plots = cms.VPSet(
298  Count1D('_size', 25, -0.5, 24.5, 'Dressed leptons from Rivet-based ParticleLevelProducer'),
299  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
300  Plot1D('hasTauAnc', 'hasTauAnc', 2, -0.5, 1.5, 'true if Dressed lepton has a tau as ancestor'),
301  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
302  Plot1D('pdgId', 'pdgId', 40, -20, 20, 'pdgId'),
303  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
304  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
305  )
306  ),
307  GenIsolatedPhoton = cms.PSet(
308  sels = cms.PSet(),
309  plots = cms.VPSet(
310  Count1D('_size', 10, -0.5, 9.5, 'Isolated photons from Rivet-based ParticleLevelProducer'),
311  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
312  NoPlot('mass'),
313  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
314  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
315  )
316  ),
317  GenJet = cms.PSet(
318  sels = cms.PSet(),
319  plots = cms.VPSet(
320  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJets, i.e. ak4 Jets made with visible genparticles'),
321  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
322  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
323  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
324  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
325  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
326  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
327  )
328  ),
329  GenJetAK8 = cms.PSet(
330  sels = cms.PSet(),
331  plots = cms.VPSet(
332  Count1D('_size', 25, -0.5, 24.5, 'slimmedGenJetAK8, i.e. ak8 Jets made with visible genparticles'),
333  Plot1D('eta', 'eta', 20, -7, 7, 'eta'),
334  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
335  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
336  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
337  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
338  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
339  )
340  ),
341  GenMET = cms.PSet(
342  sels = cms.PSet(),
343  plots = cms.VPSet(
344  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
345  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
346  )
347  ),
348  GenPart = cms.PSet(
349  sels = cms.PSet(),
350  plots = cms.VPSet(
351  Count1D('_size', 40, -0.5, 124.5, 'interesting gen particles '),
352  Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
353  NoPlot('genPartIdxMother'),
354  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'),
355  Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
356  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
357  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
358  Plot1D('status', 'status', 20, 0, 100, 'Particle status. 1=stable'),
359  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),
360  )
361  ),
362  GenVtx = cms.PSet(
363  sels = cms.PSet(),
364  plots = cms.VPSet(
365  Plot1D('x', 'x', 50, -0.5, 0.5, 'Gen vertex x position'),
366  Plot1D('y', 'y', 50, -0.5, 0.5, 'Gen vertex y position'),
367  Plot1D('z', 'z', 30, -15, 15, 'Gen vertex z position'),
368  Plot1D('t0', 't0', 20, -1, 1, 'Gen vertex time (t0)'),
369  )
370  ),
371  GenVisTau = cms.PSet(
372  sels = cms.PSet(),
373  plots = cms.VPSet(
374  Count1D('_size', 4, -0.5, 3.5, 'gen hadronic taus '),
375  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'charge'),
376  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
377  NoPlot('genPartIdxMother'),
378  Plot1D('mass', 'mass', 20, 0, 2, 'mass'),
379  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
380  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
381  Plot1D('status', 'status', 16, -0.5, 15.5, 'Hadronic tau decay mode. 0=OneProng0PiZero, 1=OneProng1PiZero, 2=OneProng2PiZero, 10=ThreeProng0PiZero, 11=ThreeProng1PiZero, 15=Other'),
382  )
383  ),
384  IsoTrack = cms.PSet(
385  sels = cms.PSet(),
386  plots = cms.VPSet(
387  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'),
388  Plot1D('dxy', 'dxy', 20, -0.02, 0.02, 'dxy (with sign) wrt first PV, in cm'),
389  Plot1D('dz', 'dz', 20, -0.09, 0.09, 'dz (with sign) wrt first PV, in cm'),
390  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
391  Plot1D('fromPV', 'fromPV', 5, -1.5, 3.5, 'provenance from primary vertex'),
392  Plot1D('isFromLostTrack', 'isFromLostTrack', 2, -0.5, 1.5, 'if isolated track comes from a lost track'),
393  Plot1D('isHighPurityTrack', 'isHighPurityTrack', 2, -0.5, 1.5, 'track is high purity'),
394  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'if isolated track is a PF candidate'),
395  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 2, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
396  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 2, 'mini PF relative isolation, charged component'),
397  Plot1D('pdgId', 'pdgId', 20, -300, 300, 'PDG id of PF cand'),
398  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
399  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
400  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
401  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
402  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge')
403  )
404  ),
405  Jet = cms.PSet(
406  sels = cms.PSet(
407  CentralPt30 = cms.string('abs(eta) < 2.4 && pt > 30'),
408  ForwardPt30 = cms.string('abs(eta) > 2.4 && pt > 30')
409  ),
410  plots = cms.VPSet(
411  Count1D('_size', 20, -0.5, 19.5, 'slimmedJets, i.e. ak4 PFJets CHS with JECs applied, after basic selection (pt > 15)'),
412  Plot1D('area', 'area', 20, 0.2, 0.8, 'jet catchment area, for JECs'),
413  Plot1D('bRegCorr', 'bRegCorr', 20, 0, 3, 'pt correction for b-jet energy regression'),
414  Plot1D('bRegRes', 'bRegRes', 20, 0, 0.6, 'res on pt corrected with b-jet regression'),
415  Plot1D('btagDeepFlavB', 'btagDeepFlavB', 20, 0, 1, 'DeepFlavour b+bb tag discriminator'),
416  Plot1D('btagDeepFlavC', 'btagDeepFlavC', 20, 0, 1, 'DeepFlavour charm tag discriminator'),
417  Plot1D('btagDeepFlavCvB', 'btagDeepFlavCvB', 20, -1, 1, 'DeepJet c vs b+bb+lepb discriminator'),
418  Plot1D('btagDeepFlavCvL', 'btagDeepFlavCvL', 20, -1, 1, 'DeepJet c vs uds+g discriminator'),
419  Plot1D('btagDeepFlavQG', 'btagDeepFlavQG', 20, -1, 1, 'DeepJet g vs uds discriminator'),
420  Plot1D('btagRobustParTAK4B', 'btagRobustParTAK4B', 20, 0, 1, 'RobustParTAK4 b+bb+lepb tag discriminator'),
421  Plot1D('btagRobustParTAK4CvB', 'btagRobustParTAK4CvB', 20, -1, 1, 'RobustParTAK4 c vs b+bb+lepb discriminator'),
422  Plot1D('btagRobustParTAK4CvL', 'btagRobustParTAK4CvL', 20, -1, 1, 'RobustParTAK4 c vs uds+g discriminator'),
423  Plot1D('btagRobustParTAK4QG', 'btagRobustParTAK4QG', 20, -1, 1, 'RobustParTAK4 g vs uds discriminator'),
424  Plot1D('cRegCorr', 'cRegCorr', 20, 0.6, 2, 'pt correction for c-jet energy regression'),
425  Plot1D('cRegRes', 'cRegRes', 20, 0.05, 0.4, 'res on pt corrected with c-jet regression'),
426  Plot1D('btagPNetB', 'btagPNetB', 20, 0, 1, 'ParticleNet b tag discriminator'),
427  Plot1D('btagPNetCvL', 'btagPNetCvL', 20, 0, 1, 'ParticleNet c vs. light (udsg) discriminator'),
428  Plot1D('btagPNetCvB', 'btagPNetCvB', 20, 0, 1, 'ParticleNet c vs. b discriminator'),
429  Plot1D('btagPNetQvG', 'btagPNetQvG', 20, 0, 1, 'ParticleNet quark (udsbc) vs. gluon discriminator'),
430  Plot1D('btagPNetTauVJet', 'btagPNetTauVJet', 20, 0, 1, 'ParticleNet tau vs. jet discriminator'),
431  Plot1D('PNetRegPtRawCorr', 'PNetRegPtRawCorr', 20, 0, 2, 'ParticleNet visible pT regression, correction relative to raw pT'),
432  Plot1D('PNetRegPtRawCorrNeutrino', 'PNetRegPtRawCorrNeutrino', 20, 0, 2, 'ParticleNet neutrino pT correction, relative to regressed visible pT'),
433  Plot1D('PNetRegPtRawRes', 'PNetRegPtRawRes', 20, 0, 0.5, 'ParticleNet per-jet resolution estimator: (q84 - q16)/2'),
434  Plot1D('chEmEF', 'chEmEF', 20, 0, 1, 'charged Electromagnetic Energy Fraction'),
435  Plot1D('chFPV0EF', 'chFPV0EF', 20, 0, 2, 'charged fromPV==0 Energy Fraction (energy excluded from CHS jets). Previously called betastar.'),
436  Plot1D('chHEF', 'chHEF', 20, 0, 2, 'charged Hadron Energy Fraction'),
437  NoPlot('electronIdx1'),
438  NoPlot('electronIdx2'),
439  Plot1D('eta', 'eta', 20, -6, 6, 'eta'),
440  NoPlot('genJetIdx'),
441  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
442  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),
443  Plot1D('mass', 'mass', 20, 0, 200, 'mass'),
444  Plot1D('muEF', 'muEF', 20, 0, 1, 'muon Energy Fraction'),
445  NoPlot('muonIdx1'),
446  NoPlot('muonIdx2'),
447  Plot1D('muonSubtrFactor', 'muonSubtrFactor', 20, 0, 1, '1-(muon-subtracted raw pt)/(raw pt)'),
448  Plot1D('nConstituents', 'nConstituents', 20, 0, 80, 'Number of particles in the jet'),
449  Plot1D('chMultiplicity', 'chMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of charged particles in the jet'),
450  Plot1D('neMultiplicity', 'neMultiplicity', 20, 0, 80, '(Puppi-weighted) Number of neutral particles in the jet'),
451  Plot1D('nElectrons', 'nElectrons', 5, -0.5, 4.5, 'number of electrons in the jet'),
452  Plot1D('nMuons', 'nMuons', 4, -0.5, 3.5, 'number of muons in the jet'),
453  Plot1D('neEmEF', 'neEmEF', 20, 0, 1, 'charged Electromagnetic EnergyFraction'),
454  Plot1D('neHEF', 'neHEF', 20, 0, 1, 'neutral Hadron Energy Fraction'),
455  Plot1D('partonFlavour', 'partonFlavour', 40, -9.5, 30.5, 'flavour from parton matching'),
456  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
457  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
458  Plot1D('puId', 'puId', 8, -0.5, 7.5, 'Pilup ID flags'),
459  Plot1D('puIdDisc', 'puIdDisc', 20, -1, 1, 'Pilup ID discriminant with 102X (2018) training'),
460  Plot1D('qgl', 'qgl', 20, 0, 1, 'Quark vs Gluon likelihood discriminator'),
461  Plot1D('hfHEF', 'hfHEF', 20, 0, 1, 'hadronic Energy Fraction in HF'),
462  Plot1D('hfEmEF', 'hfEmEF', 20, 0, 1, 'electromagnetic Energy Fraction in HF'),
463  Plot1D('hfsigmaEtaEta', 'hfsigmaEtaEta', 20, 0, 0.2, 'sigmaEtaEta for HF jets (noise discriminating variable)'),
464  Plot1D('hfsigmaPhiPhi', 'hfsigmaPhiPhi', 20, 0, 0.2, 'sigmaPhiPhi for HF jets (noise discriminating variable)'),
465  Plot1D('hfcentralEtaStripSize', 'hfcentralEtaStripSize', 10, 0, 10, 'eta size of the central tower strip in HF (noise discriminating variable)'),
466  Plot1D('hfadjacentEtaStripsSize', 'hfadjacentEtaStripsSize', 10, 0, 10, 'eta size of the strips next to the central tower strip in HF (noise discriminating variable)'),
467  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
468  )
469  ),
470  LHEPart = cms.PSet(
471  sels = cms.PSet(),
472  plots = cms.VPSet(
473  Count1D('_size', 20, 0, 20, 'LHE particles'),
474  Plot1D('eta', 'eta', 20, -30000, 30000, 'eta'),
475  Plot1D('pdgId', 'pdgId', 20, -6000, 6000, 'PDG id'),
476  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
477  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
478  )
479  ),
480  LHEPdfWeight = cms.PSet(
481  sels = cms.PSet(),
482  plots = cms.VPSet(
483  Count1D('_size', 1000, 0, 2000, 'LHE PDF weights'),
484  Plot1D('', '', 100, 0, 2, 'all weights'),
485  )
486  ),
487  LHEScaleWeight = cms.PSet(
488  sels = cms.PSet(),
489  plots = cms.VPSet(
490  Count1D('_size', 20, 0, 20, 'LHE scale weights'),
491  Plot1D('', '', 100, 0, 2, 'all weights'),
492  )
493  ),
494 
495  MET = cms.PSet(
496  sels = cms.PSet(),
497  plots = cms.VPSet(
498  Plot1D('MetUnclustEnUpDeltaX', 'MetUnclustEnUpDeltaX', 20, -20, 20, 'Delta (METx_mod-METx) Unclustered Energy Up'),
499  Plot1D('MetUnclustEnUpDeltaY', 'MetUnclustEnUpDeltaY', 20, -10, 10, 'Delta (METy_mod-METy) Unclustered Energy Up'),
500  Plot1D('covXX', 'covXX', 20, 0, 40000, 'xx element of met covariance matrix'),
501  Plot1D('covXY', 'covXY', 20, -8000, 8000, 'xy element of met covariance matrix'),
502  Plot1D('covYY', 'covYY', 20, 0, 50000, 'yy element of met covariance matrix'),
503  Plot1D('fiducialGenPhi', 'fiducialGenPhi', 20, -3.14159, 3.14159, 'phi'),
504  Plot1D('fiducialGenPt', 'fiducialGenPt', 20, 0, 400, 'pt'),
505  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
506  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
507  Plot1D('significance', 'significance', 20, 0, 200, 'MET significance'),
508  Plot1D('sumEt', 'sumEt', 20, 600, 5000, 'scalar sum of Et'),
509  Plot1D('sumPtUnclustered', 'sumPtUnclustered', 20, 0, 3000, 'sumPt used for MET significance'),
510  )
511  ),
512  Muon = cms.PSet(
513  sels = cms.PSet(
514  Good = cms.string('pt > 15 && abs(dxy) < 0.2 && abs(dz) < 0.5 && mediumId && miniPFRelIso_all < 0.4')
515  ),
516  plots = cms.VPSet(
517  Count1D('_size', 5, -0.5, 4.5, 'slimmedMuons after basic selection (pt > 3 && track.isNonnull && isLooseMuon)'),
518  Plot1D('bsConstrainedPt', '', 20, 0., 200., 'pt with beamspot constraint'),
519  Plot1D('bsConstrainedPtErr', '', 20, 0., 20., 'pt error w. beamspot constraint'),
520  Plot1D('bsConstrainedChi2', '', 20, 0., 40., 'chi2 of beamspot constraint'),
521  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
522  Plot1D('dxy', 'dxy', 20, -0.1, 0.1, 'dxy (with sign) wrt first PV, in cm'),
523  Plot1D('dxyErr', 'dxyErr', 20, 0, 0.1, 'dxy uncertainty, in cm'),
524  Plot1D('dxybs', 'dxybs', 20, -0.1, 0.1, 'dxy (with sign) wrt the beam spot, in cm'),
525  Plot1D('dz', 'dz', 20, -0.3, 0.3, 'dz (with sign) wrt first PV, in cm'),
526  Plot1D('dzErr', 'dzErr', 20, 0, 0.2, 'dz uncertainty, in cm'),
527  Plot1D('eta', 'eta', 20, -2.5, 2.5, 'eta'),
528  NoPlot('fsrPhotonIdx'),
529  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'),
530  NoPlot('genPartIdx'),
531  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)'),
532  Plot1D('highPurity', 'highPurity', 2, -0.5, 1.5, 'inner track is high purity'),
533  Plot1D('inTimeMuon', 'inTimeMuon', 2, -0.5, 1.5, 'inTimeMuon ID'),
534  Plot1D('ip3d', 'ip3d', 20, 0, 0.2, '3D impact parameter wrt first PV, in cm'),
535  Plot1D('isGlobal', 'isGlobal', 2, -0.5, 1.5, 'muon is global muon'),
536  Plot1D('isPFcand', 'isPFcand', 2, -0.5, 1.5, 'muon is PF candidate'),
537  Plot1D('isTracker', 'isTracker', 2, -0.5, 1.5, 'muon is tracker muon'),
538  Plot1D('isStandalone', 'isStandalone', 2, -0.5, 1.5, 'muon is a standalone muon'),
539  NoPlot('jetIdx'),
540  Plot1D('jetPtRelv2', 'jetPtRelv2', 20, 0, 30, 'Relative momentum of the lepton with respect to the closest jet after subtracting the lepton'),
541  Plot1D('jetRelIso', 'jetRelIso', 20, -0.2, 1.8, 'Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)'),
542  Plot1D('looseId', 'looseId', 2, -0.5, 1.5, 'muon is loose muon'),
543  NoPlot('mass'),
544  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)'),
545  Plot1D('mediumPromptId', 'mediumPromptId', 2, -0.5, 1.5, 'cut-based ID, medium prompt WP'),
546  Plot1D('miniIsoId', 'miniIsoId', 5, -0.5, 4.5, 'MiniIso ID from miniAOD selector (1=MiniIsoLoose, 2=MiniIsoMedium, 3=MiniIsoTight, 4=MiniIsoVeryTight)'),
547  Plot1D('miniPFRelIso_all', 'miniPFRelIso_all', 20, 0, 1, 'mini PF relative isolation, total (with scaled rho*EA PU corrections)'),
548  Plot1D('miniPFRelIso_chg', 'miniPFRelIso_chg', 20, 0, 1, 'mini PF relative isolation, charged component'),
549  Plot1D('multiIsoId', 'multiIsoId', 3, -0.5, 2.5, 'MultiIsoId from miniAOD selector (1=MultiIsoLoose, 2=MultiIsoMedium)'),
550  Plot1D('mvaLowPt', 'mvaLowPt', 20, -1, 1, 'Low pt muon ID score'),
551  Plot1D('mvaTTH', 'mvaTTH', 20, -1, 1, 'TTH MVA lepton ID score'),
552  Plot1D('mvaMuID', 'mvaMuID', 20, 0, 1, 'Score of MVA-based muon ID'),
553  Plot1D('mvaMuID_WP', 'mvaMuID_WP', 3, -0.5, 2.5, 'MVA-based ID selector WPs (1=MVAIDwpMedium,2=MVAIDwpTight)'),
554  Plot1D('nStations', 'nStations', 5, -0.5, 4.5, 'number of matched stations with default arbitration (segment & track)'),
555  Plot1D('nTrackerLayers', 'nTrackerLayers', 15, 2.5, 17.5, 'number of layers in the tracker'),
556  Plot1D('jetNDauCharged', 'jetNDauCharged', 20, -0.5, 19.5, 'number of charged daughters of the closest jet'),
557  Plot1D('pdgId', 'pdgId', 27, -13.5, 13.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
558  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)'),
559  Plot1D('pfRelIso03_all', 'pfRelIso03_all', 20, 0, 2, 'PF relative isolation dR=0.3, total (deltaBeta corrections)'),
560  Plot1D('pfRelIso03_chg', 'pfRelIso03_chg', 20, 0, 2, 'PF relative isolation dR=0.3, charged component'),
561  Plot1D('pfRelIso04_all', 'pfRelIso04_all', 20, 0, 2, 'PF relative isolation dR=0.4, total (deltaBeta corrections)'),
562  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
563  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
564  Plot1D('ptErr', 'ptErr', 20, 0, 20, 'ptError of the muon track'),
565  Plot1D('segmentComp', 'segmentComp', 20, 0, 1, 'muon segment compatibility'),
566  Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV'),
567  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)'),
568  Plot1D('softMva', 'softMva', 20, -1, 1, 'soft MVA ID score'),
569  Plot1D('softMvaId', 'softMvaId', 2, -0.5, 1.5, 'soft MVA ID'),
570  Plot1D('tightCharge', 'tightCharge', 1, 1.5, 2.5, 'Tight charge criterion using pterr/pt of muonBestTrack (0:fail, 2:pass)'),
571  Profile1D('tightId', 'tightId', 'pt', 16, 0, 80, 'POG Tight muon ID'),
572  Plot1D('tkIsoId', 'tkIsoId', 3, -0.5, 2.5, 'TkIso ID (1=TkIsoLoose, 2=TkIsoTight)'),
573  Plot1D('tkRelIso', 'tkRelIso', 100, 0, 1, 'Tracker-based relative isolation dR=0.3 for highPt, trkIso/tunePpt'),
574  Plot1D('triggerIdLoose', 'triggerIdLoose', 2, -0.5, 1.5, 'TriggerIdLoose ID'),
575  Plot1D('tunepRelPt', 'tunepRelPt', 200, 0, 200, 'TuneP relative pt, tunePpt/pt'),
576  )
577  ),
578  OtherPV = cms.PSet(
579  sels = cms.PSet(),
580  plots = cms.VPSet(
581  NoPlot('_size'),
582  Plot1D('z', 'z', 20, -20, 20, 'Z position of other primary vertices, excluding the main PV'),
583  Plot1D('score', 'score', 20, 0, 300000, 'scores of other primary vertices, excluding the main PV'),
584  )
585  ),
586  PPSLocalTrack = cms.PSet(
587  sels = cms.PSet(),
588  plots = cms.VPSet(
589  Count1D('_size', 26, -0.5, 25.5, 'ppsLocalTrack variables'),
590  Plot1D('decRPId', 'decRPId', 20, 0, 200, 'local track detector dec id'),
591  NoPlot('multiRPProtonIdx'),
592  Plot1D('rpType', 'rpType', 2, 3.5, 5.5, 'strip=3, pixel=4, diamond=5, timing=6'),
593  Plot1D('time', 'time', 20, -2, 2, 'local track time'),
594  Plot1D('timeUnc', 'timeUnc', 20, 0, 0.3, 'local track time uncertainty'),
595  Plot1D('x', 'x', 20, 2, 30, 'local track x'),
596  Plot1D('y', 'y', 20, -20, 20, 'local track y'),
597  )
598  ),
599  PSWeight = cms.PSet(
600  sels = cms.PSet(),
601  plots = cms.VPSet(
602  Plot1D('', '', 20, 0, 2, 'All PS weights (w_var / w_nominal)'),
603  Count1D('_size', 46, -0.5, 45.5, 'Number of PS weights'),
604  )
605  ),
606  PV = cms.PSet(
607  sels = cms.PSet(),
608  plots = cms.VPSet(
609  Plot1D('chi2', 'chi2', 20, 0.5, 3, 'main primary vertex reduced chi2'),
610  Plot1D('ndof', 'ndof', 20, 0, 500, 'main primary vertex number of degree of freedom'),
611  Plot1D('npvs', 'npvs', 20, 0, 60, 'total number of reconstructed primary vertices'),
612  Plot1D('npvsGood', 'npvsGood', 20, 0, 60, 'total number of Good primary vertices'),
613  Plot1D('score', 'score', 20, 0, 300000, 'main primary vertex score, i.e. sum pt2 of clustered objects'),
614  Plot1D('x', 'x', 20, -0.3, 0.3, 'main primary vertex position x coordinate'),
615  Plot1D('y', 'y', 20, -0.3, 0.3, 'main primary vertex position y coordinate'),
616  Plot1D('z', 'z', 20, -20, 20, 'main primary vertex position z coordinate'),
617  )
618  ),
619  Photon = cms.PSet(
620  sels = cms.PSet(),
621  plots = cms.VPSet(
622  Count1D('_size', 9, -0.5, 8.5, 'slimmedPhotons after basic selection (pt > 5 )'),
623  Plot1D('charge', 'charge', 1, -0.5, 0.5, 'electric charge'),
624  Plot1D('cutBased', 'cutBased', 4, -0.5, 3.5,'cut-based ID bitmap, (0:fail, 1:loose, 2:medium, 3:tight)'),
625  Plot1D('cutBased_Fall17V2', 'cutBased_Fall17V2', 4, -0.5, 3.5, 'cut-based ID bitmap, Fall17V2, (0:fail, 1:loose, 2:medium, 3:tight)'),
626  NoPlot('electronIdx'),
627  Plot1D('electronVeto', 'electronVeto', 2, -0.5, 1.5, 'pass electron veto'),
628  Plot1D('energyErr', 'energyErr', 20, 0, 300, 'energy error of the cluster from regression'),
629  Plot1D('energyRaw', 'energyRaw', 100, 0, 300, 'raw energy of photon supercluster'),
630  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
631  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'),
632  NoPlot('genPartIdx'),
633  Plot1D('hoe', 'hoe', 20, 0, 0.6, 'H over E'),
634  Plot1D('hoe_PUcorr', 'hoe_PUcorr', 20, 0, 0.6, 'H over E with PU correction'),
635  Plot1D('isScEtaEB', 'isScEtaEB', 2, -0.5, 1.5, 'is supercluster eta within barrel acceptance'),
636  Plot1D('isScEtaEE', 'isScEtaEE', 2, -0.5, 1.5, 'is supercluster eta within endcap acceptance'),
637  NoPlot('jetIdx'),
638  NoPlot('mass'),
639  Plot1D('mvaID', 'mvaID', 20, -1, 1, 'MVA ID score'),
640  Plot1D('mvaID_WP80', 'mvaID_WP80', 2, -0.5, 1.5, 'MVA ID WP80'),
641  Plot1D('mvaID_WP90', 'mvaID_WP90', 2, -0.5, 1.5, 'MVA ID WP90'),
642  Plot1D('mvaID_Fall17V2', 'mvaID_Fall17V2', 20, -1, 1, 'Fall17V2 MVA ID score'),
643  Plot1D('mvaID_Fall17V2_WP80', 'mvaID_WP80_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP80'),
644  Plot1D('mvaID_Fall17V2_WP90', 'mvaID_WP90_Fall17V2', 2, -0.5, 1.5, 'Fall17V2 MVA ID WP90'),
645  Plot1D('trkSumPtHollowConeDR03', 'trkSumPtHollowConeDR03', 100, 0, 8, 'Sum of track pT in a hollow cone of outer radius, inner radius'),
646  Plot1D('pfPhoIso03', 'pfPhoIso03', 100, 0, 1, 'PF absolute isolation dR=0.3, photon component (uncorrected)'),
647  Plot1D('pfChargedIsoPFPV', 'pfChargedIsoPFPV', 100, 0, 5, 'PF absolute isolation dR=0.3, charged component (PF PV only)'),
648  Plot1D('pfChargedIsoWorstVtx', 'pfChargedIsoWorstVtx', 100, 0, 10,'PF absolute isolation dR=0.3, charged component (Vertex with largest isolation)'),
649  Plot1D('pdgId', 'pdgId', 1, 21.5, 22.5, 'PDG code assigned by the event reconstruction (not by MC truth)'),
650  Plot1D('pfRelIso03_all_Fall17V2', 'pfRelIso03_all_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, total (with rho*EA PU Fall17V2 corrections)'),
651  Plot1D('pfRelIso03_chg_Fall17V2', 'pfRelIso03_chg_Fall17V2', 20, 0, 2, 'PF relative isolation dR=0.3, charged component (with rho*EA PU Fall17V2 corrections)'),
652  Plot1D('pfRelIso03_all_quadratic', 'pfRelIso03_all_quadratic', 20, 0, 2, 'PF relative isolation dR=0.3, total (with quadraticEA*rho*rho + linearEA*rho corrections)'),
653  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)'),
654  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
655  Plot1D('pixelSeed', 'pixelSeed', 2, -0.5, 1.5, 'has pixel seed'),
656  Plot1D('hasConversionTrackTracks', 'hasConversionTrackTracks', 2, -0.5, 1.5, 'Variable specifying if photon has associated conversion tracks (one-legged or two-legged)'),
657  Plot1D('pt', 'pt', 20, 0, 200, 'pt (corrected)'),
658  Plot1D('r9', 'r9', 20, 0, 1.1, 'R9 of the supercluster, calculated with full 5x5 region'),
659  Plot1D('seedGain', 'seedGain', 12, 0.5, 12.5, 'Gain of the seed crystal'),
660  Plot1D('seediEtaOriX', 'seediEtaOriX', 200, -90, 110, 'iEta/iX of seed crystal'),
661  Plot1D('seediPhiOriY', 'seediPhiOriY', 380, -10, 370, 'iPhi/iY of seed crystal'),
662  Plot1D('sieie', 'sieie', 100, 0, 0.05, 'sigma_IetaIeta of the supercluster, calculated with full 5x5 region'),
663  Plot1D('sipip', 'sipip', 100, 0, 0.05, 'sigmaIphiIphi of the supercluster'),
664  Plot1D('sieip', 'sieip', 100, -0.0002, 0.0002, 'sigma_IetaIphi of the supercluster, calculated with full 5x5 region'),
665  Plot1D('s4', 's4', 100, 0.4, 1, 'e2x2/e5x5 of the supercluster, calculated with full 5x5 region'),
666  Plot1D('etaWidth', 'etaWidth', 100, 0, 0.03, 'Width of the photon supercluster in eta'),
667  Plot1D('phiWidth', 'phiWidth', 100, 0, 0.1, 'Width of the photon supercluster in phi'),
668  Plot1D('x_calo', 'x_calo', 100, -150, 150, 'photon supercluster position on calorimeter, x coordinate (cm)'),
669  Plot1D('y_calo', 'y_calo', 100, -150, 150, 'photon supercluster position on calorimeter, y coordinate (cm)'),
670  Plot1D('z_calo', 'z_calo', 100, -330, 330, 'photon supercluster position on calorimeter, y coordinate (cm)'),
671  Plot1D('esEffSigmaRR', 'esEffSigmaRR', 100, 0, 10, 'preshower sigmaRR'),
672  Plot1D('esEnergyOverRawE', 'esEnergyOverRawE', 100, 0, 0.2, 'ratio of preshower energy to raw supercluster energy'),
673  NoPlot('vidNestedWPBitmap'),
674  NoPlot('vidNestedWPBitmap_Fall17V2'),
675  )
676  ),
677  Proton_multiRP = cms.PSet(
678  sels = cms.PSet(),
679  plots = cms.VPSet(
680  Count1D('_size', 3, -0.5, 2.5, 'bon'),
681  Plot1D('arm', 'arm', 2, -0.5, 1.5, '0 = sector45, 1 = sector56'),
682  Plot1D('t', 't', 20, -500, -0.003, 'Mandelstam variable t'),
683  Plot1D('thetaX', 'thetaX', 20, -0.0004, 0.0004, 'scattering angle in the y direction'),
684  Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
685  Plot1D('time', 'time', 20, -1000, -1000, 'time'),
686  Plot1D('timeUnc', 'timeUnc', 20, 0, 0, 'time uncertainty'),
687  Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
688  )
689  ),
690  Proton_singleRP = cms.PSet(
691  sels = cms.PSet(),
692  plots = cms.VPSet(
693  Count1D('_size', 3, -0.5, 2.5, 'bon'),
694  Plot1D('xi', 'xi', 20, 0, 0.3, 'fractional momentum loss'),
695  Plot1D('thetaY', 'thetaY', 20, -0.001, 0.001, 'scattering angle in the x direction'),
696  Plot1D('decRPId', 'decRPId', 20, 0, 200, 'Detector ID'),
697  )
698  ),
699  Pileup = cms.PSet(
700  sels = cms.PSet(),
701  plots = cms.VPSet(
702  Plot1D('gpudensity', 'gpudensity', 20, 0, 0.9, 'Generator-level PU vertices / mm'),
703  Plot1D('nPU', 'nPU', 20, 0, 60, 'the number of pileup interactions that have been added to the event in the current bunch crossing'),
704  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'),
705  Plot1D('pudensity', 'pudensity', 5, -0.5, 4.5, 'PU vertices / mm'),
706  Plot1D('sumEOOT', 'sumEOOT', 20, 0, 800, 'number of early out of time pileup'),
707  Plot1D('sumLOOT', 'sumLOOT', 20, 0, 300, 'number of late out of time pileup'),
708  )
709  ),
710  PuppiMET = cms.PSet(
711  sels = cms.PSet(),
712  plots = cms.VPSet(
713  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
714  Plot1D('phiJERUp', 'phiJERUp', 20, -3.14159, 3.14159, 'JER up phi'),
715  Plot1D('phiJERDown', 'phiJERDown', 20, -3.14159, 3.14159, 'JER down phi'),
716  Plot1D('phiJESUp', 'phiJESUp', 20, -3.14159, 3.14159, 'JES up phi'),
717  Plot1D('phiJESDown', 'phiJESDown', 20, -3.14159, 3.14159, 'JES down phi'),
718  Plot1D('phiUnclusteredUp', 'phiUnclusteredUp', 20, -3.14159, 3.14159, 'Unclustered up phi'),
719  Plot1D('phiUnclusteredDown', 'phiUnclusteredDown', 20, -3.14159, 3.14159, 'Unclustered down phi'),
720  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
721  Plot1D('ptJERUp', 'ptJERUp', 20, 0, 400, 'JER up pt'),
722  Plot1D('ptJERDown', 'ptJERDown', 20, 0, 400, 'JER down pt'),
723  Plot1D('ptJESUp', 'ptJESUp', 20, 0, 400, 'JES up pt'),
724  Plot1D('ptJESDown', 'ptJESDown', 20, 0, 400, 'JES down pt'),
725  Plot1D('ptUnclusteredUp', 'ptUnclusteredUp', 20, 0, 400, 'Unclustered up pt'),
726  Plot1D('ptUnclusteredDown', 'ptUnclusteredDown', 20, 0, 400, 'Unclustered down pt'),
727  Plot1D('sumEt', 'sumEt', 20, 200, 3000, 'scalar sum of Et'),
728  )
729  ),
730  RawMET = cms.PSet(
731  sels = cms.PSet(),
732  plots = cms.VPSet(
733  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
734  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
735  Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
736  )
737  ),
738  RawPuppiMET = cms.PSet(
739  sels = cms.PSet(),
740  plots = cms.VPSet(
741  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
742  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
743  Plot1D('sumEt', 'sumEt', 20, 400, 4000, 'scalar sum of Et'),
744  )
745  ),
746  SV = cms.PSet(
747  sels = cms.PSet(),
748  plots = cms.VPSet(
749  Count1D('_size', 14, -0.5, 13.5),
750  Plot1D('chi2', 'chi2', 20, -2000, 2000, 'reduced chi2, i.e. chi/ndof'),
751  Plot1D('dlen', 'dlen', 20, 0, 4, 'decay length in cm'),
752  Plot1D('dlenSig', 'dlenSig', 20, 0, 50, 'decay length significance'),
753  Plot1D('dxy', 'dxy', 20, 0, 4, '2D decay length in cm'),
754  Plot1D('dxySig', 'dxySig', 20, 0, 50, '2D decay length significance'),
755  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
756  Plot1D('mass', 'mass', 20, 0, 8, 'mass'),
757  Plot1D('ndof', 'ndof', 20, -1, 19, 'number of degrees of freedom'),
758  Plot1D('pAngle', 'pAngle', 20, -3.1416, 3.1416, 'pointing angle, i.e. acos(p_SV * (SV - PV)) '),
759  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
760  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
761  Plot1D('x', 'x', 20, -0.5, 0.5, 'secondary vertex X position, in cm'),
762  Plot1D('y', 'y', 20, -0.5, 0.5, 'secondary vertex Y position, in cm'),
763  Plot1D('z', 'z', 20, -10, 10, 'secondary vertex Z position, in cm'),
764  Plot1D('ntracks', 'ntracks', 11, -0.5, 10.5, 'number of tracks'),
765  Plot1D('charge', 'charge', 11 , -0.5, 10.5, 'sum of the charge of the SV tracks'),
766  )
767  ),
768  SoftActivityJet = cms.PSet(
769  sels = cms.PSet(),
770  plots = cms.VPSet(
771  Count1D('_size', 7, -0.5, 6.5, 'jets clustered from charged candidates compatible with primary vertex (charge()!=0 && pvAssociationQuality()>=5 && vertexRef().key()==0)'),
772  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
773  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
774  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
775  )
776  ),
777  SubJet = cms.PSet(
778  sels = cms.PSet(),
779  plots = cms.VPSet(
780  Count1D('_size', 9, -0.5, 8.5, 'slimmedJetsAK8PFPuppiSoftDropPacked::SubJets, i.e. soft-drop subjets for ak8 fat jets for boosted'),
781  Plot1D('btagCMVA', 'btagCMVA', 20, -1, 1, 'CMVA V2 btag discriminator'),
782  Plot1D('btagDeepB', 'btagDeepB', 20, -1, 1, 'Deep B+BB btag discriminator'),
783  Plot1D('eta', 'eta', 20, -4, 4, 'eta'),
784  Plot1D('hadronFlavour', 'hadronFlavour', 6, -0.5, 5.5, 'flavour from hadron ghost clustering'),
785  Plot1D('mass', 'mass', 20, -200, 200, 'mass'),
786  Plot1D('n2b1', 'n2b1', 20, 0, 1, 'N2 (beta=1)'),
787  Plot1D('n3b1', 'n3b1', 20, 0, 5, 'N3 (beta=1)'),
788  Plot1D('nBHadrons', 'nBHadrons', 4, -0.5, 3.5, 'number of b-hadrons'),
789  Plot1D('nCHadrons', 'nCHadrons', 4, -0.5, 3.5, 'number of c-hadrons'),
790  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
791  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
792  Plot1D('rawFactor', 'rawFactor', 20, -0.5, 0.5, '1 - Factor to get back to raw pT'),
793  Plot1D('area', 'area', 25, 0, 2.5, 'jet catchment area, for JECs'),
794  Plot1D('tau1', 'tau1', 20, 0, 1, 'Nsubjettiness (1 axis)'),
795  Plot1D('tau2', 'tau2', 20, 0, 1, 'Nsubjettiness (2 axis)'),
796  Plot1D('tau3', 'tau3', 20, 0, 1, 'Nsubjettiness (3 axis)'),
797  Plot1D('tau4', 'tau4', 20, 0, 1, 'Nsubjettiness (4 axis)'),
798  )
799  ),
800  Tau = cms.PSet(
801  sels = cms.PSet(),
802  plots = cms.VPSet(
803  Count1D('_size', 7, -0.5, 6.5, "slimmedTaus after basic selection (pt > 18 && tauID('decayModeFindingNewDMs') && (tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') || tauID('byVLooseIsolationMVArun2v1DBoldDMwLT') || tauID('byVLooseIsolationMVArun2v1DBnewDMwLT') || tauID('byVLooseIsolationMVArun2v1DBdR03oldDMwLT')))"),
804  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
805  Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
806  Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
807  Plot1D('decayModePNet', 'decayModePNet', 13, -1.5, 11.5, 'decay mode of the highest PNet tau score'),
808  Plot1D('dxy', 'dxy', 20, -1000, 1000, 'd_{xy} of lead track with respect to PV, in cm (with sign)'),
809  Plot1D('dz', 'dz', 20, -20, 20, 'd_{z} of lead track with respect to PV, in cm (with sign)'),
810  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
811  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'),
812  NoPlot('genPartIdx'),
813  Plot1D('idAntiEleDeadECal', 'idAntiEleDeadECal', 2, -0.5, 1.5, "tauID('againstElectronDeadECAL')"),
814  Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
815  Plot1D('idDecayModeOldDMs', 'idDecayModeOldDMs', 2, -0.5, 1.5, "tauID('decayModeFinding')"),
816  Plot1D('idDecayModeNewDMs', 'idDecayModeNewDMs', 2, -0.5, 1.5, "tauID('decayModeFindingNewDMs')"),
817  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'),
818  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'),
819  Plot1D('idDeepTau2017v2p1VSmu', 'idDeepTau2017v2p1VSmu', 11, -0.5, 10.5, 'byDeepTau2017v2p1VSmu ID working points (deepTau2017v2p1): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
820  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'),
821  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'),
822  Plot1D('idDeepTau2018v2p5VSmu', 'idDeepTau2018v2p5VSmu', 11, -0.5, 10.5, 'byDeepTau2018v2p5VSmu ID working points (deepTau2018v2p5): int 1 = VLoose, 2 = Loose, 3 = Medium, 4 = Tight'),
823  NoPlot('jetIdx'),
824  Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
825  Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
826  Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
827  Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
828  Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
829  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
830  Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
831  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
832  Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
833  Plot1D('rawDeepTau2017v2p1VSe', 'rawDeepTau2017v2p1VSe', 20, 0, 1, 'byDeepTau2017v2p1VSe raw output discriminator (deepTau2017v2p1)'),
834  Plot1D('rawDeepTau2017v2p1VSjet', 'rawDeepTau2017v2p1VSjet', 20, 0, 1, 'byDeepTau2017v2p1VSjet raw output discriminator (deepTau2017v2p1)'),
835  Plot1D('rawDeepTau2017v2p1VSmu', 'rawDeepTau2017v2p1VSmu', 20, 0, 1, 'byDeepTau2017v2p1VSmu raw output discriminator (deepTau2017v2p1)'),
836  Plot1D('rawDeepTau2018v2p5VSe', 'rawDeepTau2018v2p5VSe', 20, 0, 1, 'byDeepTau2018v2p5VSe raw output discriminator (deepTau2018v2p5)'),
837  Plot1D('rawDeepTau2018v2p5VSjet', 'rawDeepTau2018v2p5VSjet', 20, 0, 1, 'byDeepTau2018v2p5VSjet raw output discriminator (deepTau2018v2p5)'),
838  Plot1D('rawDeepTau2018v2p5VSmu', 'rawDeepTau2018v2p5VSmu', 20, 0, 1, 'byDeepTau2018v2p5VSmu raw output discriminator (deepTau2018v2p5)'),
839  Plot1D('rawPNetVSe', 'rawPNetVSe', 20, 0, 1, 'byPNetVSe raw output discriminator (PNet 2023)'),
840  Plot1D('rawPNetVSjet', 'rawPNetVSjet', 20, 0, 1, 'byPNetVSjet raw output discriminator (PNet 2023)'),
841  Plot1D('rawPNetVSmu', 'rawPNetVSmu', 20, 0, 1, 'byPNetVSmu raw output discriminator (PNet 2023)'),
842  Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
843  Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
844  Plot1D('ptCorrPNet', 'ptCorrPNet', 20, 0, 2, 'pt correction (PNet 2023)'),
845  Plot1D('qConfPNet', 'qConfPNet', 20, -0.5, 0.5, 'signed charge confidence (PNet 2023)'),
846  Plot1D('probDM0PNet', 'probDM0PNet', 20, 0, 1, 'normalised probablity of decayMode 0, 1h+0pi0 (PNet 2023)'),
847  Plot1D('probDM1PNet', 'probDM1PNet', 20, 0, 1, 'normalised probablity of decayMode 1, 1h+1pi0 (PNet 2023)'),
848  Plot1D('probDM2PNet', 'probDM2PNet', 20, 0, 1, 'normalised probablity of decayMode 2, 1h+2pi0 (PNet 2023)'),
849  Plot1D('probDM10PNet', 'probDM10PNet', 20, 0, 1, 'normalised probablity of decayMode 10, 3h+0pi0 (PNet 2023)'),
850  Plot1D('probDM11PNet', 'probDM11PNet', 20, 0, 1, 'normalised probablity of decayMode 11, 3h+1pi0 (PNet 2023)'),
851  )
852  ),
853  TauProd = cms.PSet(
854  sels = cms.PSet(),
855  plots = cms.VPSet(
856  Count1D('_size', 40, -0.5, 5.5, 'tau decay products'),
857  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
858  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
859  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
860  Plot1D('pdgId', 'pdgId', 200, -10250, 10250, 'PDG code assigned by the event reconstruction (not by MC truth)'),
861  NoPlot('status'),
862  )
863  ),
864  TkMET = cms.PSet(
865  sels = cms.PSet(),
866  plots = cms.VPSet(
867  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
868  Plot1D('pt', 'pt', 20, 0, 400, 'pt'),
869  Plot1D('sumEt', 'sumEt', 20, 0, 2000, 'scalar sum of Et'),
870  )
871  ),
872  TrigObj = cms.PSet(
873  sels = cms.PSet(
874  Electron = cms.string('id == 11'),
875  HT = cms.string('id == 3'),
876  Jet = cms.string('id == 1'),
877  MET = cms.string('id == 2'),
878  MHT = cms.string('id == 4'),
879  Muon = cms.string('id == 13'),
880  Photon = cms.string('id == 22'),
881  Tau = cms.string('id == 15')
882  ),
883  plots = cms.VPSet(
884  Count1D('_size', 28, -0.5, 27.5),
885  Plot1D('eta', 'eta', 20, -5, 5, 'eta'),
886  Plot1D('filterBits', 'filterBits', 31, 0, 31, 'extra bits of associated information, object- and era-dependent: see branch documentation', bitset=True),
887  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'),
888  Plot1D('l1charge', 'l1charge', 3, -1.5, 1.5, 'charge of associated L1 seed'),
889  Plot1D('l1iso', 'l1iso', 4, -0.5, 3.5, 'iso of associated L1 seed'),
890  Plot1D('l1pt', 'l1pt', 20, 0, 200, 'pt of associated L1 seed'),
891  Plot1D('l1pt_2', 'l1pt_2', 20, 0, 200, 'pt of associated secondary L1 seed'),
892  Plot1D('l2pt', 'l2pt', 20, 0, 200, "pt of associated 'L2' seed (i.e. HLT before tracking/PF)"),
893  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
894  Plot1D('pt', 'pt', 40, 0, 400, 'pt'),
895  )
896  ),
897  boostedTau = cms.PSet(
898  sels = cms.PSet(),
899  plots = cms.VPSet(
900  Count1D('_size', 7, -0.5, 6.5, "slimmedBoostedTaus after basic selection (pt > 40 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2017v2DBoldDMwLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017') || tauID('byVVLooseIsolationMVArun2017v2DBnewDMwLT2017')))"),
901  Plot1D('charge', 'charge', 3, -1.5, 1.5, 'electric charge'),
902  Plot1D('chargedIso', 'chargedIso', 20, 0, 200, 'charged isolation'),
903  Plot1D('decayMode', 'decayMode', 12, -0.5, 11.5, 'decayMode()'),
904  Plot1D('eta', 'eta', 20, -3, 3, 'eta'),
905  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'),
906  NoPlot('genPartIdx'),
907  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'),
908  Plot1D('idAntiMu', 'idAntiMu', 11, -0.5, 10.5, 'Anti-muon discriminator V3: : int 1 = Loose, 2 = Tight'),
909  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'),
910  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'),
911  NoPlot('jetIdx'),
912  Plot1D('leadTkDeltaEta', 'leadTkDeltaEta', 20, -0.1, 0.1, 'eta of the leading track, minus tau eta'),
913  Plot1D('leadTkDeltaPhi', 'leadTkDeltaPhi', 20, -0.1, 0.1, 'phi of the leading track, minus tau phi'),
914  Plot1D('leadTkPtOverTauPt', 'leadTkPtOverTauPt', 20, 0, 2, 'pt of the leading track divided by tau pt'),
915  Plot1D('mass', 'mass', 20, 0, 5, 'mass'),
916  Plot1D('neutralIso', 'neutralIso', 20, 0, 200, 'neutral (photon) isolation'),
917  Plot1D('phi', 'phi', 20, -3.14159, 3.14159, 'phi'),
918  Plot1D('photonsOutsideSignalCone', 'photonsOutsideSignalCone', 20, 0, 30, 'sum of photons outside signal cone'),
919  Plot1D('pt', 'pt', 20, 0, 200, 'pt'),
920  Plot1D('puCorr', 'puCorr', 20, 0, 90, 'pileup correction'),
921  Plot1D('rawAntiEle2018', 'rawAntiEle2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 raw output discriminator (2018)'),
922  Plot1D('rawAntiEleCat2018', 'rawAntiEleCat2018', 20, -100, 100, 'Anti-electron MVA discriminator V6 category (2018)'),
923  Plot1D('rawIso', 'rawIso', 20, 0, 200, 'combined isolation (deltaBeta corrections)'),
924  Plot1D('rawIsodR03', 'rawIsodR03', 20, 0, 200, 'combined isolation (deltaBeta corrections, dR=0.3)'),
925  Plot1D('rawMVAnewDM2017v2', 'rawMVAnewDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBnewDMwLT raw output discriminator (2017v2)'),
926  Plot1D('rawMVAoldDM2017v2', 'rawMVAoldDM2017v2', 20, -1, 1, 'byIsolationMVArun2017v2DBoldDMwLT raw output discriminator (2017v2)'),
927  )
928  ),
929  L1PreFiringWeight = cms.PSet(
930  sels = cms.PSet(),
931  plots = cms.VPSet(
932  Plot1D('Nom', 'Nom', 21, 0.8, 1.01, 'L1 prefiring weight nominal'),
933  Plot1D('Up', 'Up', 21, 0.8, 1.01, 'L1 prefiring weight uncertainy up'),
934  Plot1D('Dn', 'Dn', 21, 0.8, 1.01, 'L1 prefiring weight uncertainty down'),
935  Plot1D('ECAL_Nom', 'ECAL_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for ECAL objects nominal'),
936  Plot1D('Muon_Nom', 'Muon_Nom', 21, 0.8, 1.01, 'L1 prefiring weight for muons nominal'),
937  )
938 
939  ),
940  BeamSpot = cms.PSet(
941  sels = cms.PSet(),
942  plots = cms.VPSet(
943  Plot1D('z', 'z', 20, 0.5, 1.5, 'BeamSpot center, z coordinate (cm)'),
944  Plot1D('zError', 'zError', 20, 0., 0.01, 'Error on BeamSpot center, z coordinate (cm)'),
945  Plot1D('sigmaZ', 'sigmaZ', 20, 0., 10, 'Width of BeamSpot in z (cm)'),
946  Plot1D('sigmaZError', 'sigmaZError', 20, 0., 0.01, 'Error on width of BeamSpot in z (cm)'),
947  )
948  ),
949  Rho = cms.PSet(
950  sels = cms.PSet(),
951  plots = cms.VPSet(
952  Plot1D('fixedGridRhoAll', 'fixedGridRhoAll', 100, 0, 80, 'rho from all PF Candidates, no foreground removal (for isolation of prompt photons)'),
953  )
954  ),
955  )
956 )
def Count1D(name, nbins, xmin, xmax, title="")
def Profile1D(name, ycolumn, xcolumn, nbins, xmin, xmax, title="")