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

Comparing UserCode/HbbAnalysis/python/jetConfig_cff.py (file contents):
Revision 1.2 by amagnan, Fri Apr 17 14:26:35 2009 UTC vs.
Revision 1.3 by amagnan, Tue Feb 9 14:52:24 2010 UTC

# Line 8 | Line 8
8   import FWCore.ParameterSet.Config as cms
9   import copy
10  
11 ######################################################################################
12 ####    PAT layer 0 cleaning
13 ######################################################################################
14
15 from PhysicsTools.PatAlgos.cleaningLayer0.caloJetCleaner_cfi import *
16
17 allLayer0JetsForTauAnalyses = copy.deepcopy(allLayer0Jets)
18 allLayer0JetsForTauAnalyses.jetSource = cms.InputTag("iterativeCone5CaloJets")
19 allLayer0JetsForTauAnalyses.removeOverlaps.electrons = cms.PSet() # disable default to remove overlap with electrons
20 #allLayer0JetsForTauAnalyses.removeOverlaps.electrons.collection = cms.InputTag("allLayer0ElectronsForTauAnalyses")
21 #allLayer0JetsForTauAnalyses.removeOverlaps.electrons.deltaR = cms.double(0.3) ##
22 #allLayer0JetsForTauAnalyses.removeOverlaps.electrons.cut = cms.string('pt > 10 & (trackIso()+ecalIso())/pt < 0.18')
23 #allLayer0JetsForTauAnalyses.removeOverlaps.electrons.flags = cms.vstring('Isolation/Tracker')
24
25 allLayer0JetsForTauAnalyses.removeOverlaps.taus = cms.PSet() # disable default to remove overlap with electrons
26 #allLayer0JetsForTauAnalyses.removeOverlaps.taus.collection = cms.InputTag("allLayer0PFTausForTauAnalyses")
27 #allLayer0JetsForTauAnalyses.removeOverlaps.taus.deltaR = cms.double(0.3) ##
28 #allLayer0JetsForTauAnalyses.removeOverlaps.taus.cut = cms.string('')
29 #allLayer0JetsForTauAnalyses.removeOverlaps.taus.flags = cms.vstring('Isolation/Tracker')
30
11  
12   ######################################################################################
13   ####    Flavour ID
14   ######################################################################################
15 < from PhysicsTools.PatAlgos.recoLayer0.jetFlavourId_cff import *
36 <
37 <
38 < jetPartonAssociationForTauAnalyses = copy.deepcopy(jetPartonAssociation)
39 < jetPartonAssociationForTauAnalyses.jets    = cms.InputTag("allLayer0JetsForTauAnalyses")
40 < jetPartonAssociationForTauAnalyses.partons = cms.InputTag("jetPartons")
41 < jetPartonAssociationForTauAnalyses.coneSizeToAssociate = cms.double(0.3)
42 <
43 < jetFlavourAssociationForTauAnalyses = copy.deepcopy(jetFlavourAssociation)
44 < jetFlavourAssociationForTauAnalyses.srcByReference    = cms.InputTag("jetPartonAssociationForTauAnalyses")
45 < jetFlavourAssociationForTauAnalyses.physicsDefinition = cms.bool(False)
46 < jetFlavourAssociationForTauAnalyses.definition = cms.int32(4)
47 <
48 < #PAT sequence for jet flavour identification
49 < patJetFlavourIdForTauAnalyses = cms.Sequence(jetPartons
50 <                                             *jetPartonAssociationForTauAnalyses
51 <                                             *jetFlavourAssociationForTauAnalyses
52 <                                             )
15 > from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import *
16  
17 + # default PAT sequence for jet flavour identification
18 + patCaloJetFlavourId = cms.Sequence(jetPartons * jetPartonAssociation * jetFlavourAssociation)
19  
20   ######################################################################################
21 < ####    b-tagging
21 > ####    MC matching : genjet and parton
22   ######################################################################################
23 < from PhysicsTools.PatAlgos.recoLayer0.bTagging_cff import *
59 <
60 <
61 < # Labels of Discriminators to use
62 < #patBTaggingDiscriminatorLabelsForTauAnalyses = cms.VInputTag(
63 < #    cms.InputTag("combinedSecondaryVertexBJetTags","RECO"),
64 < #    cms.InputTag("combinedSecondaryVertexMVABJetTags","RECO"),
65 < #    cms.InputTag("coneIsolationTauJetTags","RECO"),
66 < #    cms.InputTag("impactParameterMVABJetTags","RECO"),
67 < #    cms.InputTag("jetBProbabilityBJetTags","RECO"),
68 < #    cms.InputTag("jetProbabilityBJetTags","RECO"),
69 < #    cms.InputTag("simpleSecondaryVertexBJetTags","RECO"),
70 < #    cms.InputTag("softElectronBJetTags","RECO"),
71 < #    cms.InputTag("softMuonBJetTags","RECO"),
72 < #    cms.InputTag("softMuonNoIPBJetTags","RECO"),
73 < #    cms.InputTag("trackCountingHighEffBJetTags","RECO"),
74 < #    cms.InputTag("trackCountingHighPurBJetTags","RECO"),
75 < #)
76 < # Labels of TagInfos  to use
77 < #patBTaggingTagInfoLabelsForTauAnalyses = cms.VInputTag(
78 < #    cms.InputTag("secondaryVertexTagInfos","RECO"),
79 < #    cms.InputTag("softElectronTagInfos","RECO"),
80 < #    cms.InputTag("softMuonTagInfos","RECO"),
81 < #    cms.InputTag("impactParameterTagInfos","RECO"),
82 < #)
83 <
84 <
85 < # Need to convert all JetTags to ValueMap<double>
86 < patAODBTagsForTauAnalyses = copy.deepcopy(patAODBTags)
87 < patAODBTagsForTauAnalyses.collection   = cms.InputTag("iterativeCone5CaloJets")
88 < patAODBTagsForTauAnalyses.associations = patBTaggingDiscriminatorLabels #ForTauAnalyses
89 < patAODBTagsForTauAnalyses.failSilently = cms.untracked.bool(True)
90 <
91 <
92 < # Need to convert all JetTagInfoss to ValueMap<Ptr<BaseTagInfo>>
93 < patAODTagInfosForTauAnalyses = copy.deepcopy(patAODTagInfos)
94 < patAODTagInfosForTauAnalyses.collection   = cms.InputTag("iterativeCone5CaloJets")
95 < patAODTagInfosForTauAnalyses.associations = patBTaggingTagInfoLabels #ForTauAnalyses
96 < patAODTagInfosForTauAnalyses.failSilently = cms.untracked.bool(True)
97 <
98 < layer0BTagsForTauAnalyses = copy.deepcopy(layer0BTags)
99 < layer0BTagsForTauAnalyses.collection = cms.InputTag("allLayer0JetsForTauAnalyses")
100 < layer0BTagsForTauAnalyses.backrefs   = cms.InputTag("allLayer0JetsForTauAnalyses")
101 < layer0BTagsForTauAnalyses.commonLabel  = cms.InputTag("patAODBTagsForTauAnalyses")
102 < layer0BTagsForTauAnalyses.associations = patBTaggingDiscriminatorLabels #ForTauAnalyses
103 < layer0BTagsForTauAnalyses.failSilently = cms.untracked.bool(True)
104 <
105 < layer0TagInfosForTauAnalyses = copy.deepcopy(layer0TagInfos)
106 < layer0TagInfosForTauAnalyses.collection = cms.InputTag("allLayer0JetsForTauAnalyses")
107 < layer0TagInfosForTauAnalyses.backrefs   = cms.InputTag("allLayer0JetsForTauAnalyses")
108 < layer0TagInfosForTauAnalyses.commonLabel  = cms.InputTag("patAODTagInfosForTauAnalyses")
109 < layer0TagInfosForTauAnalyses.associations = patBTaggingTagInfoLabels #ForTauAnalyses
110 < layer0TagInfosForTauAnalyses.failSilently = cms.untracked.bool(True)
111 <
112 < patAODBTaggingForTauAnalyses    = cms.Sequence(patAODBTagsForTauAnalyses
113 <                                               *patAODTagInfosForTauAnalyses
114 <                                               )
115 < patLayer0BTaggingForTauAnalyses = cms.Sequence(layer0BTagsForTauAnalyses
116 <                                               *layer0TagInfosForTauAnalyses
117 <                                               )
23 > from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import *
24  
25 + patCaloJetMatch = cms.Sequence(jetPartonMatch
26 +                               *jetGenJetMatch
27 +                               )
28  
29   ######################################################################################
30   ####    jet-tracks charge
31   ######################################################################################
32   from PhysicsTools.PatAlgos.recoLayer0.jetTracksCharge_cff import *
33  
125 patAODJetTracksAssociatorForTauAnalyses = copy.deepcopy(patAODJetTracksAssociator)
126 patAODJetTracksAssociatorForTauAnalyses.src    = cms.InputTag("iterativeCone5CaloJets") ## the AOD jets given as input to the PAT jet cleaner
127 patAODJetTracksAssociatorForTauAnalyses.tracks = cms.InputTag("ic5JetTracksAssociatorAtVertex") ## any JetTracksAssociation
128 patAODJetTracksAssociatorForTauAnalyses.cut = cms.string('') # e.g. normalizedChi2 < 5
129
130 ## Re-key from AOD jets to PAT Layer 0 jets
131 layer0JetTracksAssociatorForTauAnalyses = copy.deepcopy(layer0JetTracksAssociator)
132 layer0JetTracksAssociatorForTauAnalyses.collection  = cms.InputTag("allLayer0JetsForTauAnalyses")
133 layer0JetTracksAssociatorForTauAnalyses.backrefs    = cms.InputTag("allLayer0JetsForTauAnalyses")
134 layer0JetTracksAssociatorForTauAnalyses.association = cms.InputTag("patAODJetTracksAssociatorForTauAnalyses")
135
34   ## Compute JET Charge
35 < layer0JetChargeForTauAnalyses = copy.deepcopy(layer0JetCharge)
36 < layer0JetChargeForTauAnalyses.src = cms.InputTag("allLayer0JetsForTauAnalyses")            ## The Jets
139 < layer0JetChargeForTauAnalyses.jetTracksAssociation = cms.InputTag("layer0JetTracksAssociatorForTauAnalyses")
140 < # -- JetCharge parameters --
141 < layer0JetChargeForTauAnalyses.var = cms.string('Pt')
142 < layer0JetChargeForTauAnalyses.exp = cms.double(1.0)
143 <
144 < patLayer0JetTracksChargeForTauAnalyses = cms.Sequence(patAODJetTracksAssociatorForTauAnalyses
145 <                                                      *layer0JetTracksAssociatorForTauAnalyses
146 <                                                      *layer0JetChargeForTauAnalyses
147 <                                                      )
148 <
149 <
150 < ######################################################################################
151 < ####    jetMET corrections
152 < ######################################################################################
153 < from PhysicsTools.PatAlgos.recoLayer0.jetMETCorrections_cff import *
154 < from JetMETCorrections.Configuration.L2L3Corrections_Summer08Redigi_cff import *
155 <
156 < #just to be sure it takes redigi values....
157 < L2JetCorrectorIC5Calo.tagName = cms.string('Summer08Redigi_L2Relative_IC5Calo')
158 < L3JetCorrectorIC5Calo.tagName = cms.string('Summer08Redigi_L3Absolute_IC5Calo')
159 <
160 < # change corrector to L2+L3
161 < corMetType1Icone5ForTauAnalyses = copy.deepcopy(corMetType1Icone5)
162 < corMetType1Icone5ForTauAnalyses.corrector = cms.string('L2L3JetCorrectorIC5Calo')
163 <
164 <
165 < corMetType1Icone5MuonsForTauAnalyses = copy.deepcopy(corMetType1Icone5Muons)
166 < corMetType1Icone5MuonsForTauAnalyses.uncorMETInputTag = cms.InputTag('corMetType1Icone5ForTauAnalyses')
167 < corMetType1Icone5MuonsForTauAnalyses.muonsInputTag    = cms.InputTag('goodMuonsforMETCorrection')
168 <
169 < # It would be better to get this config to JetMETCorrections/Type1MET/data/ at some point
170 < corMetType1Icone5MuonsForTauAnalyses.TrackAssociatorParameters.useEcal = False ## RecoHits
171 < corMetType1Icone5MuonsForTauAnalyses.TrackAssociatorParameters.useHcal = False ## RecoHits
172 < corMetType1Icone5MuonsForTauAnalyses.TrackAssociatorParameters.useHO = False ## RecoHits
173 < corMetType1Icone5MuonsForTauAnalyses.TrackAssociatorParameters.useCalo = True ## CaloTowers
174 < corMetType1Icone5MuonsForTauAnalyses.TrackAssociatorParameters.useMuon = False ## RecoHits
175 < corMetType1Icone5MuonsForTauAnalyses.TrackAssociatorParameters.truthMatch = False
176 <
177 < #define jetCorrFactors to associate
178 < jetCorrFactorsForTauAnalyses = copy.deepcopy(jetCorrFactors)
179 < jetCorrFactorsForTauAnalyses.useEMF    = cms.bool(False)                         ## the use of emf in the JEC
180 < ## choose sample type for flavor dependend corrections:
181 < jetCorrFactorsForTauAnalyses.sampleType= cms.int32(0)  ##  0: from dijet sample, 1: from ttbar sample
182 < jetCorrFactorsForTauAnalyses.jetSource = cms.InputTag("iterativeCone5CaloJets")  ## input collection of jets
183 < ## tags for the jet correctors; when not available the string should be set to 'none'
184 < jetCorrFactorsForTauAnalyses.L1Offset  = cms.string('none')
185 < jetCorrFactorsForTauAnalyses.L2Relative= cms.string('Summer08Redigi_L2Relative_IC5Calo')
186 < jetCorrFactorsForTauAnalyses.L3Absolute= cms.string('Summer08Redigi_L3Absolute_IC5Calo')
187 < jetCorrFactorsForTauAnalyses.L4EMF     = cms.string('none')
188 < jetCorrFactorsForTauAnalyses.L5Flavor  = cms.string('none') #L5Flavor_IC5
189 < jetCorrFactorsForTauAnalyses.L6UE      = cms.string('none')                          
190 < jetCorrFactorsForTauAnalyses.L7Parton  = cms.string('none') #L7Parton_IC5
191 <
192 < # re-key jet energy corrections to layer 0 output
193 < layer0JetCorrFactorsForTauAnalyses = copy.deepcopy(layer0JetCorrFactors)
194 < layer0JetCorrFactorsForTauAnalyses.collection  = cms.InputTag("allLayer0JetsForTauAnalyses")
195 < layer0JetCorrFactorsForTauAnalyses.backrefs    = cms.InputTag("allLayer0JetsForTauAnalyses")
196 < layer0JetCorrFactorsForTauAnalyses.association = cms.InputTag("jetCorrFactorsForTauAnalyses")
197 <
198 <
199 < # default PAT sequence for JetMET corrections before cleaners
200 < patAODJetMETCorrectionsForTauAnalyses = cms.Sequence(jetCorrFactorsForTauAnalyses
201 <                                                     +goodMuonsforMETCorrection
202 <                                                     *corMetType1Icone5ForTauAnalyses
203 <                                                     *corMetType1Icone5MuonsForTauAnalyses
204 <                                                     )
205 <
206 < # default PAT sequence for JetMET corrections after cleaners
207 < patLayer0JetMETCorrectionsForTauAnalyses = cms.Sequence(layer0JetCorrFactorsForTauAnalyses)
208 <
209 <
210 <
211 < ######################################################################################
212 < ####    trigger matching
213 < ######################################################################################
214 <
215 <
216 < ######################################################################################
217 < ####    MC matching : genjet and parton
218 < ######################################################################################
219 < from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import *
220 <
221 < jetPartonMatchForTauAnalyses = copy.deepcopy(jetPartonMatch)
222 < jetPartonMatchForTauAnalyses.src = cms.InputTag("allLayer0JetsForTauAnalyses")    # RECO objects to match
223 < jetPartonMatchForTauAnalyses.matched = cms.InputTag("genParticles") # mc-truth particle collection
224 < jetPartonMatchForTauAnalyses.mcPdgId  = cms.vint32(1, 2, 3, 4, 5, 21) # one or more PDG ID (quarks except top; gluons)
225 < jetPartonMatchForTauAnalyses.mcStatus = cms.vint32(3)                 # PYTHIA status code (3 = hard scattering)
226 < jetPartonMatchForTauAnalyses.checkCharge = cms.bool(False)            # False = any value of the charge of MC and RECO is ok
227 < jetPartonMatchForTauAnalyses.maxDeltaR = cms.double(0.4) # Minimum deltaR for the match
228 < jetPartonMatchForTauAnalyses.maxDPtRel = cms.double(3.0) # Minimum deltaPt/Pt for the match
229 < jetPartonMatchForTauAnalyses.resolveAmbiguities = cms.bool(True)     # Forbid two RECO objects to match to the same GEN object
230 < jetPartonMatchForTauAnalyses.resolveByMatchQuality = cms.bool(False) # False = just match input in order; True = pick lowest deltaR pair first
231 <
232 < jetGenJetMatchForTauAnalyses = copy.deepcopy(jetGenJetMatch)
233 < jetGenJetMatchForTauAnalyses.src      = cms.InputTag("allLayer0JetsForTauAnalyses")         ## RECO jets (any View<Jet> is ok)
234 < jetGenJetMatchForTauAnalyses.matched  = cms.InputTag("iterativeCone5GenJetsNoNuBSM") ## GEN jets  (must be GenJetCollection)
235 < jetGenJetMatchForTauAnalyses.maxDeltaR = cms.double(0.4) # Minimum deltaR for the match
236 < jetGenJetMatchForTauAnalyses.maxDPtRel = cms.double(3.0) # Minimum deltaPt/Pt for the match
237 < jetGenJetMatchForTauAnalyses.resolveAmbiguities = cms.bool(True)     # Forbid two RECO objects to match to the same GEN object
238 < jetGenJetMatchForTauAnalyses.resolveByMatchQuality = cms.bool(False) # False = just match input in order; True = pick lowest deltaR pair first
239 <
240 <
241 < ######################################################################################
242 < ####    PAT layer 1
243 < ######################################################################################
244 <
245 < from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cff import *
246 <
247 < allLayer1JetsForTauAnalyses = copy.deepcopy(allLayer1Jets)
248 <
249 < allLayer1JetsForTauAnalyses.jetSource = cms.InputTag("allLayer0JetsForTauAnalyses")
250 <
251 < allLayer1JetsForTauAnalyses.embedCaloTowers = cms.bool(True)
252 <
253 < allLayer1JetsForTauAnalyses.addJetCorrFactors    = cms.bool(True)
254 < allLayer1JetsForTauAnalyses.jetCorrFactorsSource = cms.InputTag("layer0JetCorrFactorsForTauAnalyses")
255 <
256 < allLayer1JetsForTauAnalyses.addBTagInfo = cms.bool(True)
257 < allLayer1JetsForTauAnalyses.addDiscriminators   = cms.bool(True)
258 < allLayer1JetsForTauAnalyses.discriminatorModule = cms.InputTag("layer0BTagsForTauAnalyses")
259 < allLayer1JetsForTauAnalyses.discriminatorNames  = cms.vstring('*')
260 < allLayer1JetsForTauAnalyses.addTagInfoRefs = cms.bool(True)
261 < allLayer1JetsForTauAnalyses.tagInfoModule  = cms.InputTag("layer0TagInfosForTauAnalyses")
262 < allLayer1JetsForTauAnalyses.tagInfoNames   = cms.vstring('secondaryVertexTagInfos','softElectronTagInfos','softMuonTagInfos','impactParameterTagInfos')
263 <
264 < allLayer1JetsForTauAnalyses.addAssociatedTracks    = cms.bool(True)
265 < allLayer1JetsForTauAnalyses.trackAssociationSource = cms.InputTag("layer0JetTracksAssociatorForTauAnalyses")
266 <
267 < allLayer1JetsForTauAnalyses.addJetCharge    = cms.bool(True)
268 < allLayer1JetsForTauAnalyses.jetChargeSource = cms.InputTag("layer0JetChargeForTauAnalyses")
269 <
270 < allLayer1JetsForTauAnalyses.addTrigMatch = cms.bool(False)
271 < #allLayer1JetsForTauAnalyses.trigPrimMatch = cms.VInputTag(cms.InputTag("jetTrigMatchHLT1ElectronRelaxed"), cms.InputTag("jetTrigMatchHLT2jet"))
272 <
273 < allLayer1JetsForTauAnalyses.addGenPartonMatch = cms.bool(True)
274 < allLayer1JetsForTauAnalyses.embedGenPartonMatch = cms.bool(True)
275 < allLayer1JetsForTauAnalyses.genPartonMatch    = cms.InputTag("jetPartonMatchForTauAnalyses")
276 < allLayer1JetsForTauAnalyses.addGenJetMatch    = cms.bool(True)
277 < allLayer1JetsForTauAnalyses.genJetMatch       = cms.InputTag("jetGenJetMatchForTauAnalyses")
278 < allLayer1JetsForTauAnalyses.addPartonJetMatch = cms.bool(False)
279 < allLayer1JetsForTauAnalyses.partonJetSource   = cms.InputTag("NOT_IMPLEMENTED")
35 > caloJetCharge = copy.deepcopy(patJetCharge)
36 > caloJetCharge.src = cms.InputTag("ak5JetTracksAssociatorAtVertex")
37  
38 < allLayer1JetsForTauAnalyses.getJetMCFlavour    = cms.bool(True)
39 < allLayer1JetsForTauAnalyses.JetPartonMapSource = cms.InputTag("jetFlavourAssociationForTauAnalyses")
38 > patCaloJetTracksCharge = cms.Sequence(caloJetCharge
39 >                                      )
40  
41  
42  
43   ######################################################################################
44 < ####    Final PAT sequences
44 > ####    PAT sequence
45   ######################################################################################
46  
47 < patBeforeLayer0JetsForTauAnalyses = cms.Sequence( patAODBTaggingForTauAnalyses
48 <                                                  #*patAODJetMETCorrectionsForTauAnalyses
49 <                                                  #*patAODJetMETCorrections --> no need to do this here, as it is already done in met
50 <                                                  )
51 <
295 < patLayer0JetsForTauAnalyses = cms.Sequence( patBeforeLayer0JetsForTauAnalyses
296 <                                            *allLayer0JetsForTauAnalyses
297 <                                            *patJetFlavourIdForTauAnalyses
298 <                                            *patLayer0BTaggingForTauAnalyses
299 <                                            *patLayer0JetMETCorrectionsForTauAnalyses
300 <                                            *patLayer0JetTracksChargeForTauAnalyses
301 <                                            *(jetPartonMatchForTauAnalyses+jetGenJetMatchForTauAnalyses)
302 <                                            )
47 > patLayer0CaloJets = cms.Sequence(
48 >    patCaloJetFlavourId
49 >    *patCaloJetTracksCharge
50 >    *patCaloJetMatch
51 >    )
52  
304 patLayer1JetsForTauAnalyses = cms.Sequence(allLayer1JetsForTauAnalyses)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines