ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/ForwardAnalysis/DiffractiveZAnalysis/python/diffractiveZAnalysisSequences_cff.py
Revision: 1.1
Committed: Mon Jul 8 21:26:34 2013 UTC (11 years, 9 months ago) by dmf
Content type: text/x-python
Branch: MAIN
CVS Tags: HEAD
Log Message:
*** empty log message ***

File Contents

# Content
1 import FWCore.ParameterSet.Config as cms
2
3 ##---------------------------------------
4
5 from L1TriggerConfig.L1GtConfigProducers.L1GtTriggerMaskAlgoTrigConfig_cff import *
6 from L1TriggerConfig.L1GtConfigProducers.L1GtTriggerMaskTechTrigConfig_cff import *
7 es_prefer_l1GtTriggerMaskAlgoTrig = cms.ESPrefer("L1GtTriggerMaskAlgoTrigTrivialProducer","l1GtTriggerMaskAlgoTrig")
8 es_prefer_l1GtTriggerMaskTechTrig = cms.ESPrefer("L1GtTriggerMaskTechTrigTrivialProducer","l1GtTriggerMaskTechTrig")
9
10 ##---------------------------------------
11
12 ###--------
13 from ForwardAnalysis.AnalysisSequences.primaryVertexFilter_cfi import *
14 ##---------------------
15 from ForwardAnalysis.AnalysisSequences.filterScraping_cfi import *
16 ##-------------
17 from CommonTools.RecoAlgos.HBHENoiseFilter_cfi import *
18 ##-------------
19
20 ######################
21 ## Jet Trigger Filter
22 ######################
23
24 from ForwardAnalysis.DiffractiveZAnalysis.diffractiveZHLTPaths_cfi import *
25 #diffractiveZHLTFilter.HLTPaths = ['HLT_Mu9','HLT_Mu9']
26 #['HLT_ExclDiJet60_HFAND*', 'HLT_ExclDiJet60_HFOR*']
27 #['HLT_Jet15U','HLT_L1Jet6U']
28
29 ## ak5PFL1L2L3 = cms.ESSource(
30 ## 'JetCorrectionServiceChain',
31 ## correctors = cms.vstring('ak5PFL1Offset','ak5PFL2Relative','ak5PFL3Absolute')
32 ## )
33
34 ## ak5PFJetsL2L3 = cms.EDProducer('PFJetCorrectionProducer',
35 ## src = cms.InputTag('ak5PFJets'),
36 ## correctors = cms.vstring('ak5PFL1L2L3')
37 ## )
38 #JetCorrectorSequence = cms.Sequence(ak5PFJetsL2L3)
39
40 #-----------------------------
41 ## goodJets = cms.EDFilter("CandViewSelector",
42 ## src = cms.InputTag("ak5PFJetsPileUp"),
43 ## cut = cms.string("pt > 0.")
44 ## # # ptMin = cms.double(20)
45 ## )
46 ## #------------------------------
47 ## jetFilter = cms.EDFilter("CandViewCountFilter",
48 ## src = cms.InputTag("goodJets"),
49 ## minNumber = cms.uint32(1)
50 ## )
51 ## jetFilterSequence = cms.Sequence(goodJets*jetFilter)
52 #------------------------------
53 """
54 from PhysicsTools.RecoAlgos.recoTrackSelector_cfi import *
55 recoTrackSelector.src = "generalTracks"
56 recoTrackSelector.minRapidity = -2.5
57 recoTrackSelector.maxRapidity = 2.5
58 recoTrackSelector.ptMin = 0.5
59 recoTrackSelector.quality = ["highPurity"]
60 selectGoodTracks = recoTrackSelector
61 """
62 from ForwardAnalysis.Utilities.analysisTracks_cfi import *
63
64 from ForwardAnalysis.Utilities.selectTracksAssociatedToPV_cfi import *
65 selectTracksAssociatedToPV.src = "analysisTracks"
66 selectTracksAssociatedToPV.vertexTag = "goodOfflinePrimaryVertices"
67 selectTracksAssociatedToPV.maxDistanceFromVertex = 0.4
68
69 from ForwardAnalysis.Utilities.tracksOutsideJets_cfi import *
70 tracksOutsideJets.src = "selectTracksAssociatedToPV"
71 tracksOutsideJets.JetTag = "ak5PFJets"
72 tracksOutsideJets.JetConeSize = 0.5
73
74 from ForwardAnalysis.AnalysisSequences.tracksTransverseRegion_cfi import *
75 tracksTransverseRegion.src = "selectTracksAssociatedToPV"
76 tracksTransverseRegion.JetTag = "ak5PFJets"
77
78 from ForwardAnalysis.Utilities.trackMultiplicity_cfi import *
79 trackMultiplicityTransverseRegion = trackMultiplicity.clone( src = "tracksTransverseRegion" )
80
81 #
82 # Systematic Studies
83 #
84
85 pfCandidatesShiftedUp = cms.EDProducer("ShiftedPFCandidateProducer",
86 src = cms.InputTag('particleFlow'),
87 binning = cms.VPSet(
88 cms.PSet(
89 binSelection = cms.string('particleId == 0'), # particleId == X
90 binUncertainty = cms.double(0.10)
91 ),
92 cms.PSet(
93 binSelection = cms.string('particleId == 1'), # particleId == h
94 binUncertainty = cms.double(0.10)
95 ),
96
97 cms.PSet(
98 binSelection = cms.string('particleId == 2'), # particleId == e
99 binUncertainty = cms.double(0.10)
100 ),
101 cms.PSet(
102 binSelection = cms.string('particleId == 3'), # particleId == mu
103 binUncertainty = cms.double(0.10)
104 ),
105
106 cms.PSet(
107 binSelection = cms.string('particleId == 4'), # particleId == gamma
108 binUncertainty = cms.double(0.10)
109 ),
110 cms.PSet(
111 binSelection = cms.string('particleId == 5'), # particleId == h0
112 binUncertainty = cms.double(0.10)
113 ),
114
115 cms.PSet(
116 binSelection = cms.string('particleId == 6'), # particleId == h_HF
117 binUncertainty = cms.double(0.10)
118 ),
119 cms.PSet(
120 binSelection = cms.string('particleId == 7'), # particleId == egamma_HF
121 binUncertainty = cms.double(0.10)
122 )
123
124 ),
125 shiftBy = cms.double(1)
126 )
127
128
129 pfCandidatesShiftedDown = pfCandidatesShiftedUp.clone()
130 pfCandidatesShiftedDown.shiftBy = cms.double(-1)
131
132 #------------------------------
133 # Particle flow
134 Forward = cms.PSet(
135 hadronHF = cms.PSet( energy = cms.double(7.0) ),
136 emHF = cms.PSet( energy = cms.double(7.0) )
137 )
138 # Add EtaMax
139 from ForwardAnalysis.Utilities.pfCandidateSelector_cfi import pfCandidateSelector as pfCandidateNoiseThresholds
140 from ForwardAnalysis.Utilities.ExcludeHFEdgesStringCut import ExcludeHFEdgesStringCut
141 from ForwardAnalysis.Utilities.PFCandidateNoiseStringCut import PFCandidateNoiseStringCut
142 # Change thresholds here if needed
143 from pfThresholds_cfi import pfThresholds
144 #pfThresholdsDhiftedUp = pfThresholds.clone()
145 #pfThresholdsHF0.Transition.hadronHF.energy = 0.0
146 #pfThresholdsHF0.Transition.emHF.energy = 0.0
147 #pfThresholdsHF0.Forward.hadronHF.energy = 0.0
148 #pfThresholdsHF0.Forward.emHF.energy = 0.0
149 pfStrCut1 = ExcludeHFEdgesStringCut().cut()
150 pfStrCut2 = PFCandidateNoiseStringCut(pfThresholds).cut()
151 pfStrCut = '%s & %s' % (pfStrCut1,pfStrCut2)
152 pfCandidateNoiseThresholds.cut = pfStrCut
153
154 # Change to no pile-up collection
155 pfCandidateNoiseThresholds.src = "particleFlow"
156
157 #pfStrCutHF0 = '%s & %s' % (pfStrCut1, PFCandidateNoiseStringCut(pfThresholdsHF0).cut() )
158 #pfCandidateNoiseThresholdsHF0 = pfCandidateNoiseThresholds.clone( cut = pfStrCutHF0 )
159
160 from ForwardAnalysis.Utilities.etaMaxCandViewSelector_cfi import etaMaxCandViewSelector as etaMaxPFCands
161 from ForwardAnalysis.Utilities.etaMinCandViewSelector_cfi import etaMinCandViewSelector as etaMinPFCands
162 etaMaxPFCands.src = "pfCandidateNoiseThresholds"
163 etaMinPFCands.src = "pfCandidateNoiseThresholds"
164 #etaMaxPFCands.src = "pfCandidateNoiseThresholdsHF0"
165 #etaMinPFCands.src = "pfCandidateNoiseThresholdsHF0"
166
167 from ForwardAnalysis.AnalysisSequences.genChargedParticles_cfi import genChargedParticles
168 from ForwardAnalysis.AnalysisSequences.genStableParticles_cfi import genStableParticles
169 genStableParticles.cut = 'status = 1 & ( ( pdgId != 2212 ) | ( pdgId == 2212 & abs(pz) < %f ) )' % (0.75*3500.0)
170 genProtonDissociative = genStableParticles.clone( cut = 'pdgId == 9902210' )
171 etaMaxGen = etaMaxPFCands.clone(src = "genStableParticles")
172 etaMinGen = etaMinPFCands.clone(src = "genStableParticles")
173
174 from ForwardAnalysis.AnalysisSequences.edmNtupleCandView_cfi import edmNtupleCandView
175 edmNtupleEtaMax = edmNtupleCandView.clone(src = "etaMaxPFCands")
176 edmNtupleEtaMax.variables = cms.VPSet( cms.PSet( tag = cms.untracked.string("etaMax"),
177 quantity = cms.untracked.string("eta") ) )
178 edmNtupleEtaMin = edmNtupleCandView.clone(src = "etaMinPFCands")
179 edmNtupleEtaMin.variables = cms.VPSet( cms.PSet( tag = cms.untracked.string("etaMin"),
180 quantity = cms.untracked.string("eta") ) )
181
182 edmNtupleMxGen = edmNtupleCandView.clone(src = "genProtonDissociative")
183 edmNtupleMxGen.variables = cms.VPSet( cms.PSet( tag = cms.untracked.string("Mx"),
184 quantity = cms.untracked.string("mass") ) )
185 edmNtupleEtaMaxGen = edmNtupleEtaMax.clone(src = "etaMaxGen")
186 edmNtupleEtaMinGen = edmNtupleEtaMin.clone(src = "etaMinGen")
187
188 from ForwardAnalysis.AnalysisSequences.etaMaxSelector_cfi import etaMaxSelector as etaMaxFilter
189 etaMaxFilter.src = "etaMaxPFCands"
190 from ForwardAnalysis.AnalysisSequences.etaMinSelector_cfi import etaMinSelector as etaMinFilter
191 etaMinFilter.src = "etaMinPFCands"
192
193 etaMaxGenFilter = etaMaxFilter.clone(src = "etaMaxGen")
194 etaMinGenFilter = etaMinFilter.clone(src = "etaMinGen")
195
196
197 pfCandidateNoiseThresholdsShiftedUp = pfCandidateNoiseThresholds.clone( src= "pfCandidatesShiftedUp" )
198
199 etaMaxPFCandsShiftedUp = etaMaxPFCands.clone( src = "pfCandidateNoiseThresholdsShiftedUp" )
200 etaMinPFCandsShiftedUp = etaMinPFCands.clone( src = "pfCandidateNoiseThresholdsShiftedUp" )
201
202 edmNtupleEtaMaxShiftedUp = edmNtupleEtaMax.clone(src = "etaMaxPFCandsShiftedUp")
203 edmNtupleEtaMinShiftedUp = edmNtupleEtaMin.clone(src = "etaMinPFCandsShiftedUp")
204
205 pfCandidateNoiseThresholdsShiftedDown = pfCandidateNoiseThresholds.clone( src= "pfCandidatesShiftedDown" )
206 etaMaxPFCandsShiftedDown = etaMaxPFCands.clone( src = "pfCandidateNoiseThresholdsShiftedDown" )
207 etaMinPFCandsShiftedDown = etaMinPFCands.clone( src = "pfCandidateNoiseThresholdsShiftedDown" )
208
209 edmNtupleEtaMaxShiftedDown = edmNtupleEtaMax.clone(src = "etaMaxPFCandsShiftedDown")
210 edmNtupleEtaMinShiftedDown = edmNtupleEtaMin.clone(src = "etaMinPFCandsShiftedDown")
211
212 #------------------------------
213
214 from ForwardAnalysis.Utilities.caloActivityFilter_cfi import caloActivityFilter
215 caloVetoHFPlus = caloActivityFilter.clone(NTowersMaxHFPlus=0)
216 caloVetoHFMinus = caloActivityFilter.clone(NTowersMaxHFMinus=0)
217 caloActivityFilter.EnergyThresholdHB = 1.5
218 caloActivityFilter.EnergyThresholdHE = 2.0
219 caloActivityFilter.EnergyThresholdHF = 7.0
220 '''
221 from ForwardAnalysis.Utilities.castorActivityFilter_cfi import castorActivityFilter
222 castorActivityFilter.CastorRecHitTag = "castorRecHitCorrector"
223 castorActivityFilter.SumEMaxCastor = 250.
224
225 castorInvalidDataFilter = cms.EDFilter("CastorInvalidDataFilter")
226 castorVeto = cms.Sequence(castorInvalidDataFilter + castorActivityFilter)
227 castorTag = cms.Sequence(castorInvalidDataFilter + ~castorActivityFilter)
228 '''
229 ##-----------------------------------------------------------------
230 from ForwardAnalysis.Utilities.hcalActivitySummary_cfi import *
231 hcalActivitySummary.DiscardFlaggedTowers = False
232 hcalActivitySummaryScale090 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 0.90,EnergyScaleFactorHE = 0.90,EnergyScaleFactorHF = 0.90)
233 hcalActivitySummaryScale092 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 0.92,EnergyScaleFactorHE = 0.92,EnergyScaleFactorHF = 0.92)
234 hcalActivitySummaryScale095 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 0.95,EnergyScaleFactorHE = 0.95,EnergyScaleFactorHF = 0.95)
235 hcalActivitySummaryScale098 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 0.98,EnergyScaleFactorHE = 0.98,EnergyScaleFactorHF = 0.98)
236 hcalActivitySummaryScale102 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 1.02,EnergyScaleFactorHE = 1.02,EnergyScaleFactorHF = 1.02)
237 hcalActivitySummaryScale105 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 1.05,EnergyScaleFactorHE = 1.05,EnergyScaleFactorHF = 1.05)
238 hcalActivitySummaryScale108 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 1.08,EnergyScaleFactorHE = 1.08,EnergyScaleFactorHF = 1.08)
239 hcalActivitySummaryScale110 = hcalActivitySummary.clone(ApplyEnergyScale = True,EnergyScaleFactorHB = 1.10,EnergyScaleFactorHE = 1.10,EnergyScaleFactorHF = 1.10)
240 """
241 from Utilities.AnalysisTools.hcalActivityFilter_cfi import hcalActivityFilter
242 hcalActivityFilter.EnergyThresholdHB = 1.5
243 hcalActivityFilter.EnergyThresholdHE = 2.0
244 hcalActivityFilter.EnergyThresholdHF = 4.0hcalVetoHBPlusAndMinus = hcalActivityFilter.clone(NTowersMaxHBPlus = 0, NTowersMaxHBMinus = 0)
245 hcalVetoHBHEPlusAndMinus = hcalActivityFilter.clone(NTowersMaxHBPlus = 0, NTowersMaxHEPlus = 0, NTowersMaxHBMinus
246 = 0, NTowersMaxHEMinus = 0)
247 hcalVetoSumEMaxHBPlusAndMinus4 = hcalActivityFilter.clone(SumEMaxHBPlus = 4.0, SumEMaxHBMinus = 4.0)
248 hcalVetoSumEMaxHBPlusAndMinus8 = hcalActivityFilter.clone(SumEMaxHBPlus = 8.0, SumEMaxHBMinus = 8.0)
249 hcalVetoSumEMaxHBPlusAndMinus12 = hcalActivityFilter.clone(SumEMaxHBPlus = 12.0, SumEMaxHBMinus = 12.0)
250 hcalVetoSumEMaxHBPlusAndMinus16 = hcalActivityFilter.clone(SumEMaxHBPlus = 16.0, SumEMaxHBMinus = 16.0)
251 """
252
253 ##-----------------------------------------------------------------
254 # Event selection
255 offlineSelection = cms.Sequence(primaryVertexFilter + filterScraping + HBHENoiseFilter)
256 #offlineSelection = cms.Sequence(filterScraping + HBHENoiseFilter)
257 eventSelection = cms.Sequence(offlineSelection)
258 eventSelectionHLT = cms.Sequence(diffractiveZHLTFilter + offlineSelection)
259
260 """
261 eventSelectionHLTHBVetoPlusAndMinus = cms.Sequence(eventSelectionHLT+hcalVetoHBPlusAndMinus)
262 eventSelectionHLTHBHEVetoPlusAndMinus = cms.Sequence(eventSelectionHLT+hcalVetoHBHEPlusAndMinus)
263 eventSelectionHLTSumEMaxHBPlusAndMinus4 = cms.Sequence(eventSelectionHLT+hcalVetoSumEMaxHBPlusAndMinus4)
264 eventSelectionHLTSumEMaxHBPlusAndMinus8 = cms.Sequence(eventSelectionHLT+hcalVetoSumEMaxHBPlusAndMinus8)
265 eventSelectionHLTSumEMaxHBPlusAndMinus12 = cms.Sequence(eventSelectionHLT+hcalVetoSumEMaxHBPlusAndMinus12)
266 eventSelectionHLTSumEMaxHBPlusAndMinus16 = cms.Sequence(eventSelectionHLT+hcalVetoSumEMaxHBPlusAndMinus16)
267 """
268
269 #-------------------------------------------
270 # Sequences
271 #jets = cms.Sequence(ak5PFJetsL2L3)
272 tracks = cms.Sequence(analysisTracks*
273 selectTracksAssociatedToPV*
274 tracksOutsideJets*
275 tracksTransverseRegion)
276
277 pfCandidates_ShiftedUp = cms.Sequence(pfCandidatesShiftedUp+
278 pfCandidateNoiseThresholdsShiftedUp*
279 etaMaxPFCandsShiftedUp+etaMinPFCandsShiftedUp)
280
281 pfCandidates_ShiftedDown = cms.Sequence(pfCandidatesShiftedDown+
282 pfCandidateNoiseThresholdsShiftedDown*
283 etaMaxPFCandsShiftedDown+etaMinPFCandsShiftedDown)
284
285
286 pfCandidates = cms.Sequence(pfCandidateNoiseThresholds*
287 etaMaxPFCands+etaMinPFCands)
288
289 edmDump = cms.Sequence(#trackMultiplicity+
290 #trackMultiplicityAssociatedToPV+
291 #trackMultiplicityOutsideJets+
292 trackMultiplicityTransverseRegion+
293 hcalActivitySummary+hcalActivitySummaryScale090+hcalActivitySummaryScale092+
294 hcalActivitySummaryScale095+hcalActivitySummaryScale098+
295 hcalActivitySummaryScale102+hcalActivitySummaryScale105+
296 hcalActivitySummaryScale108+hcalActivitySummaryScale110+
297 #hfTower+xiTower+xiFromCaloTowers+
298 edmNtupleEtaMax+edmNtupleEtaMin)
299
300 edmDumpShiftedUp = cms.Sequence(trackMultiplicityTransverseRegion+
301 hcalActivitySummary+hcalActivitySummaryScale090+hcalActivitySummaryScale092+
302 hcalActivitySummaryScale095+hcalActivitySummaryScale098+
303 hcalActivitySummaryScale102+hcalActivitySummaryScale105+
304 hcalActivitySummaryScale108+hcalActivitySummaryScale110+
305 edmNtupleEtaMaxShiftedUp+edmNtupleEtaMinShiftedUp)
306
307 edmDumpShiftedDown = cms.Sequence(trackMultiplicityTransverseRegion+
308 hcalActivitySummary+hcalActivitySummaryScale090+hcalActivitySummaryScale092+
309 hcalActivitySummaryScale095+hcalActivitySummaryScale098+
310 hcalActivitySummaryScale102+hcalActivitySummaryScale105+
311 hcalActivitySummaryScale108+hcalActivitySummaryScale110+
312 edmNtupleEtaMaxShiftedDown+edmNtupleEtaMinShiftedDown)
313
314 #edmDump = cms.Sequence(edmNtupleEtaMax+edmNtupleEtaMin)
315 #-------------------------------------------
316 analysisSequencesShiftedUp = cms.Sequence(tracks*pfCandidates_ShiftedUp*edmDumpShiftedUp)
317 analysisSequencesShiftedDown = cms.Sequence(tracks*pfCandidates_ShiftedDown*edmDumpShiftedDown)
318 analysisSequences = cms.Sequence(tracks*pfCandidates*edmDump)
319
320 #-------------------------------------------:x
321
322