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 |
allLayer0JPTJetsForTauAnalyses = copy.deepcopy(allLayer0JetsForTauAnalyses)
|
17 |
allLayer0JPTJetsForTauAnalyses.jetSource = cms.InputTag("JetPlusTrackZSPCorJetIcone5")
|
18 |
|
19 |
######################################################################################
|
20 |
#### Flavour ID
|
21 |
######################################################################################
|
22 |
|
23 |
jetPartonAssociationForJPTForTauAnalyses = copy.deepcopy(jetPartonAssociationForTauAnalyses)
|
24 |
jetPartonAssociationForJPTForTauAnalyses.jets = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
25 |
|
26 |
jetFlavourAssociationForJPTForTauAnalyses = copy.deepcopy(jetFlavourAssociationForTauAnalyses)
|
27 |
jetFlavourAssociationForJPTForTauAnalyses.srcByReference = cms.InputTag("jetPartonAssociationForJPTForTauAnalyses")
|
28 |
|
29 |
#PAT sequence for jet flavour identification
|
30 |
patJetFlavourIdForJPTForTauAnalyses = cms.Sequence(jetPartons
|
31 |
*jetPartonAssociationForJPTForTauAnalyses
|
32 |
*jetFlavourAssociationForJPTForTauAnalyses
|
33 |
)
|
34 |
|
35 |
|
36 |
######################################################################################
|
37 |
#### b-tagging
|
38 |
######################################################################################
|
39 |
|
40 |
from UserCode.HbbAnalysis.bTaggingForJPTconfig_cff import *
|
41 |
|
42 |
# Labels of Discriminators to use
|
43 |
patBTaggingDiscriminatorLabelsForJPT = cms.VInputTag(
|
44 |
cms.InputTag("combinedSecondaryVertexBJetTagsForJPT"),
|
45 |
cms.InputTag("combinedSecondaryVertexMVABJetTagsForJPT"),
|
46 |
cms.InputTag("coneIsolationTauJetTagsForJPT"),
|
47 |
cms.InputTag("impactParameterMVABJetTagsForJPT"),
|
48 |
cms.InputTag("jetBProbabilityBJetTagsForJPT"),
|
49 |
cms.InputTag("jetProbabilityBJetTagsForJPT"),
|
50 |
cms.InputTag("simpleSecondaryVertexBJetTagsForJPT"),
|
51 |
cms.InputTag("softElectronBJetTagsForJPT"),
|
52 |
cms.InputTag("softMuonBJetTagsForJPT"),
|
53 |
cms.InputTag("softMuonNoIPBJetTagsForJPT"),
|
54 |
cms.InputTag("trackCountingHighEffBJetTagsForJPT"),
|
55 |
cms.InputTag("trackCountingHighPurBJetTagsForJPT"),
|
56 |
)
|
57 |
# Labels of TagInfos to use
|
58 |
patBTaggingTagInfoLabelsForJPT = cms.VInputTag(
|
59 |
cms.InputTag("secondaryVertexTagInfosForJPT"),
|
60 |
cms.InputTag("softElectronTagInfosForJPT"),
|
61 |
cms.InputTag("softMuonTagInfosForJPT"),
|
62 |
cms.InputTag("impactParameterTagInfosForJPT"),
|
63 |
)
|
64 |
|
65 |
|
66 |
## Need to convert all JetTags to ValueMap<double>
|
67 |
patAODBTagsForJPTForTauAnalyses = copy.deepcopy(patAODBTagsForTauAnalyses)
|
68 |
patAODBTagsForJPTForTauAnalyses.collection = cms.InputTag("JetPlusTrackZSPCorJetIcone5")
|
69 |
patAODBTagsForJPTForTauAnalyses.associations = patBTaggingDiscriminatorLabelsForJPT
|
70 |
|
71 |
## Need to convert all JetTagInfoss to ValueMap<Ptr<BaseTagInfo>>
|
72 |
patAODTagInfosForJPTForTauAnalyses = copy.deepcopy(patAODTagInfosForTauAnalyses)
|
73 |
patAODTagInfosForJPTForTauAnalyses.collection = cms.InputTag("JetPlusTrackZSPCorJetIcone5")
|
74 |
patAODTagInfosForJPTForTauAnalyses.associations = patBTaggingTagInfoLabelsForJPT
|
75 |
|
76 |
layer0BTagsForJPTForTauAnalyses = copy.deepcopy(layer0BTagsForTauAnalyses)
|
77 |
layer0BTagsForJPTForTauAnalyses.collection = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
78 |
layer0BTagsForJPTForTauAnalyses.backrefs = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
79 |
layer0BTagsForJPTForTauAnalyses.commonLabel = cms.InputTag("patAODBTagsForJPTForTauAnalyses")
|
80 |
layer0BTagsForJPTForTauAnalyses.associations = patBTaggingDiscriminatorLabelsForJPT
|
81 |
|
82 |
layer0TagInfosForJPTForTauAnalyses = copy.deepcopy(layer0TagInfosForTauAnalyses)
|
83 |
layer0TagInfosForJPTForTauAnalyses.collection = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
84 |
layer0TagInfosForJPTForTauAnalyses.backrefs = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
85 |
layer0TagInfosForJPTForTauAnalyses.commonLabel = cms.InputTag("patAODTagInfosForJPTForTauAnalyses")
|
86 |
layer0TagInfosForJPTForTauAnalyses.associations = patBTaggingTagInfoLabelsForJPT
|
87 |
|
88 |
patAODBTaggingForJPTForTauAnalyses = cms.Sequence(patAODBTagsForJPTForTauAnalyses
|
89 |
*patAODTagInfosForJPTForTauAnalyses
|
90 |
)
|
91 |
|
92 |
patLayer0BTaggingForJPTForTauAnalyses = cms.Sequence(layer0BTagsForJPTForTauAnalyses
|
93 |
*layer0TagInfosForJPTForTauAnalyses
|
94 |
)
|
95 |
|
96 |
|
97 |
######################################################################################
|
98 |
#### jet-tracks charge
|
99 |
######################################################################################
|
100 |
from PhysicsTools.PatAlgos.recoLayer0.jetTracksCharge_cff import *
|
101 |
|
102 |
patAODJetTracksAssociatorForJPTForTauAnalyses = copy.deepcopy(patAODJetTracksAssociatorForTauAnalyses)
|
103 |
patAODJetTracksAssociatorForJPTForTauAnalyses.src = cms.InputTag("JetPlusTrackZSPCorJetIcone5") ## the AOD jets given as input to the PAT jet cleaner
|
104 |
patAODJetTracksAssociatorForJPTForTauAnalyses.tracks = cms.InputTag("iterativeCone5JetTracksAssociatorAtVertexForJPT") ## JetTracksAssociation after btagging on JPT jets
|
105 |
|
106 |
## Re-key from AOD jets to PAT Layer 0 jets
|
107 |
layer0JetTracksAssociatorForJPTForTauAnalyses = copy.deepcopy(layer0JetTracksAssociatorForTauAnalyses)
|
108 |
layer0JetTracksAssociatorForJPTForTauAnalyses.collection = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
109 |
layer0JetTracksAssociatorForJPTForTauAnalyses.backrefs = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
110 |
layer0JetTracksAssociatorForJPTForTauAnalyses.association = cms.InputTag("patAODJetTracksAssociatorForJPTForTauAnalyses")
|
111 |
|
112 |
## Compute JET Charge
|
113 |
layer0JetChargeForJPTForTauAnalyses = copy.deepcopy(layer0JetChargeForTauAnalyses)
|
114 |
layer0JetChargeForJPTForTauAnalyses.src = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
115 |
layer0JetChargeForJPTForTauAnalyses.jetTracksAssociation = cms.InputTag("layer0JetTracksAssociatorForJPTForTauAnalyses")
|
116 |
|
117 |
patLayer0JetTracksChargeForJPTForTauAnalyses = cms.Sequence(patAODJetTracksAssociatorForJPTForTauAnalyses
|
118 |
*layer0JetTracksAssociatorForJPTForTauAnalyses
|
119 |
*layer0JetChargeForJPTForTauAnalyses
|
120 |
)
|
121 |
|
122 |
|
123 |
######################################################################################
|
124 |
#### jetMET corrections
|
125 |
######################################################################################
|
126 |
|
127 |
######################################################################################
|
128 |
#### MC matching : genjet and parton
|
129 |
######################################################################################
|
130 |
|
131 |
jetPartonMatchForJPTForTauAnalyses = copy.deepcopy(jetPartonMatchForTauAnalyses)
|
132 |
jetPartonMatchForJPTForTauAnalyses.src = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
133 |
|
134 |
jetGenJetMatchForJPTForTauAnalyses = copy.deepcopy(jetGenJetMatchForTauAnalyses)
|
135 |
jetGenJetMatchForJPTForTauAnalyses.src = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
136 |
|
137 |
|
138 |
######################################################################################
|
139 |
#### PAT layer 1
|
140 |
######################################################################################
|
141 |
|
142 |
allLayer1JPTJetsForTauAnalyses = copy.deepcopy(allLayer1JetsForTauAnalyses)
|
143 |
|
144 |
allLayer1JPTJetsForTauAnalyses.jetSource = cms.InputTag("allLayer0JPTJetsForTauAnalyses")
|
145 |
|
146 |
allLayer1JPTJetsForTauAnalyses.addJetCorrFactors = cms.bool(False)
|
147 |
|
148 |
|
149 |
allLayer1JPTJetsForTauAnalyses.addBTagInfo = cms.bool(True)
|
150 |
allLayer1JPTJetsForTauAnalyses.addDiscriminators = cms.bool(True)
|
151 |
allLayer1JPTJetsForTauAnalyses.discriminatorModule = cms.InputTag("layer0BTagsForJPTForTauAnalyses")
|
152 |
allLayer1JPTJetsForTauAnalyses.discriminatorNames = cms.vstring('*')
|
153 |
|
154 |
allLayer1JPTJetsForTauAnalyses.addTagInfoRefs = cms.bool(True)
|
155 |
allLayer1JPTJetsForTauAnalyses.tagInfoModule = cms.InputTag("layer0TagInfosForJPTForTauAnalyses")
|
156 |
allLayer1JPTJetsForTauAnalyses.tagInfoNames = cms.vstring('secondaryVertexTagInfosForJPT','softElectronTagInfosForJPT','softMuonTagInfosForJPT','impactParameterTagInfosForJPT')
|
157 |
|
158 |
allLayer1JPTJetsForTauAnalyses.addAssociatedTracks = cms.bool(True)
|
159 |
allLayer1JPTJetsForTauAnalyses.trackAssociationSource = cms.InputTag("layer0JetTracksAssociatorForJPTForTauAnalyses")
|
160 |
|
161 |
allLayer1JPTJetsForTauAnalyses.addJetCharge = cms.bool(True)
|
162 |
allLayer1JPTJetsForTauAnalyses.jetChargeSource = cms.InputTag("layer0JetChargeForJPTForTauAnalyses")
|
163 |
|
164 |
allLayer1JPTJetsForTauAnalyses.addGenPartonMatch = cms.bool(True)
|
165 |
allLayer1JPTJetsForTauAnalyses.embedGenPartonMatch = cms.bool(True)
|
166 |
allLayer1JPTJetsForTauAnalyses.genPartonMatch = cms.InputTag("jetPartonMatchForJPTForTauAnalyses")
|
167 |
allLayer1JPTJetsForTauAnalyses.addGenJetMatch = cms.bool(True)
|
168 |
allLayer1JPTJetsForTauAnalyses.genJetMatch = cms.InputTag("jetGenJetMatchForJPTForTauAnalyses")
|
169 |
|
170 |
allLayer1JPTJetsForTauAnalyses.getJetMCFlavour = cms.bool(True)
|
171 |
allLayer1JPTJetsForTauAnalyses.JetPartonMapSource = cms.InputTag("jetFlavourAssociationForJPTForTauAnalyses")
|
172 |
|
173 |
|
174 |
|
175 |
######################################################################################
|
176 |
#### Final PAT sequences
|
177 |
######################################################################################
|
178 |
|
179 |
|
180 |
patBeforeLayer0JPTJetsForTauAnalyses = cms.Sequence( bTaggingForJPTForTauAnalysis
|
181 |
*patAODBTaggingForJPTForTauAnalyses
|
182 |
)
|
183 |
|
184 |
patLayer0JPTJetsForTauAnalyses = cms.Sequence( patBeforeLayer0JPTJetsForTauAnalyses
|
185 |
*allLayer0JPTJetsForTauAnalyses
|
186 |
*patJetFlavourIdForJPTForTauAnalyses
|
187 |
*patLayer0BTaggingForJPTForTauAnalyses
|
188 |
*patLayer0JetTracksChargeForJPTForTauAnalyses
|
189 |
*(jetPartonMatchForJPTForTauAnalyses+jetGenJetMatchForJPTForTauAnalyses)
|
190 |
)
|
191 |
|
192 |
patLayer1JPTJetsForTauAnalyses = cms.Sequence(allLayer1JPTJetsForTauAnalyses)
|