ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/python/pfJetConfig_cff.py
Revision: 1.2
Committed: Fri Apr 17 14:26:35 2009 UTC (16 years ago) by amagnan
Content type: text/x-python
Branch: MAIN
CVS Tags: v00-03-00, v00-02-01, v00-02-00, v00-01-00
Changes since 1.1: +19 -16 lines
Log Message:
add Tau histos+debug btag for JPT/PF jets

File Contents

# Content
1 ########################################
2 #### Created 07-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 UserCode.HbbAnalysis.jetConfig_cff import *
11
12 ######################################################################################
13 #### PAT layer 0 cleaning
14 ######################################################################################
15
16 from PhysicsTools.PatAlgos.cleaningLayer0.pfJetCleaner_cfi import *
17
18 allLayer0PFJetsForTauAnalyses = copy.deepcopy(allLayer0PFJets)
19 allLayer0PFJetsForTauAnalyses.jetSource = cms.InputTag("iterativeCone5PFJets")
20 allLayer0PFJetsForTauAnalyses.removeOverlaps.electrons = cms.PSet() # disable default to remove overlap with electrons
21 #allLayer0PFJetsForTauAnalyses.removeOverlaps.electrons.collection = cms.InputTag("allLayer0ElectronsForTauAnalyses")
22 #allLayer0PFJetsForTauAnalyses.removeOverlaps.electrons.deltaR = cms.double(0.3) ##
23 #allLayer0PFJetsForTauAnalyses.removeOverlaps.electrons.cut = cms.string('pt > 10 & (trackIso()+ecalIso())/pt < 0.18')
24 #allLayer0PFJetsForTauAnalyses.removeOverlaps.electrons.flags = cms.vstring('Isolation/Tracker')
25
26 allLayer0PFJetsForTauAnalyses.removeOverlaps.taus = cms.PSet() # disable default to remove overlap with electrons
27 #allLayer0PFJetsForTauAnalyses.removeOverlaps.taus.collection = cms.InputTag("allLayer0PFTausForTauAnalyses")
28 #allLayer0PFJetsForTauAnalyses.removeOverlaps.taus.deltaR = cms.double(0.3) ##
29 #allLayer0PFJetsForTauAnalyses.removeOverlaps.taus.cut = cms.string('')
30 #allLayer0PFJetsForTauAnalyses.removeOverlaps.taus.flags = cms.vstring('Isolation/Tracker')
31
32 ######################################################################################
33 #### Flavour ID
34 ######################################################################################
35
36 jetPartonAssociationForPFForTauAnalyses = copy.deepcopy(jetPartonAssociationForTauAnalyses)
37 jetPartonAssociationForPFForTauAnalyses.jets = cms.InputTag("allLayer0PFJetsForTauAnalyses")
38
39 jetFlavourAssociationForPFForTauAnalyses = copy.deepcopy(jetFlavourAssociationForTauAnalyses)
40 jetFlavourAssociationForPFForTauAnalyses.srcByReference = cms.InputTag("jetPartonAssociationForPFForTauAnalyses")
41
42 #PAT sequence for jet flavour identification
43 patJetFlavourIdForPFForTauAnalyses = cms.Sequence(jetPartons
44 *jetPartonAssociationForPFForTauAnalyses
45 *jetFlavourAssociationForPFForTauAnalyses
46 )
47
48
49 ######################################################################################
50 #### b-tagging
51 ######################################################################################
52
53
54 from UserCode.HbbAnalysis.bTaggingForPFconfig_cff import *
55
56 # Labels of Discriminators to use
57 patBTaggingDiscriminatorLabelsForPF = cms.VInputTag(
58 cms.InputTag("combinedSecondaryVertexBJetTagsForPF"),
59 cms.InputTag("combinedSecondaryVertexMVABJetTagsForPF"),
60 cms.InputTag("coneIsolationTauJetTagsForPF"),
61 cms.InputTag("impactParameterMVABJetTagsForPF"),
62 cms.InputTag("jetBProbabilityBJetTagsForPF"),
63 cms.InputTag("jetProbabilityBJetTagsForPF"),
64 cms.InputTag("simpleSecondaryVertexBJetTagsForPF"),
65 cms.InputTag("softElectronBJetTagsForPF"),
66 cms.InputTag("softMuonBJetTagsForPF"),
67 cms.InputTag("softMuonNoIPBJetTagsForPF"),
68 cms.InputTag("trackCountingHighEffBJetTagsForPF"),
69 cms.InputTag("trackCountingHighPurBJetTagsForPF"),
70 )
71 # Labels of TagInfos to use
72 patBTaggingTagInfoLabelsForPF = cms.VInputTag(
73 cms.InputTag("secondaryVertexTagInfosForPF"),
74 cms.InputTag("softElectronTagInfosForPF"),
75 cms.InputTag("softMuonTagInfosForPF"),
76 cms.InputTag("impactParameterTagInfosForPF"),
77 )
78
79 # Need to convert all JetTags to ValueMap<double>
80 patAODBTagsForPFForTauAnalyses = copy.deepcopy(patAODBTagsForTauAnalyses)
81 patAODBTagsForPFForTauAnalyses.collection = cms.InputTag("iterativeCone5PFJets")
82 patAODBTagsForPFForTauAnalyses.associations = patBTaggingDiscriminatorLabelsForPF
83
84 # Need to convert all JetTagInfoss to ValueMap<Ptr<BaseTagInfo>>
85 patAODTagInfosForPFForTauAnalyses = copy.deepcopy(patAODTagInfosForTauAnalyses)
86 patAODTagInfosForPFForTauAnalyses.collection = cms.InputTag("iterativeCone5PFJets")
87 patAODTagInfosForPFForTauAnalyses.associations = patBTaggingTagInfoLabelsForPF
88
89 layer0BTagsForPFForTauAnalyses = copy.deepcopy(layer0BTagsForTauAnalyses)
90 layer0BTagsForPFForTauAnalyses.collection = cms.InputTag("allLayer0PFJetsForTauAnalyses")
91 layer0BTagsForPFForTauAnalyses.backrefs = cms.InputTag("allLayer0PFJetsForTauAnalyses")
92 layer0BTagsForPFForTauAnalyses.commonLabel = cms.InputTag("patAODBTagsForPFForTauAnalyses")
93 layer0BTagsForPFForTauAnalyses.associations = patBTaggingDiscriminatorLabelsForPF
94
95 layer0TagInfosForPFForTauAnalyses = copy.deepcopy(layer0TagInfosForTauAnalyses)
96 layer0TagInfosForPFForTauAnalyses.collection = cms.InputTag("allLayer0PFJetsForTauAnalyses")
97 layer0TagInfosForPFForTauAnalyses.backrefs = cms.InputTag("allLayer0PFJetsForTauAnalyses")
98 layer0TagInfosForPFForTauAnalyses.commonLabel = cms.InputTag("patAODTagInfosForPFForTauAnalyses")
99 layer0TagInfosForPFForTauAnalyses.associations = patBTaggingTagInfoLabelsForPF
100
101 patAODBTaggingForPFForTauAnalyses = cms.Sequence(patAODBTagsForPFForTauAnalyses
102 *patAODTagInfosForPFForTauAnalyses
103 )
104
105 patLayer0BTaggingForPFForTauAnalyses = cms.Sequence(layer0BTagsForPFForTauAnalyses
106 *layer0TagInfosForPFForTauAnalyses
107 )
108
109
110 ######################################################################################
111 #### jet-tracks charge
112 ######################################################################################
113 from PhysicsTools.PatAlgos.recoLayer0.jetTracksCharge_cff import *
114
115 patAODJetTracksAssociatorForPFForTauAnalyses = copy.deepcopy(patAODJetTracksAssociatorForTauAnalyses)
116 patAODJetTracksAssociatorForPFForTauAnalyses.src = cms.InputTag("iterativeCone5PFJets") ## the AOD jets given as input to the PAT jet cleaner
117 patAODJetTracksAssociatorForPFForTauAnalyses.tracks = cms.InputTag("ic5PFJetTracksAssociatorAtVertex") ## any JetTracksAssociation
118
119 ## Re-key from AOD jets to PAT Layer 0 jets
120 layer0JetTracksAssociatorForPFForTauAnalyses = copy.deepcopy(layer0JetTracksAssociatorForTauAnalyses)
121 layer0JetTracksAssociatorForPFForTauAnalyses.collection = cms.InputTag("allLayer0PFJetsForTauAnalyses")
122 layer0JetTracksAssociatorForPFForTauAnalyses.backrefs = cms.InputTag("allLayer0PFJetsForTauAnalyses")
123 layer0JetTracksAssociatorForPFForTauAnalyses.association = cms.InputTag("patAODJetTracksAssociatorForPFForTauAnalyses")
124
125 ## Compute JET Charge
126 layer0JetChargeForPFForTauAnalyses = copy.deepcopy(layer0JetChargeForTauAnalyses)
127 layer0JetChargeForPFForTauAnalyses.src = cms.InputTag("allLayer0PFJetsForTauAnalyses")
128 layer0JetChargeForPFForTauAnalyses.jetTracksAssociation = cms.InputTag("layer0JetTracksAssociatorForPFForTauAnalyses")
129
130 patLayer0JetTracksChargeForPFForTauAnalyses = cms.Sequence(patAODJetTracksAssociatorForPFForTauAnalyses
131 *layer0JetTracksAssociatorForPFForTauAnalyses
132 *layer0JetChargeForPFForTauAnalyses
133 )
134
135
136 ######################################################################################
137 #### jetMET corrections
138 ######################################################################################
139
140 ######################################################################################
141 #### MC matching : genjet and parton
142 ######################################################################################
143
144 jetPartonMatchForPFForTauAnalyses = copy.deepcopy(jetPartonMatchForTauAnalyses)
145 jetPartonMatchForPFForTauAnalyses.src = cms.InputTag("allLayer0PFJetsForTauAnalyses")
146
147 jetGenJetMatchForPFForTauAnalyses = copy.deepcopy(jetGenJetMatchForTauAnalyses)
148 jetGenJetMatchForPFForTauAnalyses.src = cms.InputTag("allLayer0PFJetsForTauAnalyses")
149
150
151 ######################################################################################
152 #### PAT layer 1
153 ######################################################################################
154
155 allLayer1PFJetsForTauAnalyses = copy.deepcopy(allLayer1JetsForTauAnalyses)
156
157 allLayer1PFJetsForTauAnalyses.jetSource = cms.InputTag("allLayer0PFJetsForTauAnalyses")
158
159 allLayer1PFJetsForTauAnalyses.addJetCorrFactors = cms.bool(False)
160
161
162 allLayer1PFJetsForTauAnalyses.addBTagInfo = cms.bool(True)
163 allLayer1PFJetsForTauAnalyses.addDiscriminators = cms.bool(True)
164 allLayer1PFJetsForTauAnalyses.discriminatorModule = cms.InputTag("layer0BTagsForPFForTauAnalyses")
165 allLayer1PFJetsForTauAnalyses.discriminatorNames = cms.vstring('*')
166
167 allLayer1PFJetsForTauAnalyses.addTagInfoRefs = cms.bool(True)
168 allLayer1PFJetsForTauAnalyses.tagInfoModule = cms.InputTag("layer0TagInfosForPFForTauAnalyses")
169 allLayer1PFJetsForTauAnalyses.tagInfoNames = cms.vstring('secondaryVertexTagInfosForPF','softElectronTagInfosForPF','softMuonTagInfosForPF','impactParameterTagInfosForPF')
170
171 allLayer1PFJetsForTauAnalyses.addAssociatedTracks = cms.bool(True)
172 allLayer1PFJetsForTauAnalyses.trackAssociationSource = cms.InputTag("layer0JetTracksAssociatorForPFForTauAnalyses")
173
174 allLayer1PFJetsForTauAnalyses.addJetCharge = cms.bool(True)
175 allLayer1PFJetsForTauAnalyses.jetChargeSource = cms.InputTag("layer0JetChargeForPFForTauAnalyses")
176
177 allLayer1PFJetsForTauAnalyses.addGenPartonMatch = cms.bool(True)
178 allLayer1PFJetsForTauAnalyses.embedGenPartonMatch = cms.bool(True)
179 allLayer1PFJetsForTauAnalyses.genPartonMatch = cms.InputTag("jetPartonMatchForPFForTauAnalyses")
180 allLayer1PFJetsForTauAnalyses.addGenJetMatch = cms.bool(True)
181 allLayer1PFJetsForTauAnalyses.genJetMatch = cms.InputTag("jetGenJetMatchForPFForTauAnalyses")
182
183 allLayer1PFJetsForTauAnalyses.getJetMCFlavour = cms.bool(True)
184 allLayer1PFJetsForTauAnalyses.JetPartonMapSource = cms.InputTag("jetFlavourAssociationForPFForTauAnalyses")
185
186
187
188 ######################################################################################
189 #### Final PAT sequences
190 ######################################################################################
191
192 patBeforeLayer0PFJetsForTauAnalyses = cms.Sequence( bTaggingForPFForTauAnalysis
193 *patAODBTaggingForPFForTauAnalyses
194 )
195
196 patLayer0PFJetsForTauAnalyses = cms.Sequence( patBeforeLayer0PFJetsForTauAnalyses
197 *allLayer0PFJetsForTauAnalyses
198 *patJetFlavourIdForPFForTauAnalyses
199 *patLayer0BTaggingForPFForTauAnalyses
200 *patLayer0JetTracksChargeForPFForTauAnalyses
201 *(jetPartonMatchForPFForTauAnalyses+jetGenJetMatchForPFForTauAnalyses)
202 )
203
204 patLayer1PFJetsForTauAnalyses = cms.Sequence(allLayer1PFJetsForTauAnalyses)