24 |
|
fileName = cms.string('L1Tree.root') |
25 |
|
) |
26 |
|
|
27 |
– |
#is it MC or DATA |
28 |
– |
#WARNING: FOR MC turn isMC = True, otherwise the v4 of HF cleaning will be used, which includes timing cut. Timing is not modeled well in MC |
29 |
– |
isMC = False |
30 |
– |
useHBHEcleaning = True |
31 |
– |
useHBHEfilter = True |
32 |
– |
|
33 |
– |
HFPMTcleaningversion = 4 # version 1 = (loose), version 2 = (medium), version 3 = (tight) |
34 |
– |
# VERSION 4 is the currently recommended version, as of 28 May 2010. |
35 |
– |
|
36 |
– |
if useHBHEfilter == True: |
37 |
– |
process.load('CommonTools/RecoAlgos/HBHENoiseFilter_cfi') |
38 |
– |
process.hbhefilter = cms.Path(process.HBHENoiseFilter) |
39 |
– |
|
40 |
– |
# New SeverityLevelComputer that forces RecHits with UserDefinedBit0 set to be excluded from new rechit collection |
41 |
– |
import JetMETAnalysis.HcalReflagging.RemoveAddSevLevel as RemoveAddSevLevel |
42 |
– |
process.hcalRecAlgos=RemoveAddSevLevel.RemoveFlag(process.hcalRecAlgos,"HFLongShort") |
43 |
– |
|
44 |
– |
# UserDefinedBit0 is used by both the HF and HBHE reflaggers |
45 |
– |
process.hcalRecAlgos=RemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"UserDefinedBit0",10) |
46 |
– |
|
47 |
– |
# HF RecHit reflagger |
48 |
– |
process.load("JetMETAnalysis/HcalReflagging/HFrechitreflaggerJETMET_cff") |
49 |
– |
if HFPMTcleaningversion==1: |
50 |
– |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv1.clone() |
51 |
– |
elif HFPMTcleaningversion==2: |
52 |
– |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv2.clone() |
53 |
– |
elif HFPMTcleaningversion==3: |
54 |
– |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv3.clone() |
55 |
– |
elif HFPMTcleaningversion==4: |
56 |
– |
if (isMC==False): |
57 |
– |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv4.clone() |
58 |
– |
else: |
59 |
– |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv2.clone() |
60 |
– |
elif HFPMTcleaningversion==5: |
61 |
– |
if (isMC==False): |
62 |
– |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv5.clone() |
63 |
– |
else: |
64 |
– |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv3.clone() |
65 |
– |
|
66 |
– |
|
67 |
– |
# HBHE RecHit reflagger |
68 |
– |
process.load("JetMETAnalysis/HcalReflagging/hbherechitreflaggerJETMET_cfi") |
69 |
– |
process.hbherecoReflagged = process.hbherechitreflaggerJETMET.clone() |
70 |
– |
process.hbherecoReflagged.debug=0 |
71 |
– |
|
72 |
– |
# Use the reflagged HF RecHits to make the CaloTowers |
73 |
– |
process.towerMaker.hfInput = "hfrecoReflagged" |
74 |
– |
process.towerMakerWithHO.hfInput = "hfrecoReflagged" |
75 |
– |
|
76 |
– |
# Path and EndPath definitions |
77 |
– |
|
78 |
– |
if (useHBHEcleaning==False): |
79 |
– |
process.reflagging_step = cms.Path(process.hfrecoReflagged) |
80 |
– |
else: |
81 |
– |
process.reflagging_step = cms.Path(process.hfrecoReflagged+process.hbherecoReflagged) |
82 |
– |
# Need to specify that new HBHE collection should be fed to calotower maker |
83 |
– |
process.towerMaker.hbheInput = "hbherecoReflagged" |
84 |
– |
process.towerMakerWithHO.hbheInput = "hbherecoReflagged" |
85 |
– |
|
86 |
– |
# Instead of rejecting the event, add a flag indicating the HBHE noise |
87 |
– |
process.load('CommonTools/RecoAlgos/HBHENoiseFilterResultProducer_cfi') |
88 |
– |
process.hbheflag = cms.Path(process.HBHENoiseFilterResultProducer) |
89 |
– |
|
90 |
– |
|
91 |
– |
process.rereco_step = cms.Path(process.filterSequence*process.caloTowersRec*(process.recoJets*process.recoJetIds+process.recoTrackJets)*process.recoJetAssociations*process.btagging*process.metreco) # re-reco jets and MET |
92 |
– |
|
93 |
– |
if useHBHEfilter == True: |
94 |
– |
process.schedule = cms.Schedule(process.hbhefilter, process.reflagging_step,process.rereco_step, USERCODE) |
95 |
– |
else: |
96 |
– |
process.schedule = cms.Schedule(process.reflagging_step, process.rereco_step, process.hbheflag, USERCODE) |
97 |
– |
|
98 |
– |
|
99 |
– |
|
27 |
|
# analysis |
28 |
|
process.load("L1Trigger.Configuration.L1Extra_cff") |
29 |
|
process.load("UserCode.L1TriggerDPG.l1NtupleProducer_cfi") |