ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/python/pfTauConfig_cff.py
(Generate patch)

Comparing UserCode/HbbAnalysis/python/pfTauConfig_cff.py (file contents):
Revision 1.3 by amagnan, Fri Sep 18 15:18:25 2009 UTC vs.
Revision 1.4 by amagnan, Tue Feb 9 14:52:24 2010 UTC

# Line 9 | Line 9 | import copy
9  
10   from RecoTauTag.Configuration.RecoPFTauTag_cff import *
11  
12 ######################################################################################
13 ####    Reco tau producer
14 ######################################################################################
15
16 pfRecoTauProducerForTauAnalyses = copy.deepcopy(pfRecoTauProducer)
17
18 ### leading track/charged/neutral pion finding ###
19 pfRecoTauProducerForTauAnalyses.LeadTrack_minPt = cms.double(5.0)
20 pfRecoTauProducerForTauAnalyses.Track_minPt = cms.double(1.0)
21 pfRecoTauProducerForTauAnalyses.Track_IsolAnnulus_minNhits = 8
22 pfRecoTauProducerForTauAnalyses.PFCand_minPt = cms.double(0.5)
23 pfRecoTauProducerForTauAnalyses.LeadPFCand_minPt = cms.double(5.0)
24
25 pfRecoTauProducerForTauAnalyses.LeadChargedHadrCand_minPt = cms.double(5.0)
26 pfRecoTauProducerForTauAnalyses.ChargedHadrCand_minPt = 1.0
27 pfRecoTauProducerForTauAnalyses.ChargedHadrCand_IsolAnnulus_minNhits = 8
28 pfRecoTauProducerForTauAnalyses.ChargedHadrCandLeadChargedHadrCand_tksmaxDZ = cms.double(0.2)
29 pfRecoTauProducerForTauAnalyses.UseChargedHadrCandLeadChargedHadrCand_tksDZconstraint = cms.bool(True)
30
31 pfRecoTauProducerForTauAnalyses.GammaCand_minPt = 1.5
32 pfRecoTauProducerForTauAnalyses.NeutrHadrCand_minPt = cms.double(1.0)
33
34 pfRecoTauProducerForTauAnalyses.TrackLeadTrack_maxDZ = cms.double(0.2)
35 pfRecoTauProducerForTauAnalyses.UseTrackLeadTrackDZconstraint = cms.bool(True)
36
37 pfRecoTauProducerForTauAnalyses.smearedPVsigmaY = cms.double(0.0015)
38 pfRecoTauProducerForTauAnalyses.smearedPVsigmaX = cms.double(0.0015)
39 pfRecoTauProducerForTauAnalyses.smearedPVsigmaZ = cms.double(0.005)
40 ### Match ###
41 pfRecoTauProducerForTauAnalyses.MatchingConeMetric = "DR"
42 pfRecoTauProducerForTauAnalyses.MatchingConeSizeFormula = "0.1"
43 pfRecoTauProducerForTauAnalyses.MatchingConeSize_max = 0.1
44 pfRecoTauProducerForTauAnalyses.MatchingConeSize_min = 0.0
45 ### Trk Sig ###
46 pfRecoTauProducerForTauAnalyses.TrackerSignalConeMetric = "DR"
47 pfRecoTauProducerForTauAnalyses.TrackerSignalConeSizeFormula = "0.07"
48 pfRecoTauProducerForTauAnalyses.TrackerSignalConeSize_min = "0.0"
49 pfRecoTauProducerForTauAnalyses.TrackerSignalConeSize_max = "0.1"
50 ### Trk Iso ###
51 pfRecoTauProducerForTauAnalyses.TrackerIsolConeMetric = "DR"
52 pfRecoTauProducerForTauAnalyses.TrackerIsolConeSizeFormula = "0.5"
53 pfRecoTauProducerForTauAnalyses.TrackerIsolConeSize_max = "1.0"
54 pfRecoTauProducerForTauAnalyses.TrackerIsolConeSize_min = "0.0"
55 ### Ecal Sig ###
56 pfRecoTauProducerForTauAnalyses.ECALSignalConeMetric = "DR"
57 pfRecoTauProducerForTauAnalyses.ECALSignalConeSizeFormula = "0.15"
58 pfRecoTauProducerForTauAnalyses.ECALSignalConeSize_max = "0.15"
59 pfRecoTauProducerForTauAnalyses.ECALSignalConeSize_min = "0.0"
60 ### Ecal Iso ###
61 pfRecoTauProducerForTauAnalyses.ECALIsolConeMetric = "DR"  
62 pfRecoTauProducerForTauAnalyses.ECALIsolConeSizeFormula = "0.50"
63 pfRecoTauProducerForTauAnalyses.ECALIsolConeSize_max = "1.0"
64 pfRecoTauProducerForTauAnalyses.ECALIsolConeSize_min = "0.0"
65 ### FixedArea ###
66 pfRecoTauProducerForTauAnalyses.AreaMetric_recoElements_maxabsEta = cms.double(2.5)
67 ### Electron rejection ###
68 pfRecoTauProducerForTauAnalyses.ElectronPreIDProducer = cms.InputTag("elecpreid")
69 pfRecoTauProducerForTauAnalyses.EcalStripSumE_deltaPhiOverQ_minValue = cms.double(-0.1)
70 pfRecoTauProducerForTauAnalyses.EcalStripSumE_deltaPhiOverQ_maxValue = cms.double(0.5)
71 pfRecoTauProducerForTauAnalyses.EcalStripSumE_minClusEnergy = cms.double(0.1)
72 pfRecoTauProducerForTauAnalyses.EcalStripSumE_deltaEta = cms.double(0.03)
73 pfRecoTauProducerForTauAnalyses.ElecPreIDLeadTkMatch_maxDR = cms.double(0.01)
74
75 pfRecoTauProducerForTauAnalyses.DataType = cms.string("AOD")
76
77 pfRecoTauPreDiscriminationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByIsolation)
78 pfRecoTauPreDiscriminationForTauAnalyses.PFTauProducer = 'pfRecoTauProducerForTauAnalyses'
79
80 ######################################################################################
81 ####    PAT layer 0
82 ######################################################################################
83
84 from PhysicsTools.PatAlgos.cleaningLayer0.pfTauCleaner_cfi import *
85
86 allLayer0PFTausForTauAnalyses = copy.deepcopy(allLayer0Taus)
87 allLayer0PFTausForTauAnalyses.tauSource = cms.InputTag("pfRecoTauProducerForTauAnalyses") #pfRecoTauProducerHighEfficiency
88 allLayer0PFTausForTauAnalyses.tauDiscriminatorSource = cms.InputTag("pfRecoTauPreDiscriminationForTauAnalyses") #...HighEfficiency
89
90 allLayer0PFTausForTauAnalyses.removeOverlaps = cms.PSet(
91    ## Flag or discard taus that match with clean electrons
92    #electrons = cms.PSet(    
93    #    collection = cms.InputTag("allLayer0Electrons")
94    #    deltaR     = cms.double(0.3)
95    #)
96    )
97
98
99 ######################################################################################
100 ####    tau discriminators
101 ######################################################################################
102
103 #from PhysicsTools.PatAlgos.recoLayer0.tauDiscriminators_cff import *
104
105 #copy the PFTauDiscriminator producer;
106 #instead of the AOD reco::PFTau collection, set the reco::PFTaus collection produced by PAT layer 0 cleaning
107 #as reference for PFTauDiscriminator objects
108 patPFRecoTauDiscriminationByIsolationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByIsolation)
109 patPFRecoTauDiscriminationByIsolationForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
110
111 patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByLeadingTrackFinding)
112 patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
113
114 patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByLeadingTrackPtCut)
115 patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
116
117 patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByTrackIsolation)
118 patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
119
120 patPFRecoTauDiscriminationByECALIsolationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByECALIsolation)
121 patPFRecoTauDiscriminationByECALIsolationForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
122
123 patPFRecoTauDiscriminationAgainstElectronForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationAgainstElectron)
124 patPFRecoTauDiscriminationAgainstElectronForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
125
126 patPFRecoTauDiscriminationAgainstMuonForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationAgainstMuon)
127 patPFRecoTauDiscriminationAgainstMuonForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
128
129 patPFTauDiscriminationForTauAnalyses = cms.Sequence(
130    patPFRecoTauDiscriminationByIsolationForTauAnalyses
131    +patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses
132    +patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses
133    +patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses
134    +patPFRecoTauDiscriminationByECALIsolationForTauAnalyses
135    +patPFRecoTauDiscriminationAgainstElectronForTauAnalyses
136    +patPFRecoTauDiscriminationAgainstMuonForTauAnalyses
137    )
138
139
140 ######################################################################################
141 ####    tau isolation
142 ######################################################################################
143
144
145 #beforeLayer0
146 from PhysicsTools.PatAlgos.recoLayer0.tauIsolation_cff import *
147 from PhysicsTools.PatAlgos.recoLayer0.pfCandidateIsoDepositSelection_cff import *
148
149 tauIsoDepositPFCandidatesForTauAnalyses = copy.deepcopy(tauIsoDepositPFCandidates)
150 tauIsoDepositPFCandidatesForTauAnalyses.src = cms.InputTag("pfRecoTauProducerForTauAnalyses")
151 tauIsoDepositPFCandidatesForTauAnalyses.trackType = cms.string('candidate')
152 tauIsoDepositPFCandidatesForTauAnalyses.ExtractorPSet = cms.PSet(
153    # PFTau specific Extractor, which allows to exclude particles within tau signal cone from IsoDeposit computation
154    ComponentName = cms.string('PFTauExtractor'),
155        
156    # collection of PFCandidates to be used for IsoDeposit computation
157    candidateSource = cms.InputTag("particleFlow"),
158
159    # size of outer cone for which IsoDeposits are computed
160    DR_Max = cms.double(1.0),
161    # size of inner cone excluded from IsoDeposit computation
162    DR_Veto = cms.double(0.),
163
164    # distance in zVertex between tau production vertex and PFCandidates included in IsoDeposit computation
165    Diff_z = cms.double(0.2),
166    # distance in x-y between tau production vertex and PFCandidates included in IsoDeposit computation
167    Diff_r = cms.double(0.1),
168
169    # collection of PFTaus, needed for excluding particles in tau signal cone from IsoDeposit
170    tauSource = cms.InputTag("pfRecoTauProducerForTauAnalyses"),
171    # maximum distance in eta-phi, needed to match PFTau to direction passed as function argument to Extractor
172    dRmatchPFTau = cms.double(0.1),
173    # size of cones around tau signal cone particles excluded from IsoDeposit computation
174    dRvetoPFTauSignalConeConstituents = cms.double(0.01),
175        
176    DepositLabel = cms.untracked.string('')
177    )
178
179
180 tauIsoDepositPFChargedHadronsForTauAnalyses = copy.deepcopy(tauIsoDepositPFCandidatesForTauAnalyses)
181 tauIsoDepositPFChargedHadronsForTauAnalyses.ExtractorPSet.candidateSource = cms.InputTag("pfAllChargedHadrons")
182
183 tauIsoDepositPFNeutralHadronsForTauAnalyses = copy.deepcopy(tauIsoDepositPFCandidatesForTauAnalyses)
184 tauIsoDepositPFNeutralHadronsForTauAnalyses.ExtractorPSet.candidateSource = cms.InputTag("pfAllNeutralHadrons")
185
186 tauIsoDepositPFGammasForTauAnalyses = copy.deepcopy(tauIsoDepositPFCandidatesForTauAnalyses)
187 tauIsoDepositPFGammasForTauAnalyses.ExtractorPSet.candidateSource = cms.InputTag("pfAllPhotons")
188
189
190 patPFTauIsolationForTauAnalyses = cms.Sequence( tauIsoDepositPFCandidatesForTauAnalyses
191                                                *tauIsoDepositPFChargedHadronsForTauAnalyses
192                                                *tauIsoDepositPFNeutralHadronsForTauAnalyses
193                                                *tauIsoDepositPFGammasForTauAnalyses
194                                                )
195                                
196 patAODPFTauIsolationLabelsForTauAnalyses = cms.VInputTag(
197    cms.InputTag("tauIsoDepositPFCandidatesForTauAnalyses"),
198    cms.InputTag("tauIsoDepositPFChargedHadronsForTauAnalyses"),
199    cms.InputTag("tauIsoDepositPFNeutralHadronsForTauAnalyses"),
200    cms.InputTag("tauIsoDepositPFGammasForTauAnalyses")
201    )
202
203 patAODPFTauIsolationForTauAnalyses = copy.deepcopy(patAODPFTauIsolation)
204 patAODPFTauIsolationForTauAnalyses.collection = cms.InputTag("pfRecoTauProducerForTauAnalyses")
205 patAODPFTauIsolationForTauAnalyses.associations = patAODPFTauIsolationLabelsForTauAnalyses
206
207 patLayer0PFTauIsolationForTauAnalyses = copy.deepcopy(patLayer0PFTauIsolation)
208 patLayer0PFTauIsolationForTauAnalyses.collection = cms.InputTag("allLayer0PFTausForTauAnalyses")
209 patLayer0PFTauIsolationForTauAnalyses.backrefs = cms.InputTag("allLayer0PFTausForTauAnalyses")
210 patLayer0PFTauIsolationForTauAnalyses.commonLabel = cms.InputTag("patAODPFTauIsolationForTauAnalyses")
211 patLayer0PFTauIsolationForTauAnalyses.associations = patAODPFTauIsolationLabelsForTauAnalyses
212
213
214
215 ######################################################################################
216 ####    trigger matching
217 ######################################################################################
218
219
220
221 ######################################################################################
222 ####    MC matching
223 ######################################################################################
224
225 from PhysicsTools.PatAlgos.mcMatchLayer0.tauMatch_cfi import *
226
227 pfTauMatchForTauAnalyses = copy.deepcopy(tauMatch)
228 pfTauMatchForTauAnalyses.src = cms.InputTag("allLayer0PFTausForTauAnalyses")
229 pfTauMatchForTauAnalyses.matched = cms.InputTag("genParticles")
230 pfTauMatchForTauAnalyses.mcPdgId     = cms.vint32(15)
231 pfTauMatchForTauAnalyses.checkCharge = cms.bool(True)
232 pfTauMatchForTauAnalyses.mcStatus = cms.vint32(2) # PYTHIA status code (1 = stable, 2 = shower, 3 = hard scattering)
233                                                     # NOTE that Taus can only be status 3 or 2, never 1!
234 pfTauMatchForTauAnalyses.maxDeltaR = cms.double(0.3)
235 pfTauMatchForTauAnalyses.maxDPtRel = cms.double(3.0)
236 pfTauMatchForTauAnalyses.resolveAmbiguities = cms.bool(True)
237 pfTauMatchForTauAnalyses.resolveByMatchQuality = cms.bool(False)
238
239 pfTauGenJetMatchForTauAnalyses = copy.deepcopy(tauGenJetMatch)
240 pfTauGenJetMatchForTauAnalyses.src      = cms.InputTag("allLayer0PFTausForTauAnalyses")
241 pfTauGenJetMatchForTauAnalyses.matched  = cms.InputTag("tauGenJets")
242 pfTauGenJetMatchForTauAnalyses.maxDeltaR = cms.double(0.1)
243 pfTauGenJetMatchForTauAnalyses.maxDPtRel = cms.double(3.0)
244 pfTauGenJetMatchForTauAnalyses.resolveAmbiguities = cms.bool(True)
245 pfTauGenJetMatchForTauAnalyses.resolveByMatchQuality = cms.bool(False)
246
247
248 ######################################################################################
249 ####    PAT layer 1
250 ######################################################################################
251
252 from PhysicsTools.PatAlgos.producersLayer1.tauProducer_cfi import *
253
254
255 allLayer1PFTausForTauAnalyses = copy.deepcopy(allLayer1Taus)
256 allLayer1PFTausForTauAnalyses.tauSource = cms.InputTag("allLayer0PFTausForTauAnalyses")
257
258 allLayer1PFTausForTauAnalyses.embedLeadTrack       = cms.bool(True)
259 allLayer1PFTausForTauAnalyses.embedSignalTracks    = cms.bool(True)
260 allLayer1PFTausForTauAnalyses.embedIsolationTracks = cms.bool(True)
261
262 allLayer1PFTausForTauAnalyses.isoDeposits.pfAllParticles = cms.InputTag("patLayer0PFTauIsolationForTauAnalyses", "tauIsoDepositPFCandidatesForTauAnalyses")
263 allLayer1PFTausForTauAnalyses.isoDeposits.pfChargedHadron = cms.InputTag("patLayer0PFTauIsolationForTauAnalyses", "tauIsoDepositPFChargedHadronsForTauAnalyses")
264 allLayer1PFTausForTauAnalyses.isoDeposits.pfNeutralHadron = cms.InputTag("patLayer0PFTauIsolationForTauAnalyses", "tauIsoDepositPFNeutralHadronsForTauAnalyses")
265 allLayer1PFTausForTauAnalyses.isoDeposits.pfGamma = cms.InputTag("patLayer0PFTauIsolationForTauAnalyses", "tauIsoDepositPFGammasForTauAnalyses")
266 allLayer1PFTausForTauAnalyses.isolation.pfAllParticles.src = allLayer1PFTausForTauAnalyses.isoDeposits.pfAllParticles
267 allLayer1PFTausForTauAnalyses.isolation.pfChargedHadron.src = allLayer1PFTausForTauAnalyses.isoDeposits.pfChargedHadron
268 allLayer1PFTausForTauAnalyses.isolation.pfNeutralHadron.src = allLayer1PFTausForTauAnalyses.isoDeposits.pfNeutralHadron
269 allLayer1PFTausForTauAnalyses.isolation.pfGamma.src = allLayer1PFTausForTauAnalyses.isoDeposits.pfGamma
270
271 #allLayer1PFTausForTauAnalyses.isolation = cms.PSet()
272 #allLayer1PFTausForTauAnalyses.isoDeposits = cms.PSet()
273
274 allLayer1PFTausForTauAnalyses.addTauID = cms.bool(True)
275 allLayer1PFTausForTauAnalyses.tauIDSources = cms.PSet(
276    leadingTrackFinding = cms.InputTag("patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses"),
277    leadingTrackPtCut = cms.InputTag("patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses"),
278    trackIsolation = cms.InputTag("patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses"),
279    ecalIsolation = cms.InputTag("patPFRecoTauDiscriminationByECALIsolationForTauAnalyses"),
280    byIsolation = cms.InputTag("patPFRecoTauDiscriminationByIsolationForTauAnalyses"),
281    againstElectron = cms.InputTag("patPFRecoTauDiscriminationAgainstElectronForTauAnalyses"),
282    againstMuon = cms.InputTag("patPFRecoTauDiscriminationAgainstMuonForTauAnalyses")    
283    )
284
285 allLayer1PFTausForTauAnalyses.addTrigMatch = cms.bool(False)
286 #trigPrimMatch = cms.VInputTag(cms.InputTag("tauTrigMatchHLT1Tau"))
287
288 allLayer1PFTausForTauAnalyses.addGenMatch = cms.bool(True)
289 allLayer1PFTausForTauAnalyses.embedGenMatch = cms.bool(True)
290 allLayer1PFTausForTauAnalyses.genParticleMatch = cms.InputTag("pfTauMatchForTauAnalyses")
291
292 allLayer1PFTausForTauAnalyses.addGenJetMatch = cms.bool(True)
293 allLayer1PFTausForTauAnalyses.embedGenJetMatch = cms.bool(True)
294    
295 allLayer1PFTausForTauAnalyses.genJetMatch = cms.InputTag("pfTauGenJetMatchForTauAnalyses")
296
297
298 ######################################################################################
299 ####    Final PAT sequences
300 ######################################################################################
301
302 patBeforeLayer0AODPFTauDiscrimination = cms.Sequence( pfRecoTauProducerForTauAnalyses
303                                                      *pfRecoTauPreDiscriminationForTauAnalyses
304                                                      *patAODPFCandidateIsoDepositSelection
305                                                      *patPFTauIsolationForTauAnalyses
306                                                      *patAODPFTauIsolationForTauAnalyses
307                                                      )
308
309 patLayer0PFTausForTauAnalyses = cms.Sequence( patBeforeLayer0AODPFTauDiscrimination
310                                              *allLayer0PFTausForTauAnalyses
311                                              *patPFTauDiscriminationForTauAnalyses
312                                              *patLayer0PFTauIsolationForTauAnalyses
313                                              *(pfTauMatchForTauAnalyses + pfTauGenJetMatchForTauAnalyses)
314                                              )
315 patLayer1PFTausForTauAnalyses = cms.Sequence( allLayer1PFTausForTauAnalyses )

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines