1 |
amagnan |
1.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","ammSkimPat"),
|
59 |
|
|
cms.InputTag("combinedSecondaryVertexMVABJetTagsForPF","ammSkimPat"),
|
60 |
|
|
cms.InputTag("coneIsolationTauJetTagsForPF","ammSkimPat"),
|
61 |
|
|
cms.InputTag("impactParameterMVABJetTagsForPF","ammSkimPat"),
|
62 |
|
|
cms.InputTag("jetBProbabilityBJetTagsForPF","ammSkimPat"),
|
63 |
|
|
cms.InputTag("jetProbabilityBJetTagsForPF","ammSkimPat"),
|
64 |
|
|
cms.InputTag("simpleSecondaryVertexBJetTagsForPF","ammSkimPat"),
|
65 |
|
|
cms.InputTag("softElectronBJetTagsForPF","ammSkimPat"),
|
66 |
|
|
cms.InputTag("softMuonBJetTagsForPF","ammSkimPat"),
|
67 |
|
|
cms.InputTag("softMuonNoIPBJetTagsForPF","ammSkimPat"),
|
68 |
|
|
cms.InputTag("trackCountingHighEffBJetTagsForPF","ammSkimPat"),
|
69 |
|
|
cms.InputTag("trackCountingHighPurBJetTagsForPF","ammSkimPat"),
|
70 |
|
|
)
|
71 |
|
|
# Labels of TagInfos to use
|
72 |
|
|
patBTaggingTagInfoLabelsForPF = cms.VInputTag(
|
73 |
|
|
cms.InputTag("secondaryVertexTagInfosForPF","ammSkimPat"),
|
74 |
|
|
cms.InputTag("softElectronTagInfosForPF","ammSkimPat"),
|
75 |
|
|
cms.InputTag("softMuonTagInfosForPF","ammSkimPat"),
|
76 |
|
|
cms.InputTag("impactParameterTagInfosForPF","ammSkimPat"),
|
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.tagInfoModule = cms.InputTag("layer0TagInfosForPFForTauAnalyses")
|
166 |
|
|
allLayer1PFJetsForTauAnalyses.tagInfoNames = cms.vstring('secondaryVertexTagInfosForPF','softElectronTagInfosForPF','softMuonTagInfosForPF','impactParameterTagInfosForPF')
|
167 |
|
|
|
168 |
|
|
allLayer1PFJetsForTauAnalyses.addAssociatedTracks = cms.bool(True)
|
169 |
|
|
allLayer1PFJetsForTauAnalyses.trackAssociationSource = cms.InputTag("layer0JetTracksAssociatorForPFForTauAnalyses")
|
170 |
|
|
|
171 |
|
|
allLayer1PFJetsForTauAnalyses.addJetCharge = cms.bool(True)
|
172 |
|
|
allLayer1PFJetsForTauAnalyses.jetChargeSource = cms.InputTag("layer0JetChargeForPFForTauAnalyses")
|
173 |
|
|
|
174 |
|
|
allLayer1PFJetsForTauAnalyses.addGenPartonMatch = cms.bool(True)
|
175 |
|
|
allLayer1PFJetsForTauAnalyses.embedGenPartonMatch = cms.bool(True)
|
176 |
|
|
allLayer1PFJetsForTauAnalyses.genPartonMatch = cms.InputTag("jetPartonMatchForPFForTauAnalyses")
|
177 |
|
|
allLayer1PFJetsForTauAnalyses.addGenJetMatch = cms.bool(True)
|
178 |
|
|
allLayer1PFJetsForTauAnalyses.genJetMatch = cms.InputTag("jetGenJetMatchForPFForTauAnalyses")
|
179 |
|
|
|
180 |
|
|
allLayer1PFJetsForTauAnalyses.getJetMCFlavour = cms.bool(True)
|
181 |
|
|
allLayer1PFJetsForTauAnalyses.JetPartonMapSource = cms.InputTag("jetFlavourAssociationForPFForTauAnalyses")
|
182 |
|
|
|
183 |
|
|
|
184 |
|
|
|
185 |
|
|
######################################################################################
|
186 |
|
|
#### Final PAT sequences
|
187 |
|
|
######################################################################################
|
188 |
|
|
|
189 |
|
|
patBeforeLayer0PFJetsForTauAnalyses = cms.Sequence( bTaggingForPFForTauAnalysis
|
190 |
|
|
*patAODBTaggingForPFForTauAnalyses
|
191 |
|
|
)
|
192 |
|
|
|
193 |
|
|
patLayer0PFJetsForTauAnalyses = cms.Sequence( patBeforeLayer0PFJetsForTauAnalyses
|
194 |
|
|
*allLayer0PFJetsForTauAnalyses
|
195 |
|
|
*patJetFlavourIdForPFForTauAnalyses
|
196 |
|
|
*patLayer0BTaggingForPFForTauAnalyses
|
197 |
|
|
*patLayer0JetTracksChargeForPFForTauAnalyses
|
198 |
|
|
*(jetPartonMatchForPFForTauAnalyses+jetGenJetMatchForPFForTauAnalyses)
|
199 |
|
|
)
|
200 |
|
|
|
201 |
|
|
patLayer1PFJetsForTauAnalyses = cms.Sequence(allLayer1PFJetsForTauAnalyses)
|