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') |
12 |
|
|
13 |
|
###################################################################################### |
14 |
|
#### Flavour ID |
15 |
|
###################################################################################### |
16 |
+ |
pfJetPartonAssociation = copy.deepcopy(patJetPartonAssociation) |
17 |
+ |
pfJetPartonAssociation.jets = cms.InputTag("ak5PFJets") |
18 |
|
|
19 |
< |
jetPartonAssociationForPFForTauAnalyses = copy.deepcopy(jetPartonAssociationForTauAnalyses) |
20 |
< |
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 |
19 |
> |
pfJetFlavourAssociation = copy.deepcopy(patJetFlavourAssociation) |
20 |
> |
pfJetFlavourAssociation.srcByReference = cms.InputTag("pfJetPartonAssociation") |
21 |
|
|
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") |
22 |
|
|
23 |
< |
## Compute JET Charge |
24 |
< |
layer0JetChargeForPFForTauAnalyses = copy.deepcopy(layer0JetChargeForTauAnalyses) |
25 |
< |
layer0JetChargeForPFForTauAnalyses.src = cms.InputTag("allLayer0PFJetsForTauAnalyses") |
26 |
< |
layer0JetChargeForPFForTauAnalyses.jetTracksAssociation = cms.InputTag("layer0JetTracksAssociatorForPFForTauAnalyses") |
129 |
< |
|
130 |
< |
patLayer0JetTracksChargeForPFForTauAnalyses = cms.Sequence(patAODJetTracksAssociatorForPFForTauAnalyses |
131 |
< |
*layer0JetTracksAssociatorForPFForTauAnalyses |
132 |
< |
*layer0JetChargeForPFForTauAnalyses |
133 |
< |
) |
134 |
< |
|
135 |
< |
|
136 |
< |
###################################################################################### |
137 |
< |
#### jetMET corrections |
138 |
< |
###################################################################################### |
23 |
> |
patPFJetFlavourId = cms.Sequence(patJetPartons |
24 |
> |
*pfJetPartonAssociation |
25 |
> |
*pfJetFlavourAssociation |
26 |
> |
) |
27 |
|
|
28 |
|
###################################################################################### |
29 |
|
#### MC matching : genjet and parton |
30 |
|
###################################################################################### |
31 |
+ |
pfJetPartonMatch = copy.deepcopy(patJetPartonMatch) |
32 |
+ |
pfJetPartonMatch.src = cms.InputTag("ak5PFJets") |
33 |
|
|
34 |
< |
jetPartonMatchForPFForTauAnalyses = copy.deepcopy(jetPartonMatchForTauAnalyses) |
35 |
< |
jetPartonMatchForPFForTauAnalyses.src = cms.InputTag("allLayer0PFJetsForTauAnalyses") |
146 |
< |
|
147 |
< |
jetGenJetMatchForPFForTauAnalyses = copy.deepcopy(jetGenJetMatchForTauAnalyses) |
148 |
< |
jetGenJetMatchForPFForTauAnalyses.src = cms.InputTag("allLayer0PFJetsForTauAnalyses") |
34 |
> |
pfJetGenJetMatch = copy.deepcopy(patJetGenJetMatch) |
35 |
> |
pfJetGenJetMatch.src = cms.InputTag("ak5PFJets") |
36 |
|
|
37 |
+ |
patPFJetMatch = cms.Sequence(pfJetPartonMatch |
38 |
+ |
*pfJetGenJetMatch |
39 |
+ |
) |
40 |
|
|
41 |
|
###################################################################################### |
42 |
< |
#### PAT layer 1 |
42 |
> |
#### jet-tracks charge |
43 |
|
###################################################################################### |
44 |
+ |
pfJetCharge = copy.deepcopy(caloJetCharge) |
45 |
+ |
pfJetCharge.src = cms.InputTag("ak5PFJetTracksAssociatorAtVertex") |
46 |
|
|
47 |
< |
allLayer1PFJetsForTauAnalyses = copy.deepcopy(allLayer1JetsForTauAnalyses) |
48 |
< |
|
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 |
< |
|
47 |
> |
patPFJetTracksCharge = cms.Sequence(pfJetCharge |
48 |
> |
) |
49 |
|
|
50 |
|
###################################################################################### |
51 |
< |
#### Final PAT sequences |
51 |
> |
#### PAT sequence |
52 |
|
###################################################################################### |
53 |
|
|
54 |
< |
patBeforeLayer0PFJetsForTauAnalyses = cms.Sequence( bTaggingForPFForTauAnalysis |
55 |
< |
*patAODBTaggingForPFForTauAnalyses |
56 |
< |
) |
57 |
< |
|
58 |
< |
patLayer0PFJetsForTauAnalyses = cms.Sequence( patBeforeLayer0PFJetsForTauAnalyses |
197 |
< |
*allLayer0PFJetsForTauAnalyses |
198 |
< |
*patJetFlavourIdForPFForTauAnalyses |
199 |
< |
*patLayer0BTaggingForPFForTauAnalyses |
200 |
< |
*patLayer0JetTracksChargeForPFForTauAnalyses |
201 |
< |
*(jetPartonMatchForPFForTauAnalyses+jetGenJetMatchForPFForTauAnalyses) |
202 |
< |
) |
203 |
< |
|
204 |
< |
patLayer1PFJetsForTauAnalyses = cms.Sequence(allLayer1PFJetsForTauAnalyses) |
54 |
> |
patLayer0PFJets = cms.Sequence( |
55 |
> |
patPFJetFlavourId |
56 |
> |
*patPFJetTracksCharge |
57 |
> |
*patPFJetMatch |
58 |
> |
) |