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 |
|
|
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","ammSkimPat"),
|
45 |
|
|
cms.InputTag("combinedSecondaryVertexMVABJetTagsForJPT","ammSkimPat"),
|
46 |
|
|
cms.InputTag("coneIsolationTauJetTagsForJPT","ammSkimPat"),
|
47 |
|
|
cms.InputTag("impactParameterMVABJetTagsForJPT","ammSkimPat"),
|
48 |
|
|
cms.InputTag("jetBProbabilityBJetTagsForJPT","ammSkimPat"),
|
49 |
|
|
cms.InputTag("jetProbabilityBJetTagsForJPT","ammSkimPat"),
|
50 |
|
|
cms.InputTag("simpleSecondaryVertexBJetTagsForJPT","ammSkimPat"),
|
51 |
|
|
cms.InputTag("softElectronBJetTagsForJPT","ammSkimPat"),
|
52 |
|
|
cms.InputTag("softMuonBJetTagsForJPT","ammSkimPat"),
|
53 |
|
|
cms.InputTag("softMuonNoIPBJetTagsForJPT","ammSkimPat"),
|
54 |
|
|
cms.InputTag("trackCountingHighEffBJetTagsForJPT","ammSkimPat"),
|
55 |
|
|
cms.InputTag("trackCountingHighPurBJetTagsForJPT","ammSkimPat"),
|
56 |
|
|
)
|
57 |
|
|
# Labels of TagInfos to use
|
58 |
|
|
patBTaggingTagInfoLabelsForJPT = cms.VInputTag(
|
59 |
|
|
cms.InputTag("secondaryVertexTagInfosForJPT","ammSkimPat"),
|
60 |
|
|
cms.InputTag("softElectronTagInfosForJPT","ammSkimPat"),
|
61 |
|
|
cms.InputTag("softMuonTagInfosForJPT","ammSkimPat"),
|
62 |
|
|
cms.InputTag("impactParameterTagInfosForJPT","ammSkimPat"),
|
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.tagInfoModule = cms.InputTag("layer0TagInfosForJPTForTauAnalyses")
|
153 |
|
|
allLayer1JPTJetsForTauAnalyses.tagInfoNames = cms.vstring('secondaryVertexTagInfosForJPT','softElectronTagInfosForJPT','softMuonTagInfosForJPT','impactParameterTagInfosForJPT')
|
154 |
|
|
|
155 |
|
|
allLayer1JPTJetsForTauAnalyses.addAssociatedTracks = cms.bool(True)
|
156 |
|
|
allLayer1JPTJetsForTauAnalyses.trackAssociationSource = cms.InputTag("layer0JetTracksAssociatorForJPTForTauAnalyses")
|
157 |
|
|
|
158 |
|
|
allLayer1JPTJetsForTauAnalyses.addJetCharge = cms.bool(True)
|
159 |
|
|
allLayer1JPTJetsForTauAnalyses.jetChargeSource = cms.InputTag("layer0JetChargeForJPTForTauAnalyses")
|
160 |
|
|
|
161 |
|
|
allLayer1JPTJetsForTauAnalyses.addGenPartonMatch = cms.bool(True)
|
162 |
|
|
allLayer1JPTJetsForTauAnalyses.embedGenPartonMatch = cms.bool(True)
|
163 |
|
|
allLayer1JPTJetsForTauAnalyses.genPartonMatch = cms.InputTag("jetPartonMatchForJPTForTauAnalyses")
|
164 |
|
|
allLayer1JPTJetsForTauAnalyses.addGenJetMatch = cms.bool(True)
|
165 |
|
|
allLayer1JPTJetsForTauAnalyses.genJetMatch = cms.InputTag("jetGenJetMatchForJPTForTauAnalyses")
|
166 |
|
|
|
167 |
|
|
allLayer1JPTJetsForTauAnalyses.getJetMCFlavour = cms.bool(True)
|
168 |
|
|
allLayer1JPTJetsForTauAnalyses.JetPartonMapSource = cms.InputTag("jetFlavourAssociationForJPTForTauAnalyses")
|
169 |
|
|
|
170 |
|
|
|
171 |
|
|
|
172 |
|
|
######################################################################################
|
173 |
|
|
#### Final PAT sequences
|
174 |
|
|
######################################################################################
|
175 |
|
|
|
176 |
|
|
|
177 |
|
|
patBeforeLayer0JPTJetsForTauAnalyses = cms.Sequence( bTaggingForJPTForTauAnalysis
|
178 |
|
|
*patAODBTaggingForJPTForTauAnalyses
|
179 |
|
|
)
|
180 |
|
|
|
181 |
|
|
patLayer0JPTJetsForTauAnalyses = cms.Sequence( patBeforeLayer0JPTJetsForTauAnalyses
|
182 |
|
|
*allLayer0JPTJetsForTauAnalyses
|
183 |
|
|
*patJetFlavourIdForJPTForTauAnalyses
|
184 |
|
|
*patLayer0BTaggingForJPTForTauAnalyses
|
185 |
|
|
*patLayer0JetTracksChargeForJPTForTauAnalyses
|
186 |
|
|
*(jetPartonMatchForJPTForTauAnalyses+jetGenJetMatchForJPTForTauAnalyses)
|
187 |
|
|
)
|
188 |
|
|
|
189 |
|
|
patLayer1JPTJetsForTauAnalyses = cms.Sequence(allLayer1JPTJetsForTauAnalyses)
|