CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RecoTauValidation_cfi.py
Go to the documentation of this file.
2 import copy
3 import re
4 import os
5 
6 """
7 
8  RecoTauValidation_cfi.py
9 
10  Contains the standard tau validation parameters. It is organized into
11  the following sections.
12 
13  DENOMINATOR
14 
15  Set common kinematic cuts (pt > 5 and eta < 2.5) on the denominator source.
16  Note that the denominator depends on the type of test (signal/background/e etc)
17 
18  The denominator kinematic cutter requires that
19 
20  HISTOGRAMS
21 
22  Produce numerator and denominator histgorams used to produce
23  tau efficiency plots
24 
25  Provides sequence:
26  TauValNumeratorAndDenominator
27  Requires:
28  tauValSelectedDenominator (filtered GenJet collection)
29 
30  EFFICIENCY
31 
32  Using numerator and denominators, calculate and store
33  the efficiency curves
34 
35  Provides sequence:
36  TauEfficiencies
37  Requires:
38  TauValNumeratorAndDenominator
39 
40  PLOTTING
41 
42  Plot curves calculated in efficiency, in both an overlay mode
43  showing overall performance for a release, and the indvidual
44  discriminator efficiency compared to a given release
45 
46  Provides sequence:
47  loadTau
48  plotTauValidation
49  loadAndPlotTauValidation
50 
51  Requires:
52  TauEfficiencies, external root file to compare to
53 
54  Plotting must be executed in a separate cmsRun job!
55 
56  UTILITIES
57 
58  Various scripts to automate things...
59 
60 
61 """
62 
63 """
64 
65 DENOMINATOR
66 
67 """
68 
69 # require generator level hadrons produced in tau-decay to have transverse momentum above threshold
70 kinematicSelectedTauValDenominator = cms.EDFilter("GenJetSelector",
71  src = cms.InputTag("objectTypeSelectedTauValDenominator"),
72  cut = cms.string('pt > 5. && abs(eta) < 2.5'),
73  filter = cms.bool(False)
74 )
75 
76 
77 """
78 
79 HISTOGRAMS
80 
81  Plot the pt/eta/energy/phi spectrum of PFTaus that pass
82  a series of PFTauDiscriminator cuts.
83 
84  These will be used as the numerator/denominators of the
85  efficiency calculations
86 """
87 
88 StandardMatchingParameters = cms.PSet(
89  DataType = cms.string('Leptons'),
90  MatchDeltaR_Leptons = cms.double(0.15),
91  MatchDeltaR_Jets = cms.double(0.3),
92  SaveOutputHistograms = cms.bool(False),
93  #RefCollection = cms.InputTag("TauGenJetProducer","selectedGenTauDecaysToHadronsPt5Cumulative"),
94  RefCollection = cms.InputTag("kinematicSelectedTauValDenominator"),
95 )
96 
97 PFTausHighEfficiencyLeadingPionBothProngs = cms.EDAnalyzer("TauTagValidation",
98  StandardMatchingParameters,
99  ExtensionName = cms.string("LeadingPion"),
100  TauProducer = cms.InputTag('shrinkingConePFTauProducer'),
101  discriminators = cms.VPSet(
102  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByLeadingPionPtCut"),selectionCut = cms.double(0.5)),
103  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion"),selectionCut = cms.double(0.5)),
104  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion"),selectionCut = cms.double(0.5)),
105  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationAgainstElectron"),selectionCut = cms.double(0.5)),
106  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationAgainstMuon"),selectionCut = cms.double(0.5))
107  )
108 )
109 
110 PFTausHighEfficiencyBothProngs = cms.EDAnalyzer("TauTagValidation",
111  StandardMatchingParameters,
112  ExtensionName = cms.string(""),
113  TauProducer = cms.InputTag('shrinkingConePFTauProducer'),
114  discriminators = cms.VPSet(
115  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByLeadingTrackFinding"),selectionCut = cms.double(0.5)),
116  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByLeadingTrackPtCut"),selectionCut = cms.double(0.5)),
117  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByTrackIsolation"),selectionCut = cms.double(0.5)),
118  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByECALIsolation"),selectionCut = cms.double(0.5)),
119  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationAgainstElectron"),selectionCut = cms.double(0.5)),
120  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationAgainstMuon"),selectionCut = cms.double(0.5))
121  )
122 )
123 
124 RunTancValidation = copy.deepcopy(PFTausHighEfficiencyBothProngs)
125 RunTancValidation.ExtensionName = "Tanc"
126 RunTancValidation.discriminators = cms.VPSet(
127  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByLeadingPionPtCut"),selectionCut = cms.double(0.5)),
128  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByTaNCfrOnePercent"),selectionCut = cms.double(0.5)),
129  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByTaNCfrHalfPercent"),selectionCut = cms.double(0.5)),
130  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent"),selectionCut = cms.double(0.5)),
131  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationByTaNCfrTenthPercent"),selectionCut = cms.double(0.5)),
132  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationAgainstElectron"),selectionCut = cms.double(0.5)),
133  cms.PSet( discriminator = cms.string("shrinkingConePFTauDiscriminationAgainstMuon"),selectionCut = cms.double(0.5))
134 )
135 
136 RunHPSValidation = copy.deepcopy(PFTausHighEfficiencyBothProngs)
137 RunHPSValidation.ExtensionName = ""
138 RunHPSValidation.TauProducer = cms.InputTag('hpsPFTauProducer')
139 RunHPSValidation.discriminators = cms.VPSet(
140  cms.PSet( discriminator = cms.string("hpsPFTauDiscriminationByDecayModeFinding"),selectionCut = cms.double(0.5)),
141  cms.PSet( discriminator = cms.string("hpsPFTauDiscriminationByLooseIsolation"),selectionCut = cms.double(0.5)),
142  cms.PSet( discriminator = cms.string("hpsPFTauDiscriminationByMediumIsolation"),selectionCut = cms.double(0.5)),
143  cms.PSet( discriminator = cms.string("hpsPFTauDiscriminationByTightIsolation"),selectionCut = cms.double(0.5)),
144  cms.PSet( discriminator = cms.string("hpsPFTauDiscriminationAgainstElectron"),selectionCut = cms.double(0.5)),
145  cms.PSet( discriminator = cms.string("hpsPFTauDiscriminationAgainstMuon"),selectionCut = cms.double(0.5))
146 )
147 
148 
149 
150 PFTausBothProngs = cms.EDAnalyzer("TauTagValidation",
151  StandardMatchingParameters,
152  ExtensionName = cms.string(""),
153  TauProducer = cms.InputTag('fixedConePFTauProducer'),
154  discriminators = cms.VPSet(
155  cms.PSet( discriminator = cms.string("fixedConePFTauDiscriminationByLeadingTrackFinding"),selectionCut = cms.double(0.5)),
156  cms.PSet( discriminator = cms.string("fixedConePFTauDiscriminationByLeadingTrackPtCut"),selectionCut = cms.double(0.5)),
157  cms.PSet( discriminator = cms.string("fixedConePFTauDiscriminationByTrackIsolation"),selectionCut = cms.double(0.5)),
158  cms.PSet( discriminator = cms.string("fixedConePFTauDiscriminationByECALIsolation"),selectionCut = cms.double(0.5)),
159  cms.PSet( discriminator = cms.string("fixedConePFTauDiscriminationAgainstElectron"),selectionCut = cms.double(0.5)),
160  cms.PSet( discriminator = cms.string("fixedConePFTauDiscriminationAgainstMuon"),selectionCut = cms.double(0.5))
161  )
162 )
163 
164 CaloTausBothProngs = cms.EDAnalyzer("TauTagValidation",
165  StandardMatchingParameters,
166  ExtensionName = cms.string(""),
167  TauProducer = cms.InputTag('caloRecoTauProducer'),
168  discriminators = cms.VPSet(
169  cms.PSet( discriminator = cms.string("caloRecoTauDiscriminationByLeadingTrackFinding"),selectionCut = cms.double(0.5)),
170  cms.PSet( discriminator = cms.string("caloRecoTauDiscriminationByLeadingTrackPtCut"),selectionCut = cms.double(0.5)),
171  cms.PSet( discriminator = cms.string("caloRecoTauDiscriminationByIsolation"),selectionCut = cms.double(0.5)),
172  cms.PSet( discriminator = cms.string("caloRecoTauDiscriminationAgainstElectron"),selectionCut = cms.double(0.5))
173  )
174 )
175 
176 TauValNumeratorAndDenominator = cms.Sequence(
177  PFTausBothProngs+
178  CaloTausBothProngs +
179  PFTausHighEfficiencyBothProngs+
180  PFTausHighEfficiencyLeadingPionBothProngs+
181  RunTancValidation+
182  RunHPSValidation
183  )
184 
185 """
186 
187 EFFICIENCY
188 
189  Tau efficiency calculations
190 
191  Define the Efficiency curves to produce. Each
192  efficiency producer takes the numberator and denominator
193  histograms and the dependent variables.
194 """
195 
196 TauEfficiencies = cms.EDAnalyzer("DQMHistEffProducer",
197  plots = cms.PSet(
198 # REGULAR PFTAU EFFICIENCIES CALCULATION
199  PFTauIDMatchingEfficiencies = cms.PSet(
200  numerator = cms.string('RecoTauV/fixedConePFTauProducer_Matched/fixedConePFTauProducerMatched_vs_#PAR#TauVisible'),
201  denominator = cms.string('RecoTauV/fixedConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
202  efficiency = cms.string('RecoTauV/fixedConePFTauProducer_Matched/PFJetMatchingEff#PAR#'),
203  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
204  ),
205  PFTauIDLeadingTrackFindEfficiencies = cms.PSet(
206  numerator = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByLeadingTrackFinding/fixedConePFTauDiscriminationByLeadingTrackFinding_vs_#PAR#TauVisible'),
207  denominator = cms.string('RecoTauV/fixedConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
208  efficiency = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByLeadingTrackFinding/LeadingTrackFindingEff#PAR#'),
209  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
210  ),
211  PFTauIDLeadingTrackPtCutEfficiencies = cms.PSet(
212  numerator = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByLeadingTrackPtCut/fixedConePFTauDiscriminationByLeadingTrackPtCut_vs_#PAR#TauVisible'),
213  denominator = cms.string('RecoTauV/fixedConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
214  efficiency = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
215  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
216  ),
217  PFTauIDTrackIsolationEfficienies = cms.PSet(
218  numerator = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByTrackIsolation/fixedConePFTauDiscriminationByTrackIsolation_vs_#PAR#TauVisible'),
219  denominator = cms.string('RecoTauV/fixedConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
220  efficiency = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByTrackIsolation/TrackIsolationEff#PAR#'),
221  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
222  ),
223  PFTauIDECALIsolationEfficienies = cms.PSet(
224  numerator = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByECALIsolation/fixedConePFTauDiscriminationByECALIsolation_vs_#PAR#TauVisible'),
225  denominator = cms.string('RecoTauV/fixedConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
226  efficiency = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByECALIsolation/ECALIsolationEff#PAR#'),
227  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
228  ),
229  PFTauIDMuonRejectionEfficiencies = cms.PSet(
230  numerator = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstElectron/fixedConePFTauDiscriminationAgainstElectron_vs_#PAR#TauVisible'),
231  denominator = cms.string('RecoTauV/fixedConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
232  efficiency = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
233  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
234  ),
235  PFTauIDElectronRejectionEfficiencies = cms.PSet(
236  numerator = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstMuon/fixedConePFTauDiscriminationAgainstMuon_vs_#PAR#TauVisible'),
237  denominator = cms.string('RecoTauV/fixedConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
238  efficiency = cms.string('RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
239  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
240  ),
241 #HPS EfficiencyCalculation
242  HPSIDMatchingEfficiencies = cms.PSet(
243  numerator = cms.string('RecoTauV/hpsPFTauProducer_Matched/hpsPFTauProducerMatched_vs_#PAR#TauVisible'),
244  denominator = cms.string('RecoTauV/hpsPFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
245  efficiency = cms.string('RecoTauV/hpsPFTauProducer_Matched/PFJetMatchingEff#PAR#'),
246  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
247  ),
248  HPSIDDecayModeFindingEfficiencies = cms.PSet(
249  numerator = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByDecayModeFinding/hpsPFTauDiscriminationByDecayModeFinding_vs_#PAR#TauVisible'),
250  denominator = cms.string('RecoTauV/hpsPFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
251  efficiency = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByDecayModeFinding/DecayModeFindingEff#PAR#'),
252  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
253  ),
254  HPSIDLooseIsolationEfficienies = cms.PSet(
255  numerator = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByLooseIsolation/hpsPFTauDiscriminationByLooseIsolation_vs_#PAR#TauVisible'),
256  denominator = cms.string('RecoTauV/hpsPFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
257  efficiency = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByLooseIsolation/LooseIsolationEff#PAR#'),
258  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
259  ),
260  HPSIDMediumIsolationEfficienies = cms.PSet(
261  numerator = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByMediumIsolation/hpsPFTauDiscriminationByMediumIsolation_vs_#PAR#TauVisible'),
262  denominator = cms.string('RecoTauV/hpsPFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
263  efficiency = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByMediumIsolation/MediumIsolationEff#PAR#'),
264  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
265  ),
266  HPSIDTightIsolationEfficienies = cms.PSet(
267  numerator = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByTightIsolation/hpsPFTauDiscriminationByTightIsolation_vs_#PAR#TauVisible'),
268  denominator = cms.string('RecoTauV/hpsPFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
269  efficiency = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByTightIsolation/TightIsolationEff#PAR#'),
270  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
271  ),
272  HPSIDElectronRejectionEfficiencies = cms.PSet(
273  numerator = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationAgainstElectron/hpsPFTauDiscriminationAgainstElectron_vs_#PAR#TauVisible'),
274  denominator = cms.string('RecoTauV/hpsPFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
275  efficiency = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
276  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
277  ),
278  HPSIDMuonRejectionEfficiencies = cms.PSet(
279  numerator = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationAgainstMuon/hpsPFTauDiscriminationAgainstMuon_vs_#PAR#TauVisible'),
280  denominator = cms.string('RecoTauV/hpsPFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
281  efficiency = cms.string('RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
282  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
283  ),
284 
285 
286 
287 
288 # PFTAUHIGHEFFICIENCY EFFICIENCY CALCULATION
289  PFTauHighEfficiencyIDMatchingEfficiencies = cms.PSet(
290  numerator = cms.string('RecoTauV/shrinkingConePFTauProducer_Matched/shrinkingConePFTauProducerMatched_vs_#PAR#TauVisible'),
291  denominator = cms.string('RecoTauV/shrinkingConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
292  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducer_Matched/PFJetMatchingEff#PAR#'),
293  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
294  ),
295  PFTauHighEfficiencyIDLeadingTrackFindEfficiencies = cms.PSet(
296  numerator = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByLeadingTrackFinding/shrinkingConePFTauDiscriminationByLeadingTrackFinding_vs_#PAR#TauVisible'),
297  denominator = cms.string('RecoTauV/shrinkingConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
298  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByLeadingTrackFinding/LeadingTrackFindingEff#PAR#'),
299  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
300  ),
301  PFTauHighEfficiencyIDLeadingTrackPtCutEfficiencies = cms.PSet(
302  numerator = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByLeadingTrackPtCut/shrinkingConePFTauDiscriminationByLeadingTrackPtCut_vs_#PAR#TauVisible'),
303  denominator = cms.string('RecoTauV/shrinkingConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
304  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
305  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
306  ),
307  PFTauHighEfficiencyIDTrackIsolationEfficienies = cms.PSet(
308  numerator = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByTrackIsolation/shrinkingConePFTauDiscriminationByTrackIsolation_vs_#PAR#TauVisible'),
309  denominator = cms.string('RecoTauV/shrinkingConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
310  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByTrackIsolation/TrackIsolationEff#PAR#'),
311  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
312  ),
313  PFTauHighEfficiencyIDECALIsolationEfficienies = cms.PSet(
314  numerator = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByECALIsolation/shrinkingConePFTauDiscriminationByECALIsolation_vs_#PAR#TauVisible'),
315  denominator = cms.string('RecoTauV/shrinkingConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
316  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByECALIsolation/ECALIsolationEff#PAR#'),
317  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
318  ),
319  PFTauHighEfficiencyIDMuonRejectionEfficiencies = cms.PSet(
320  numerator = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstElectron/shrinkingConePFTauDiscriminationAgainstElectron_vs_#PAR#TauVisible'),
321  denominator = cms.string('RecoTauV/shrinkingConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
322  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
323  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
324  ),
325  PFTauHighEfficiencyIDElectronRejectionEfficiencies = cms.PSet(
326  numerator = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstMuon/shrinkingConePFTauDiscriminationAgainstMuon_vs_#PAR#TauVisible'),
327  denominator = cms.string('RecoTauV/shrinkingConePFTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
328  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
329  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
330  ),
331 # PFTAUHIGHEFFICIENCY_LEADING_PION EFFICIENCY CALCULATION
332  PFTauHighEfficiencyLeadingPionIDMatchingEfficiencies = cms.PSet(
333  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_Matched/shrinkingConePFTauProducerMatched_vs_#PAR#TauVisible'),
334  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
335  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_Matched/PFJetMatchingEff#PAR#'),
336  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
337  ),
338  PFTauHighEfficiencyLeadingPionIDLeadingPionPtCutEfficiencies = cms.PSet(
339  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByLeadingPionPtCut/shrinkingConePFTauDiscriminationByLeadingPionPtCut_vs_#PAR#TauVisible'),
340  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
341  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByLeadingPionPtCut/LeadingPionPtCutEff#PAR#'),
342  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
343  ),
344  PFTauHighEfficiencyLeadingPionIDTrackIsolationEfficienies = cms.PSet(
345  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion/shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion_vs_#PAR#TauVisible'),
346  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
347  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion/TrackIsolationEff#PAR#'),
348  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
349  ),
350  PFTauHighEfficiencyLeadingPionIDECALIsolationEfficienies = cms.PSet(
351  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion/shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion_vs_#PAR#TauVisible'),
352  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
353  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion/ECALIsolationEff#PAR#'),
354  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
355  ),
356  PFTauHighEfficiencyLeadingPionIDMuonRejectionEfficiencies = cms.PSet(
357  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstElectron/shrinkingConePFTauDiscriminationAgainstElectron_vs_#PAR#TauVisible'),
358  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
359  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
360  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
361  ),
362  PFTauHighEfficiencyLeadingPionIDElectronRejectionEfficiencies = cms.PSet(
363  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstMuon/shrinkingConePFTauDiscriminationAgainstMuon_vs_#PAR#TauVisible'),
364  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
365  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
366  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
367  ),
368 # Tanc efficiency calculations
369  ShrinkingConeTancIDMatchingEfficiencies = cms.PSet(
370  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_Matched/shrinkingConePFTauProducerMatched_vs_#PAR#TauVisible'),
371  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
372  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_Matched/PFJetMatchingEff#PAR#'),
373  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
374  ),
375  ShrinkingConeTancIDLeadingPionPtCutEfficiencies = cms.PSet(
376  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByLeadingPionPtCut/shrinkingConePFTauDiscriminationByLeadingPionPtCut_vs_#PAR#TauVisible'),
377  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
378  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByLeadingPionPtCut/LeadingPionPtCutEff#PAR#'),
379  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
380  ),
381  ShrinkingConeTancIDOnePercentEfficienies = cms.PSet(
382  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrOnePercent/shrinkingConePFTauDiscriminationByTaNCfrOnePercent_vs_#PAR#TauVisible'),
383  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
384  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrOnePercent/TaNCfrOnePercentEff#PAR#'),
385  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
386  ),
387  ShrinkingConeTancIDHalfPercentEfficienies = cms.PSet(
388  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent/shrinkingConePFTauDiscriminationByTaNCfrHalfPercent_vs_#PAR#TauVisible'),
389  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
390  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent/TaNCfrHalfPercentEff#PAR#'),
391  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
392  ),
393  ShrinkingConeTancIDQuarterPercentEfficienies = cms.PSet(
394  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent/shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent_vs_#PAR#TauVisible'),
395  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
396  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent/TaNCfrQuarterPercentEff#PAR#'),
397  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
398  ),
399  ShrinkingConeTancIDTenthPercentEfficienies = cms.PSet(
400  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent/shrinkingConePFTauDiscriminationByTaNCfrTenthPercent_vs_#PAR#TauVisible'),
401  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
402  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent/TaNCfrTenthPercentEff#PAR#'),
403  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
404  ),
405  ShrinkingConeTancIDMuonRejectionEfficiencies = cms.PSet(
406  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstElectron/shrinkingConePFTauDiscriminationAgainstElectron_vs_#PAR#TauVisible'),
407  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
408  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
409  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
410  ),
411  ShrinkingConeTancIDElectronRejectionEfficiencies = cms.PSet(
412  numerator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstMuon/shrinkingConePFTauDiscriminationAgainstMuon_vs_#PAR#TauVisible'),
413  denominator = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
414  efficiency = cms.string('RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
415  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
416  ),
417 # CALOTAU EFFICIENCY CALCULATIONS
418  CaloTauIDMatchingEfficiencies = cms.PSet(
419  numerator = cms.string('RecoTauV/caloRecoTauProducer_Matched/caloRecoTauProducerMatched_vs_#PAR#TauVisible'),
420  denominator = cms.string('RecoTauV/caloRecoTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
421  efficiency = cms.string('RecoTauV/caloRecoTauProducer_Matched/CaloJetMatchingEff#PAR#'),
422  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
423  ),
424  CaloTauIDLeadingTrackFindEfficiencies = cms.PSet(
425  numerator = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByLeadingTrackFinding/caloRecoTauDiscriminationByLeadingTrackFinding_vs_#PAR#TauVisible'),
426  denominator = cms.string('RecoTauV/caloRecoTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
427  efficiency = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByLeadingTrackFinding/LeadingTrackFindingEff#PAR#'),
428  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
429  ),
430  CaloTauIDLeadingTrackPtCutEfficiencies = cms.PSet(
431  numerator = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByLeadingTrackPtCut/caloRecoTauDiscriminationByLeadingTrackPtCut_vs_#PAR#TauVisible'),
432  denominator = cms.string('RecoTauV/caloRecoTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
433  efficiency = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
434  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
435  ),
436  CaloTauIDIsolationEfficienies = cms.PSet(
437  numerator = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByIsolation/caloRecoTauDiscriminationByIsolation_vs_#PAR#TauVisible'),
438  denominator = cms.string('RecoTauV/caloRecoTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
439  efficiency = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByIsolation/IsolationEff#PAR#'),
440  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
441  ),
442  CaloTauIDMuonRejectionEfficiencies = cms.PSet(
443  numerator = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationAgainstElectron/caloRecoTauDiscriminationAgainstElectron_vs_#PAR#TauVisible'),
444  denominator = cms.string('RecoTauV/caloRecoTauProducer_ReferenceCollection/nRef_Taus_vs_#PAR#TauVisible'),
445  efficiency = cms.string('RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
446  parameter = cms.vstring('pt', 'eta', 'phi', 'energy')
447  )
448  )
449 )
450 
451 
452 
453 """
454 
455 PLOTTING
456 
457  loadTau: load two separate TauVal root files into the DQM
458  so the plotter can access them
459 
460 """
461 
462 loadTau = cms.EDAnalyzer("DQMFileLoader",
463  test = cms.PSet(
464  inputFileNames = cms.vstring('/afs/cern.ch/user/f/friis/scratch0/MyValidationArea/310pre6NewTags/src/Validation/RecoTau/test/CMSSW_3_1_0_pre6_ZTT_0505Fixes.root'),
465  scaleFactor = cms.double(1.),
466  dqmDirectory_store = cms.string('test')
467  ),
468  reference = cms.PSet(
469  inputFileNames = cms.vstring('/afs/cern.ch/user/f/friis/CMSSW/pre6/src/Validation/RecoTau/test/CMSSW_3_1_0_pre6_ZTT.root'),
470  scaleFactor = cms.double(1.),
471  dqmDirectory_store = cms.string('reference')
472  )
473 )
474 
475 # Lots of junk to define the plot style
476 
477 # standard drawing stuff
478 standardDrawingStuff = cms.PSet(
479  canvasSizeX = cms.int32(640),
480  canvasSizeY = cms.int32(640),
481  indOutputFileName = cms.string('#PLOT#.png'),
482  xAxes = cms.PSet(
483  pt = cms.PSet(
484  xAxisTitle = cms.string('P_{T} / GeV'),
485  xAxisTitleOffset = cms.double(0.9),
486  xAxisTitleSize = cms.double(0.05)
487  ),
488  eta = cms.PSet(
489  xAxisTitle = cms.string('#eta'),
490  xAxisTitleOffset = cms.double(0.9),
491  xAxisTitleSize = cms.double(0.05)
492  ),
493  phi = cms.PSet(
494  xAxisTitle = cms.string('#phi'),
495  xAxisTitleOffset = cms.double(0.9),
496  xAxisTitleSize = cms.double(0.05)
497  ),
498  energy = cms.PSet(
499  xAxisTitle = cms.string('E / GeV'),
500  xAxisTitleOffset = cms.double(0.9),
501  xAxisTitleSize = cms.double(0.05)
502  )
503  ),
504 
505  yAxes = cms.PSet(
506  efficiency = cms.PSet(
507  yScale = cms.string('linear'), # linear/log
508  minY_linear = cms.double(0.),
509  maxY_linear = cms.double(1.6),
510  minY_log = cms.double(0.001),
511  maxY_log = cms.double(1.8),
512  yAxisTitle = cms.string('#varepsilon'),
513  yAxisTitleOffset = cms.double(1.1),
514  yAxisTitleSize = cms.double(0.05)
515  ),
516  fakeRate = cms.PSet(
517  yScale = cms.string('log'), # linear/log
518  minY_linear = cms.double(0.),
519  maxY_linear = cms.double(1.6),
520  minY_log = cms.double(0.001),
521  maxY_log = cms.double(1.8),
522  yAxisTitle = cms.string('#varepsilon'),
523  yAxisTitleOffset = cms.double(1.1),
524  yAxisTitleSize = cms.double(0.05)
525  )
526  ),
527 
528  legends = cms.PSet(
529  efficiency = cms.PSet(
530  posX = cms.double(0.50),
531  posY = cms.double(0.72),
532  sizeX = cms.double(0.39),
533  sizeY = cms.double(0.17),
534  header = cms.string(''),
535  option = cms.string('brNDC'),
536  borderSize = cms.int32(0),
537  fillColor = cms.int32(0)
538  ),
539  efficiency_overlay = cms.PSet(
540  posX = cms.double(0.50),
541  posY = cms.double(0.66),
542  sizeX = cms.double(0.39),
543  sizeY = cms.double(0.23),
544  header = cms.string(''),
545  option = cms.string('brNDC'),
546  borderSize = cms.int32(0),
547  fillColor = cms.int32(0)
548  )
549  ),
550 
551  labels = cms.PSet(
552  pt = cms.PSet(
553  posX = cms.double(0.19),
554  posY = cms.double(0.77),
555  sizeX = cms.double(0.12),
556  sizeY = cms.double(0.04),
557  option = cms.string('brNDC'),
558  borderSize = cms.int32(0),
559  fillColor = cms.int32(0),
560  textColor = cms.int32(1),
561  textSize = cms.double(0.04),
562  textAlign = cms.int32(22),
563  text = cms.vstring('P_{T} > 5 GeV')
564  ),
565  eta = cms.PSet(
566  posX = cms.double(0.19),
567  posY = cms.double(0.83),
568  sizeX = cms.double(0.12),
569  sizeY = cms.double(0.04),
570  option = cms.string('brNDC'),
571  borderSize = cms.int32(0),
572  fillColor = cms.int32(0),
573  textColor = cms.int32(1),
574  textSize = cms.double(0.04),
575  textAlign = cms.int32(22),
576  text = cms.vstring('-2.5 < #eta < +2.5')
577  )
578  ),
579 
580  drawOptionSets = cms.PSet(
581  efficiency = cms.PSet(
582  test = cms.PSet(
583  markerColor = cms.int32(4),
584  markerSize = cms.double(1.),
585  markerStyle = cms.int32(20),
586  lineColor = cms.int32(1),
587  lineStyle = cms.int32(1),
588  lineWidth = cms.int32(1),
589  drawOption = cms.string('ep'),
590  drawOptionLegend = cms.string('p')
591  ),
592  reference = cms.PSet(
593  lineColor = cms.int32(1),
594  lineStyle = cms.int32(1),
595  lineWidth = cms.int32(1),
596  fillColor = cms.int32(41),
597  drawOption = cms.string('eBand'),
598  drawOptionLegend = cms.string('l')
599  )
600  )
601  ),
602 
603  drawOptionEntries = cms.PSet(
604  eff_overlay01 = cms.PSet(
605  markerColor = cms.int32(1),
606  markerSize = cms.double(1.),
607  markerStyle = cms.int32(20),
608  lineColor = cms.int32(1),
609  lineStyle = cms.int32(1),
610  lineWidth = cms.int32(2),
611  drawOption = cms.string('ex0'),
612  drawOptionLegend = cms.string('p')
613  ),
614  eff_overlay02 = cms.PSet(
615  markerColor = cms.int32(2),
616  markerSize = cms.double(1.),
617  markerStyle = cms.int32(20),
618  lineColor = cms.int32(2),
619  lineStyle = cms.int32(1),
620  lineWidth = cms.int32(2),
621  drawOption = cms.string('ex0'),
622  drawOptionLegend = cms.string('p')
623  ),
624  eff_overlay03 = cms.PSet(
625  markerColor = cms.int32(3),
626  markerSize = cms.double(1.),
627  markerStyle = cms.int32(20),
628  lineColor = cms.int32(3),
629  lineStyle = cms.int32(1),
630  lineWidth = cms.int32(2),
631  drawOption = cms.string('ex0'),
632  drawOptionLegend = cms.string('p')
633  ),
634  eff_overlay04 = cms.PSet(
635  markerColor = cms.int32(4),
636  markerSize = cms.double(1.),
637  markerStyle = cms.int32(20),
638  lineColor = cms.int32(4),
639  lineStyle = cms.int32(1),
640  lineWidth = cms.int32(2),
641  drawOption = cms.string('ex0'),
642  drawOptionLegend = cms.string('p')
643  ),
644  eff_overlay05 = cms.PSet(
645  markerColor = cms.int32(6),
646  markerSize = cms.double(1.),
647  markerStyle = cms.int32(20),
648  lineColor = cms.int32(6),
649  lineStyle = cms.int32(1),
650  lineWidth = cms.int32(2),
651  drawOption = cms.string('ex0'),
652  drawOptionLegend = cms.string('p')
653  ),
654  eff_overlay06 = cms.PSet(
655  markerColor = cms.int32(5),
656  markerSize = cms.double(1.),
657  markerStyle = cms.int32(20),
658  lineColor = cms.int32(5),
659  lineStyle = cms.int32(1),
660  lineWidth = cms.int32(2),
661  drawOption = cms.string('ex0'),
662  drawOptionLegend = cms.string('p')
663  )
664  ),
665 )
666 
667 standardCompareTestAndReference = cms.PSet(
668  processes = cms.PSet(
669  test = cms.PSet(
670  dqmDirectory = cms.string('test'),
671  legendEntry = cms.string('no test label'),
672  type = cms.string('smMC') # Data/smMC/bsmMC/smSumMC
673  ),
674  reference = cms.PSet(
675  dqmDirectory = cms.string('reference'),
676  legendEntry = cms.string('no ref label'),
677  type = cms.string('smMC') # Data/smMC/bsmMC/smSumMC
678  )
679  ),
680 )
681 
682 standardEfficiencyParameters = cms.PSet(
683  parameter = cms.vstring('pt', 'eta', 'phi', 'energy'),
684  xAxis = cms.string('#PAR#'),
685  yAxis = cms.string('efficiency'),
686  legend = cms.string('efficiency'),
687  labels = cms.vstring('pt', 'eta'),
688  drawOptionSet = cms.string('efficiency')
689 )
690 
691 standardEfficiencyOverlay = cms.PSet(
692  parameter = cms.vstring('pt', 'eta', 'phi', 'energy'),
693  title = cms.string('TauId step by step efficiencies'),
694  xAxis = cms.string('#PAR#'),
695  yAxis = cms.string('efficiency'),
696  legend = cms.string('efficiency_overlay'),
697  labels = cms.vstring('pt', 'eta')
698 )
699 
700 
701 ##################################################
702 #
703 # The plotting of all the PFTau ID efficiencies
704 #
705 ##################################################
706 plotPFTauEfficiencies = cms.EDAnalyzer("DQMHistPlotter",
707  standardDrawingStuff,
708  standardCompareTestAndReference,
709  drawJobs = cms.PSet(
710  PFJetMatchingEff = cms.PSet(
711  standardEfficiencyParameters,
712  plots = cms.PSet(
713  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_Matched/PFJetMatchingEff#PAR#'),
714  processes = cms.vstring('test', 'reference')
715  )
716  ),
717  LeadingTrackPtCutEff = cms.PSet(
718  standardEfficiencyParameters,
719  plots = cms.PSet(
720  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
721  processes = cms.vstring('test', 'reference')
722  )
723  ),
724  TrackIsolationEff = cms.PSet(
725  standardEfficiencyParameters,
726  plots = cms.PSet(
727  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByTrackIsolation/TrackIsolationEff#PAR#'),
728  processes = cms.vstring('test', 'reference')
729  ),
730  ),
731  ECALIsolationEff = cms.PSet(
732  standardEfficiencyParameters,
733  plots = cms.PSet(
734  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByECALIsolation/ECALIsolationEff#PAR#'),
735  processes = cms.vstring('test', 'reference')
736  ),
737  ),
738  AgainstElectronEff = cms.PSet(
739  standardEfficiencyParameters,
740  plots = cms.PSet(
741  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
742  processes = cms.vstring('test', 'reference')
743  ),
744  ),
745  AgainstMuonEff = cms.PSet(
746  standardEfficiencyParameters,
747  plots = cms.PSet(
748  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
749  processes = cms.vstring('test', 'reference')
750  ),
751  ),
752  TauIdEffStepByStep = cms.PSet(
753  standardEfficiencyOverlay,
754  plots = cms.VPSet(
755  cms.PSet(
756  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_Matched/PFJetMatchingEff#PAR#'),
757  process = cms.string('test'),
758  drawOptionEntry = cms.string('eff_overlay01'),
759  legendEntry = cms.string('PFJet Matching')
760  ),
761  cms.PSet(
762  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
763  process = cms.string('test'),
764  drawOptionEntry = cms.string('eff_overlay02'),
765  legendEntry = cms.string('Lead Track Finding')
766  ),
767  cms.PSet(
768  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByTrackIsolation/TrackIsolationEff#PAR#'),
769  process = cms.string('test'),
770  drawOptionEntry = cms.string('eff_overlay03'),
771  legendEntry = cms.string('Track Iso.')
772  ),
773  cms.PSet(
774  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationByECALIsolation/ECALIsolationEff#PAR#'),
775  process = cms.string('test'),
776  drawOptionEntry = cms.string('eff_overlay04'),
777  legendEntry = cms.string('Track + Gamma Iso.')
778  ),
779  cms.PSet(
780  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
781  process = cms.string('test'),
782  drawOptionEntry = cms.string('eff_overlay05'),
783  legendEntry = cms.string('Electron Rejection')
784  ),
785  cms.PSet(
786  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/fixedConePFTauProducer_fixedConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
787  process = cms.string('test'),
788  drawOptionEntry = cms.string('eff_overlay06'),
789  legendEntry = cms.string('Muon Rejection')
790  )
791  ),
792  )
793  ),
794  outputFilePath = cms.string('./fixedConePFTauProducer/'),
795 )
796 ##################################################
797 #
798 # The plotting of HPS Efficiencies
799 #
800 ##################################################
801 
802 
803 plotHPSEfficiencies = cms.EDAnalyzer("DQMHistPlotter",
804  standardDrawingStuff,
805  standardCompareTestAndReference,
806  drawJobs = cms.PSet(
807  PFJetMatchingEff = cms.PSet(
808  standardEfficiencyParameters,
809  plots = cms.PSet(
810  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_Matched/PFJetMatchingEff#PAR#'),
811  processes = cms.vstring('test', 'reference')
812  ),
813  ),
814  DecayModeEff = cms.PSet(
815  standardEfficiencyParameters,
816  plots = cms.PSet(
817  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByDecayModeFinding/DecayModeFindingEff#PAR#'),
818  processes = cms.vstring('test', 'reference')
819  ),
820  ),
821  LooseIsolationEff = cms.PSet(
822  standardEfficiencyParameters,
823  plots = cms.PSet(
824  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByLooseIsolation/LooseIsolationEff#PAR#'),
825  processes = cms.vstring('test', 'reference')
826  ),
827  ),
828  MediumIsolationEff = cms.PSet(
829  standardEfficiencyParameters,
830  plots = cms.PSet(
831  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByMediumIsolation/MediumIsolationEff#PAR#'),
832  processes = cms.vstring('test', 'reference')
833  ),
834  ),
835  TightIsolationEff = cms.PSet(
836  standardEfficiencyParameters,
837  plots = cms.PSet(
838  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByTightIsolation/TightIsolationEff#PAR#'),
839  processes = cms.vstring('test', 'reference')
840  ),
841  ),
842  AgainstElectronEff = cms.PSet(
843  standardEfficiencyParameters,
844  plots = cms.PSet(
845  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
846  processes = cms.vstring('test', 'reference')
847  ),
848  ),
849  AgainstMuonEff = cms.PSet(
850  standardEfficiencyParameters,
851  plots = cms.PSet(
852  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
853  processes = cms.vstring('test', 'reference')
854  ),
855  ),
856  TauIdEffStepByStep = cms.PSet(
857  standardEfficiencyOverlay,
858  plots = cms.VPSet(
859  cms.PSet(
860  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_Matched/PFJetMatchingEff#PAR#'),
861  process = cms.string('test'),
862  drawOptionEntry = cms.string('eff_overlay01'),
863  legendEntry = cms.string('PFJet Matching')
864  ),
865  cms.PSet(
866  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByDecayModeFinding/DecayModeFindingEff#PAR#'),
867  process = cms.string('test'),
868  drawOptionEntry = cms.string('eff_overlay02'),
869  legendEntry = cms.string('Decay Mode Finding')
870  ),
871  cms.PSet(
872  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByLooseIsolation/LooseIsolationEff#PAR#'),
873  process = cms.string('test'),
874  drawOptionEntry = cms.string('eff_overlay03'),
875  legendEntry = cms.string('Loose Iso.')
876  ),
877  cms.PSet(
878  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByMediumIsolation/MediumIsolationEff#PAR#'),
879  process = cms.string('test'),
880  drawOptionEntry = cms.string('eff_overlay03'),
881  legendEntry = cms.string('Medium Iso.')
882  ),
883  cms.PSet(
884  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/hpsPFTauProducer_hpsPFTauDiscriminationByTightIsolation/TightIsolationEff#PAR#'),
885  process = cms.string('test'),
886  drawOptionEntry = cms.string('eff_overlay03'),
887  legendEntry = cms.string('Tight Iso.')
888  )
889  )
890  )
891  ),
892  outputFilePath = cms.string('./hpsPFTauProducer/')
893 )
894 
895 
896 
897 
898 
899 
900 ##################################################
901 #
902 # The plotting of all the PFTauHighEfficiencies ID efficiencies
903 #
904 ##################################################
905 
906 plotPFTauHighEfficiencyEfficiencies = cms.EDAnalyzer("DQMHistPlotter",
907  standardDrawingStuff,
908  standardCompareTestAndReference,
909  drawJobs = cms.PSet(
910  PFJetMatchingEff = cms.PSet(
911  standardEfficiencyParameters,
912  plots = cms.PSet(
913  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_Matched/PFJetMatchingEff#PAR#'),
914  processes = cms.vstring('test', 'reference')
915  ),
916  ),
917  LeadingTrackPtCutEff = cms.PSet(
918  standardEfficiencyParameters,
919  plots = cms.PSet(
920  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
921  processes = cms.vstring('test', 'reference')
922  ),
923  ),
924  TrackIsolationEff = cms.PSet(
925  standardEfficiencyParameters,
926  plots = cms.PSet(
927  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByTrackIsolation/TrackIsolationEff#PAR#'),
928  processes = cms.vstring('test', 'reference')
929  ),
930  ),
931  ECALIsolationEff = cms.PSet(
932  standardEfficiencyParameters,
933  plots = cms.PSet(
934  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByECALIsolation/ECALIsolationEff#PAR#'),
935  processes = cms.vstring('test', 'reference')
936  ),
937  ),
938  AgainstElectronEff = cms.PSet(
939  standardEfficiencyParameters,
940  plots = cms.PSet(
941  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
942  processes = cms.vstring('test', 'reference')
943  ),
944  ),
945  AgainstMuonEff = cms.PSet(
946  standardEfficiencyParameters,
947  plots = cms.PSet(
948  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
949  processes = cms.vstring('test', 'reference')
950  ),
951  ),
952  TauIdEffStepByStep = cms.PSet(
953  standardEfficiencyOverlay,
954  plots = cms.VPSet(
955  cms.PSet(
956  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_Matched/PFJetMatchingEff#PAR#'),
957  process = cms.string('test'),
958  drawOptionEntry = cms.string('eff_overlay01'),
959  legendEntry = cms.string('PFJet Matching')
960  ),
961  cms.PSet(
962  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
963  process = cms.string('test'),
964  drawOptionEntry = cms.string('eff_overlay02'),
965  legendEntry = cms.string('Lead Track Finding')
966  ),
967  cms.PSet(
968  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByTrackIsolation/TrackIsolationEff#PAR#'),
969  process = cms.string('test'),
970  drawOptionEntry = cms.string('eff_overlay03'),
971  legendEntry = cms.string('Track Iso.')
972  ),
973  cms.PSet(
974  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationByECALIsolation/ECALIsolationEff#PAR#'),
975  process = cms.string('test'),
976  drawOptionEntry = cms.string('eff_overlay04'),
977  legendEntry = cms.string('Track + Gamma Iso.')
978  ),
979  cms.PSet(
980  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
981  process = cms.string('test'),
982  drawOptionEntry = cms.string('eff_overlay05'),
983  legendEntry = cms.string('Electron Rejection')
984  ),
985  cms.PSet(
986  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducer_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
987  process = cms.string('test'),
988  drawOptionEntry = cms.string('eff_overlay06'),
989  legendEntry = cms.string('Muon Rejection')
990  )
991  ),
992  )
993  ),
994  outputFilePath = cms.string('./shrinkingConePFTauProducer/'),
995 )
996 
997 ##################################################
998 #
999 # The plotting of all the CaloTau ID efficiencies
1000 #
1001 ##################################################
1002 
1003 plotCaloTauEfficiencies = cms.EDAnalyzer("DQMHistPlotter",
1004  standardDrawingStuff,
1005  standardCompareTestAndReference,
1006  drawJobs = cms.PSet(
1007  CaloJetMatchingEff = cms.PSet(
1008  standardEfficiencyParameters,
1009  plots = cms.PSet(
1010  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_Matched/CaloJetMatchingEff#PAR#'),
1011  processes = cms.vstring('test', 'reference')
1012  ),
1013  ),
1014  LeadingTrackPtCutEff = cms.PSet(
1015  standardEfficiencyParameters,
1016  plots = cms.PSet(
1017  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
1018  processes = cms.vstring('test', 'reference')
1019  ),
1020  ),
1021  IsolationEff = cms.PSet(
1022  standardEfficiencyParameters,
1023  plots = cms.PSet(
1024  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByIsolation/IsolationEff#PAR#'),
1025  processes = cms.vstring('test', 'reference')
1026  ),
1027  ),
1028  AgainstElectronEff = cms.PSet(
1029  standardEfficiencyParameters,
1030  plots = cms.PSet(
1031  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
1032  processes = cms.vstring('test', 'reference')
1033  ),
1034  ),
1035  TauIdEffStepByStep = cms.PSet(
1036  standardEfficiencyOverlay,
1037  plots = cms.VPSet(
1038  cms.PSet(
1039  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_Matched/CaloJetMatchingEff#PAR#'),
1040  process = cms.string('test'),
1041  drawOptionEntry = cms.string('eff_overlay01'),
1042  legendEntry = cms.string('CaloJet Matching')
1043  ),
1044  cms.PSet(
1045  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByLeadingTrackPtCut/LeadingTrackPtCutEff#PAR#'),
1046  process = cms.string('test'),
1047  drawOptionEntry = cms.string('eff_overlay02'),
1048  legendEntry = cms.string('Lead Track Finding')
1049  ),
1050  cms.PSet(
1051  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationByIsolation/IsolationEff#PAR#'),
1052  process = cms.string('test'),
1053  drawOptionEntry = cms.string('eff_overlay03'),
1054  legendEntry = cms.string('Track Isolation')
1055  ),
1056  cms.PSet(
1057  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/caloRecoTauProducer_caloRecoTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
1058  process = cms.string('test'),
1059  drawOptionEntry = cms.string('eff_overlay04'),
1060  legendEntry = cms.string('Electron Rejection')
1061  )
1062  ),
1063  )
1064  ),
1065  outputFilePath = cms.string('./caloRecoTauProducer/'),
1066 )
1067 
1068 ##################################################
1069 #
1070 # Plot Tanc performance
1071 #
1072 ##################################################
1073 
1074 plotTancValidation = cms.EDAnalyzer("DQMHistPlotter",
1075  standardDrawingStuff,
1076  standardCompareTestAndReference,
1077  drawJobs = cms.PSet(
1078  PFJetMatchingEff = cms.PSet(
1079  standardEfficiencyParameters,
1080  plots = cms.PSet(
1081  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_Matched/PFJetMatchingEff#PAR#'),
1082  processes = cms.vstring('test', 'reference')
1083  ),
1084  ),
1085  LeadingTrackPtCutEff = cms.PSet(
1086  standardEfficiencyParameters,
1087  plots = cms.PSet(
1088  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByLeadingPionPtCut/LeadingPionPtCutEff#PAR#'),
1089  processes = cms.vstring('test', 'reference')
1090  ),
1091  ),
1092  TaNCfrOnePercentEff = cms.PSet(
1093  standardEfficiencyParameters,
1094  plots = cms.PSet(
1095  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrOnePercent/TaNCfrOnePercentEff#PAR#'),
1096  processes = cms.vstring('test', 'reference')
1097  ),
1098  ),
1099  TaNCfrHalfPercentEff = cms.PSet(
1100  standardEfficiencyParameters,
1101  plots = cms.PSet(
1102  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent/TaNCfrHalfPercentEff#PAR#'),
1103  processes = cms.vstring('test', 'reference')
1104  ),
1105  ),
1106  TaNCfrQuarterPercentEff = cms.PSet(
1107  standardEfficiencyParameters,
1108  plots = cms.PSet(
1109  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent/TaNCfrQuarterPercentEff#PAR#'),
1110  processes = cms.vstring('test', 'reference')
1111  ),
1112  ),
1113  TaNCfrTenthPercentEff = cms.PSet(
1114  standardEfficiencyParameters,
1115  plots = cms.PSet(
1116  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent/TaNCfrTenthPercentEff#PAR#'),
1117  processes = cms.vstring('test', 'reference')
1118  ),
1119  ),
1120  AgainstElectronEff = cms.PSet(
1121  standardEfficiencyParameters,
1122  plots = cms.PSet(
1123  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
1124  processes = cms.vstring('test', 'reference')
1125  ),
1126  ),
1127  AgainstMuonEff = cms.PSet(
1128  standardEfficiencyParameters,
1129  plots = cms.PSet(
1130  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
1131  processes = cms.vstring('test', 'reference')
1132  ),
1133  ),
1134  TauIdEffStepByStep = cms.PSet(
1135  standardEfficiencyOverlay,
1136  plots = cms.VPSet(
1137  cms.PSet(
1138  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_Matched/PFJetMatchingEff#PAR#'),
1139  process = cms.string('test'),
1140  drawOptionEntry = cms.string('eff_overlay01'),
1141  legendEntry = cms.string('PFJet Matching')
1142  ),
1143  cms.PSet(
1144  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByLeadingPionPtCut/LeadingPionPtCutEff#PAR#'),
1145  process = cms.string('test'),
1146  drawOptionEntry = cms.string('eff_overlay02'),
1147  legendEntry = cms.string('Lead Pion Finding')
1148  ),
1149  cms.PSet(
1150  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrOnePercent/TaNCfrOnePercentEff#PAR#'),
1151  process = cms.string('test'),
1152  drawOptionEntry = cms.string('eff_overlay03'),
1153  legendEntry = cms.string('TaNC One Percent')
1154  ),
1155  cms.PSet(
1156  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrHalfPercent/TaNCfrHalfPercentEff#PAR#'),
1157  process = cms.string('test'),
1158  drawOptionEntry = cms.string('eff_overlay03'),
1159  legendEntry = cms.string('TaNC Half Percent')
1160  ),
1161  cms.PSet(
1162  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent/TaNCfrQuarterPercentEff#PAR#'),
1163  process = cms.string('test'),
1164  drawOptionEntry = cms.string('eff_overlay03'),
1165  legendEntry = cms.string('TaNC Quarter Percent')
1166  ),
1167  cms.PSet(
1168  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationByTaNCfrTenthPercent/TaNCfrTenthPercentEff#PAR#'),
1169  process = cms.string('test'),
1170  drawOptionEntry = cms.string('eff_overlay03'),
1171  legendEntry = cms.string('TaNC Tenth Percent')
1172  ),
1173  cms.PSet(
1174  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
1175  process = cms.string('test'),
1176  drawOptionEntry = cms.string('eff_overlay05'),
1177  legendEntry = cms.string('Electron Rejection')
1178  ),
1179  cms.PSet(
1180  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerTanc_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
1181  process = cms.string('test'),
1182  drawOptionEntry = cms.string('eff_overlay06'),
1183  legendEntry = cms.string('Muon Rejection')
1184  )
1185  ),
1186  )
1187  ),
1188  outputFilePath = cms.string('./shrinkingConePFTauProducerTanc/'),
1189 )
1190 
1191 
1192 ##################################################
1193 #
1194 # The plotting of all the PFTauHighEfficiencyUsingLeadingPion ID efficiencies
1195 #
1196 ##################################################
1197 
1198 plotPFTauHighEfficiencyEfficienciesLeadingPion = cms.EDAnalyzer("DQMHistPlotter",
1199  standardDrawingStuff,
1200  standardCompareTestAndReference,
1201  drawJobs = cms.PSet(
1202  PFJetMatchingEff = cms.PSet(
1203  standardEfficiencyParameters,
1204  plots = cms.PSet(
1205  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_Matched/PFJetMatchingEff#PAR#'),
1206  processes = cms.vstring('test', 'reference')
1207  ),
1208  ),
1209  LeadingTrackPtCutEff = cms.PSet(
1210  standardEfficiencyParameters,
1211  plots = cms.PSet(
1212  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByLeadingPionPtCut/LeadingPionPtCutEff#PAR#'),
1213  processes = cms.vstring('test', 'reference')
1214  ),
1215  ),
1216  TrackIsolationEff = cms.PSet(
1217  standardEfficiencyParameters,
1218  plots = cms.PSet(
1219  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion/TrackIsolationEff#PAR#'),
1220  processes = cms.vstring('test', 'reference')
1221  ),
1222  ),
1223  ECALIsolationEff = cms.PSet(
1224  standardEfficiencyParameters,
1225  plots = cms.PSet(
1226  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion/ECALIsolationEff#PAR#'),
1227  processes = cms.vstring('test', 'reference')
1228  ),
1229  ),
1230  AgainstElectronEff = cms.PSet(
1231  standardEfficiencyParameters,
1232  plots = cms.PSet(
1233  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
1234  processes = cms.vstring('test', 'reference')
1235  ),
1236  ),
1237  AgainstMuonEff = cms.PSet(
1238  standardEfficiencyParameters,
1239  plots = cms.PSet(
1240  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
1241  processes = cms.vstring('test', 'reference')
1242  ),
1243  ),
1244  TauIdEffStepByStep = cms.PSet(
1245  standardEfficiencyOverlay,
1246  plots = cms.VPSet(
1247  cms.PSet(
1248  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_Matched/PFJetMatchingEff#PAR#'),
1249  process = cms.string('test'),
1250  drawOptionEntry = cms.string('eff_overlay01'),
1251  legendEntry = cms.string('PFJet Matching')
1252  ),
1253  cms.PSet(
1254  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByLeadingPionPtCut/LeadingPionPtCutEff#PAR#'),
1255  process = cms.string('test'),
1256  drawOptionEntry = cms.string('eff_overlay02'),
1257  legendEntry = cms.string('Lead Pion Finding')
1258  ),
1259  cms.PSet(
1260  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByTrackIsolationUsingLeadingPion/TrackIsolationEff#PAR#'),
1261  process = cms.string('test'),
1262  drawOptionEntry = cms.string('eff_overlay03'),
1263  legendEntry = cms.string('Track Iso. Using Lead. Pion')
1264  ),
1265  cms.PSet(
1266  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationByECALIsolationUsingLeadingPion/ECALIsolationEff#PAR#'),
1267  process = cms.string('test'),
1268  drawOptionEntry = cms.string('eff_overlay04'),
1269  legendEntry = cms.string('Track + Gamma Iso. Using Lead. Pioon')
1270  ),
1271  cms.PSet(
1272  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstElectron/AgainstElectronEff#PAR#'),
1273  process = cms.string('test'),
1274  drawOptionEntry = cms.string('eff_overlay05'),
1275  legendEntry = cms.string('Electron Rejection')
1276  ),
1277  cms.PSet(
1278  dqmMonitorElements = cms.vstring('#PROCESSDIR#/RecoTauV/shrinkingConePFTauProducerLeadingPion_shrinkingConePFTauDiscriminationAgainstMuon/AgainstMuonEff#PAR#'),
1279  process = cms.string('test'),
1280  drawOptionEntry = cms.string('eff_overlay06'),
1281  legendEntry = cms.string('Muon Rejection')
1282  )
1283  ),
1284  )
1285  ),
1286  outputFilePath = cms.string('./shrinkingConePFTauProducerLeadingPion/'),
1287 )
1288 
1289 plotTauValidation = cms.Sequence(
1290  plotPFTauEfficiencies
1291  +plotPFTauHighEfficiencyEfficiencies
1292  +plotCaloTauEfficiencies
1293  +plotTancValidation
1294  +plotPFTauHighEfficiencyEfficienciesLeadingPion
1295  +plotHPSEfficiencies
1296  )
1297 
1298 
1299 loadAndPlotTauValidation = cms.Sequence(
1300  loadTau
1301  +plotTancValidation
1302  )
1303 
1304 """
1305 
1306 UTILITIES
1307 
1308 """
1309 
1311  """ Helper class that applies a given function to all modules
1312  in a sequence """
1313  def __init__(self,function):
1314  self.functor = function
1315  def enter(self, module):
1316  self.functor(module)
1317  def leave(self, module):
1318  pass
1319 
1321  input = re.sub('fixedConePFTauProducer', 'pfRecoTauProducer', input)
1322  #fixedDiscriminationRegex = re.compile('fixedConePFTauDiscrimination( \w* )')
1323  fixedDiscriminationRegex = re.compile('fixedConePFTauDiscrimination(\w*)')
1324  input = fixedDiscriminationRegex.sub(r'pfRecoTauDiscrimination\1', input)
1325  input = re.sub('shrinkingConePFTauProducer', 'pfRecoTauProducerHighEfficiency', input)
1326  shrinkingDiscriminationRegex = re.compile('shrinkingConePFTauDiscrimination(\w*)')
1327  input = shrinkingDiscriminationRegex.sub(r'pfRecoTauDiscrimination\1HighEfficiency', input)
1328  return input
1329 
1330 
1332  """ Converts a draw job defined to compare 31X named PFTau validtion efficiencies
1333  to comapre a 31X to a 22X named validation """
1334  # get the list of drawjobs { name : copyOfPSet }
1335  if not hasattr(input, "drawJobs"):
1336  return
1337  myDrawJobs = input.drawJobs.parameters_()
1338  for drawJobName, drawJobData in myDrawJobs.iteritems():
1339  print drawJobData
1340  if not drawJobData.plots.pythonTypeName() == "cms.PSet":
1341  continue
1342  pSetToInsert = cms.PSet(
1343  standardEfficiencyParameters,
1344  plots = cms.VPSet(
1345  # test plot w/ modern names
1346  cms.PSet(
1347  dqmMonitorElements = drawJobData.plots.dqmMonitorElements,
1348  process = cms.string('test'),
1349  drawOptionEntry = cms.string('eff_overlay01'),
1350  legendEntry = cms.string(input.processes.test.legendEntry.value())
1351  ),
1352  # ref plot w/ vintage name
1353  cms.PSet(
1354  # translate the name
1355  dqmMonitorElements = cms.vstring(TranslateToLegacyProdNames(drawJobData.plots.dqmMonitorElements.value()[0])),
1356  process = cms.string('reference'),
1357  drawOptionEntry = cms.string('eff_overlay02'),
1358  legendEntry = cms.string(input.processes.reference.legendEntry.value())
1359  )
1360  )
1361  )
1362  input.drawJobs.__setattr__(drawJobName, pSetToInsert)
1363 
1364 def MakeLabeler(TestLabel, ReferenceLabel):
1365  def labeler(module):
1366  if hasattr(module, 'processes'):
1367  if module.processes.hasParameter(['test', 'legendEntry']) and module.processes.hasParameter([ 'reference', 'legendEntry']):
1368  module.processes.test.legendEntry = TestLabel
1369  module.processes.reference.legendEntry = ReferenceLabel
1370  print "Set test label to %s and reference label to %s for plot producer %s" % (TestLabel, ReferenceLabel, module.label())
1371  else:
1372  print "ERROR in RecoTauValidation_cfi::MakeLabeler - trying to set test/reference label but %s does not have processes.(test/reference).legendEntry parameters!" % module.label()
1373  return labeler
1374 
1375 def SetYmodulesToLog(matchingNames = []):
1376  ''' set all modules whose name contains one of the matching names to log y scale'''
1377  def yLogger(module):
1378  ''' set a module to use log scaling in the yAxis'''
1379  if hasattr(module, 'drawJobs'):
1380  print "EK DEBUG"
1381  drawJobParamGetter = lambda subName : getattr(module.drawJobs, subName)
1382  #for subModule in [getattr(module.drawJobs, subModuleName) for subModuleName in dir(module.drawJobs)]:
1383  attrNames = dir(module.drawJobs)
1384  for subModuleName, subModule in zip(attrNames, map(drawJobParamGetter, attrNames)):
1385  matchedNames = [name for name in matchingNames if subModuleName.find( name) > -1] # matching sub strings
1386  if hasattr(subModule, "yAxis") and len(matchedNames):
1387  print "Setting drawJob: ", subModuleName, " to log scale."
1388  subModule.yAxis = cms.string('fakeRate') #'fakeRate' configuration specifies the log scaling
1389  return yLogger
1390 
1391 
1392 def SetBaseDirectory(Directory):
1393  def BaseDirectorizer(module):
1394  newPath = Directory
1395  #if module.hasParameter("outputFilePath"):
1396  if hasattr(module, "outputFilePath"):
1397  oldPath = module.outputFilePath.value()
1398  newPath = os.path.join(newPath, oldPath)
1399  if not os.path.exists(newPath):
1400  os.makedirs(newPath)
1401  print newPath
1402  module.outputFilePath = cms.string("%s" % newPath)
1403  return BaseDirectorizer
1404 
1406  if hasattr(module, 'drawJobs'):
1407  #get draw job parameter names
1408  drawJobs = module.drawJobs.parameterNames_()
1409  for drawJob in drawJobs:
1410  if drawJob != "TauIdEffStepByStep":
1411  module.drawJobs.__delattr__(drawJob)
1412  print "Removing comparison plot", drawJob
1413 
1414 def SetPlotDirectory(myPlottingSequence, directory):
1415  myFunctor = ApplyFunctionToSequence(SetBaseDirectory(directory))
1416  myPlottingSequence.visit(myFunctor)
1417 
1418 def SetTestAndReferenceLabels(myPlottingSequence, TestLabel, ReferenceLabel):
1419  myFunctor = ApplyFunctionToSequence(MakeLabeler(TestLabel, ReferenceLabel))
1420  myPlottingSequence.visit(myFunctor)
1421 
1422 def SetCompareToLegacyProductNames(myPlottingSequence):
1423  myFunctor = ApplyFunctionToSequence(ConvertDrawJobToLegacyCompare)
1424  myPlottingSequence.visit(myFunctor)
1425 
1426 def SetTestFileToPlot(myProcess, FileLoc):
1427  myProcess.loadTau.test.inputFileNames = cms.vstring(FileLoc)
1428 
1429 def SetReferenceFileToPlot(myProcess, FileLoc):
1430  if FileLoc == None:
1431  del myProcess.loadTau.reference
1432  else:
1433  myProcess.loadTau.reference.inputFileNames = cms.vstring(FileLoc)
1434 
1435 def SetLogScale(myPlottingSequence):
1437  myPlottingSequence.visit(myFunctor)
1438 
1439 def SetSmartLogScale(myPlottingSequence):
1440  myFunctor = ApplyFunctionToSequence(SetYmodulesToLog(['Electron', 'Muon', 'Isolation', 'TaNC']))
1441  myPlottingSequence.visit(myFunctor)
1442 
1443 def SetPlotOnlyStepByStep(myPlottingSequence):
1444  myFunctor = ApplyFunctionToSequence(RemoveComparisonPlotCommands)
1445  myPlottingSequence.visit(myFunctor)
dictionary map
Definition: Association.py:160
dbl *** dir
Definition: mlp_gen.cc:35