ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/python/pfTauConfig_cff.py
Revision: 1.1
Committed: Wed Apr 15 12:03:00 2009 UTC (16 years ago) by amagnan
Content type: text/x-python
Branch: MAIN
Log Message:
add python configuration files

File Contents

# Content
1 ########################################
2 #### Created 08-Apr-09
3 #### by A.-M. Magnan
4 #### a.magnan@imperial.ac.uk
5 ########################################
6
7 import FWCore.ParameterSet.Config as cms
8 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.PFCand_minPt = cms.double(0.5)
21 pfRecoTauProducerForTauAnalyses.LeadPFCand_minPt = cms.double(5.0)
22 pfRecoTauProducerForTauAnalyses.LeadChargedHadrCand_minPt = cms.double(5.0)
23 pfRecoTauProducerForTauAnalyses.ChargedHadrCand_minPt = 1.0
24 pfRecoTauProducerForTauAnalyses.ChargedHadrCand_IsolAnnulus_minNhits = 8
25 pfRecoTauProducerForTauAnalyses.ChargedHadrCandLeadChargedHadrCand_tksmaxDZ = cms.double(0.2)
26 pfRecoTauProducerForTauAnalyses.UseChargedHadrCandLeadChargedHadrCand_tksDZconstraint = cms.bool(True)
27 pfRecoTauProducerForTauAnalyses.GammaCand_minPt = 1.5
28 pfRecoTauProducerForTauAnalyses.NeutrHadrCand_minPt = cms.double(1.0)
29 pfRecoTauProducerForTauAnalyses.TrackLeadTrack_maxDZ = cms.double(0.2)
30 pfRecoTauProducerForTauAnalyses.UseTrackLeadTrackDZconstraint = cms.bool(True)
31 pfRecoTauProducerForTauAnalyses.smearedPVsigmaY = cms.double(0.0015)
32 pfRecoTauProducerForTauAnalyses.smearedPVsigmaX = cms.double(0.0015)
33 pfRecoTauProducerForTauAnalyses.smearedPVsigmaZ = cms.double(0.005)
34 ### Match ###
35 pfRecoTauProducerForTauAnalyses.MatchingConeMetric = "DR"
36 pfRecoTauProducerForTauAnalyses.MatchingConeSizeFormula = "0.1"
37 pfRecoTauProducerForTauAnalyses.MatchingConeSize_max = 0.1
38 pfRecoTauProducerForTauAnalyses.MatchingConeSize_min = 0.0
39 ### Trk Sig ###
40 pfRecoTauProducerForTauAnalyses.TrackerSignalConeMetric = "DR"
41 pfRecoTauProducerForTauAnalyses.TrackerSignalConeSizeFormula = "5.0/ET"
42 pfRecoTauProducerForTauAnalyses.TrackerSignalConeSize_min = 0.07
43 pfRecoTauProducerForTauAnalyses.TrackerSignalConeSize_max = 0.15
44 ### Trk Iso ###
45 pfRecoTauProducerForTauAnalyses.TrackerIsolConeMetric = "DR"
46 pfRecoTauProducerForTauAnalyses.TrackerIsolConeSizeFormula = "0.5"
47 pfRecoTauProducerForTauAnalyses.TrackerIsolConeSize_max = "1.0"
48 pfRecoTauProducerForTauAnalyses.TrackerIsolConeSize_min = "0.0"
49 pfRecoTauProducerForTauAnalyses.Track_minPt = cms.double(1.0)
50 pfRecoTauProducerForTauAnalyses.Track_IsolAnnulus_minNhits = 8
51 ### Ecal Sig ###
52 pfRecoTauProducerForTauAnalyses.ECALSignalConeMetric = "DR"
53 pfRecoTauProducerForTauAnalyses.ECALSignalConeSizeFormula = "0.15"
54 pfRecoTauProducerForTauAnalyses.ECALSignalConeSize_max = "0.15"
55 pfRecoTauProducerForTauAnalyses.ECALSignalConeSize_min = "0.0"
56 ### Ecal Iso ###
57 pfRecoTauProducerForTauAnalyses.ECALIsolConeMetric = "DR"
58 pfRecoTauProducerForTauAnalyses.ECALIsolConeSizeFormula = "0.50"
59 pfRecoTauProducerForTauAnalyses.ECALIsolConeSize_max = "1.0"
60 pfRecoTauProducerForTauAnalyses.ECALIsolConeSize_min = "0.0"
61 ### FixedArea ###
62 pfRecoTauProducerForTauAnalyses.AreaMetric_recoElements_maxabsEta = cms.double(2.5)
63 ### Electron rejection ###
64 pfRecoTauProducerForTauAnalyses.ElectronPreIDProducer = cms.InputTag("elecpreid")
65 pfRecoTauProducerForTauAnalyses.EcalStripSumE_deltaPhiOverQ_minValue = cms.double(-0.1)
66 pfRecoTauProducerForTauAnalyses.EcalStripSumE_deltaPhiOverQ_maxValue = cms.double(0.5)
67 pfRecoTauProducerForTauAnalyses.EcalStripSumE_minClusEnergy = cms.double(0.1)
68 pfRecoTauProducerForTauAnalyses.EcalStripSumE_deltaEta = cms.double(0.03)
69 pfRecoTauProducerForTauAnalyses.ElecPreIDLeadTkMatch_maxDR = cms.double(0.01)
70
71 pfRecoTauProducerForTauAnalyses.DataType = cms.string("AOD")
72
73 pfRecoTauPreDiscriminationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByIsolation)
74 pfRecoTauPreDiscriminationForTauAnalyses.PFTauProducer = 'pfRecoTauProducerForTauAnalyses'
75
76 ######################################################################################
77 #### PAT layer 0
78 ######################################################################################
79
80 from PhysicsTools.PatAlgos.cleaningLayer0.pfTauCleaner_cfi import *
81
82 allLayer0PFTausForTauAnalyses = copy.deepcopy(allLayer0Taus)
83 allLayer0PFTausForTauAnalyses.tauSource = cms.InputTag("pfRecoTauProducerForTauAnalyses") #pfRecoTauProducerHighEfficiency
84 allLayer0PFTausForTauAnalyses.tauDiscriminatorSource = cms.InputTag("pfRecoTauPreDiscriminationForTauAnalyses") #...HighEfficiency
85
86 allLayer0PFTausForTauAnalyses.removeOverlaps = cms.PSet(
87 ## Flag or discard taus that match with clean electrons
88 #electrons = cms.PSet(
89 # collection = cms.InputTag("allLayer0Electrons")
90 # deltaR = cms.double(0.3)
91 #)
92 )
93
94
95 ######################################################################################
96 #### tau discriminators
97 ######################################################################################
98
99 #from PhysicsTools.PatAlgos.recoLayer0.tauDiscriminators_cff import *
100
101 #copy the PFTauDiscriminator producer;
102 #instead of the AOD reco::PFTau collection, set the reco::PFTaus collection produced by PAT layer 0 cleaning
103 #as reference for PFTauDiscriminator objects
104 patPFRecoTauDiscriminationByIsolationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByIsolation)
105 patPFRecoTauDiscriminationByIsolationForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
106
107 patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByLeadingTrackFinding)
108 patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
109
110 patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByLeadingTrackPtCut)
111 patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
112
113 patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByTrackIsolation)
114 patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
115
116 patPFRecoTauDiscriminationByECALIsolationForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationByECALIsolation)
117 patPFRecoTauDiscriminationByECALIsolationForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
118
119 patPFRecoTauDiscriminationAgainstElectronForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationAgainstElectron)
120 patPFRecoTauDiscriminationAgainstElectronForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
121
122 patPFRecoTauDiscriminationAgainstMuonForTauAnalyses = copy.deepcopy(pfRecoTauDiscriminationAgainstMuon)
123 patPFRecoTauDiscriminationAgainstMuonForTauAnalyses.PFTauProducer = cms.InputTag('allLayer0PFTausForTauAnalyses')
124
125 patPFTauDiscriminationForTauAnalyses = cms.Sequence(
126 patPFRecoTauDiscriminationByIsolationForTauAnalyses
127 +patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses
128 +patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses
129 +patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses
130 +patPFRecoTauDiscriminationByECALIsolationForTauAnalyses
131 +patPFRecoTauDiscriminationAgainstElectronForTauAnalyses
132 +patPFRecoTauDiscriminationAgainstMuonForTauAnalyses
133 )
134
135
136 ######################################################################################
137 #### tau isolation
138 ######################################################################################
139
140
141
142 ######################################################################################
143 #### trigger matching
144 ######################################################################################
145
146
147
148 ######################################################################################
149 #### MC matching
150 ######################################################################################
151
152 from PhysicsTools.PatAlgos.mcMatchLayer0.tauMatch_cfi import *
153
154 pfTauMatchForTauAnalyses = copy.deepcopy(tauMatch)
155 pfTauMatchForTauAnalyses.src = cms.InputTag("allLayer0PFTausForTauAnalyses")
156 pfTauMatchForTauAnalyses.matched = cms.InputTag("genParticles")
157 pfTauMatchForTauAnalyses.mcPdgId = cms.vint32(15)
158 pfTauMatchForTauAnalyses.checkCharge = cms.bool(True)
159 pfTauMatchForTauAnalyses.mcStatus = cms.vint32(2) # PYTHIA status code (1 = stable, 2 = shower, 3 = hard scattering)
160 # NOTE that Taus can only be status 3 or 2, never 1!
161 pfTauMatchForTauAnalyses.maxDeltaR = cms.double(0.3)
162 pfTauMatchForTauAnalyses.maxDPtRel = cms.double(3.0)
163 pfTauMatchForTauAnalyses.resolveAmbiguities = cms.bool(True)
164 pfTauMatchForTauAnalyses.resolveByMatchQuality = cms.bool(False)
165
166 pfTauGenJetMatchForTauAnalyses = copy.deepcopy(tauGenJetMatch)
167 pfTauGenJetMatchForTauAnalyses.src = cms.InputTag("allLayer0PFTausForTauAnalyses")
168 pfTauGenJetMatchForTauAnalyses.matched = cms.InputTag("tauGenJets")
169 pfTauGenJetMatchForTauAnalyses.maxDeltaR = cms.double(0.1)
170 pfTauGenJetMatchForTauAnalyses.maxDPtRel = cms.double(3.0)
171 pfTauGenJetMatchForTauAnalyses.resolveAmbiguities = cms.bool(True)
172 pfTauGenJetMatchForTauAnalyses.resolveByMatchQuality = cms.bool(False)
173
174
175 ######################################################################################
176 #### PAT layer 1
177 ######################################################################################
178
179 from PhysicsTools.PatAlgos.producersLayer1.tauProducer_cfi import *
180
181
182 allLayer1PFTausForTauAnalyses = copy.deepcopy(allLayer1Taus)
183 allLayer1PFTausForTauAnalyses.tauSource = cms.InputTag("allLayer0PFTausForTauAnalyses")
184
185 allLayer1PFTausForTauAnalyses.embedLeadTrack = cms.bool(True)
186 allLayer1PFTausForTauAnalyses.embedSignalTracks = cms.bool(True)
187 allLayer1PFTausForTauAnalyses.embedIsolationTracks = cms.bool(True)
188
189 allLayer1PFTausForTauAnalyses.isolation = cms.PSet()
190 allLayer1PFTausForTauAnalyses.isoDeposits = cms.PSet()
191
192 allLayer1PFTausForTauAnalyses.addTauID = cms.bool(True)
193 allLayer1PFTausForTauAnalyses.tauIDSources = cms.PSet(
194 leadingTrackFinding = cms.InputTag("patPFRecoTauDiscriminationByLeadingTrackFindingForTauAnalyses"),
195 leadingTrackPtCut = cms.InputTag("patPFRecoTauDiscriminationByLeadingTrackPtCutForTauAnalyses"),
196 trackIsolation = cms.InputTag("patPFRecoTauDiscriminationByTrackIsolationForTauAnalyses"),
197 ecalIsolation = cms.InputTag("patPFRecoTauDiscriminationByECALIsolationForTauAnalyses"),
198 byIsolation = cms.InputTag("patPFRecoTauDiscriminationByIsolationForTauAnalyses"),
199 againstElectron = cms.InputTag("patPFRecoTauDiscriminationAgainstElectronForTauAnalyses"),
200 againstMuon = cms.InputTag("patPFRecoTauDiscriminationAgainstMuonForTauAnalyses")
201 )
202
203 allLayer1PFTausForTauAnalyses.addTrigMatch = cms.bool(False)
204 #trigPrimMatch = cms.VInputTag(cms.InputTag("tauTrigMatchHLT1Tau"))
205
206 allLayer1PFTausForTauAnalyses.addGenMatch = cms.bool(True)
207 allLayer1PFTausForTauAnalyses.embedGenMatch = cms.bool(True)
208 allLayer1PFTausForTauAnalyses.genParticleMatch = cms.InputTag("pfTauMatchForTauAnalyses")
209
210 allLayer1PFTausForTauAnalyses.addGenJetMatch = cms.bool(True)
211 allLayer1PFTausForTauAnalyses.embedGenJetMatch = cms.bool(True)
212
213 allLayer1PFTausForTauAnalyses.genJetMatch = cms.InputTag("pfTauGenJetMatchForTauAnalyses")
214
215
216 ######################################################################################
217 #### Final PAT sequences
218 ######################################################################################
219
220 patBeforeLayer0AODPFTauDiscrimination = cms.Sequence( pfRecoTauProducerForTauAnalyses
221 *pfRecoTauPreDiscriminationForTauAnalyses )
222
223 patLayer0PFTausForTauAnalyses = cms.Sequence( patBeforeLayer0AODPFTauDiscrimination
224 *allLayer0PFTausForTauAnalyses
225 *patPFTauDiscriminationForTauAnalyses
226 *(pfTauMatchForTauAnalyses + pfTauGenJetMatchForTauAnalyses)
227 )
228 patLayer1PFTausForTauAnalyses = cms.Sequence( allLayer1PFTausForTauAnalyses )