1 |
import FWCore.ParameterSet.Config as cms
|
2 |
|
3 |
# make L1 ntuples from RAW+RECO
|
4 |
|
5 |
process = cms.Process("L1NTUPLE")
|
6 |
|
7 |
# import of standard configurations
|
8 |
process.load('Configuration/StandardSequences/Services_cff')
|
9 |
process.load('FWCore/MessageService/MessageLogger_cfi')
|
10 |
process.load('Configuration/StandardSequences/GeometryIdeal_cff')
|
11 |
process.load('Configuration/StandardSequences/MagneticField_38T_cff')
|
12 |
process.load('Configuration/StandardSequences/SimL1Emulator_cff')
|
13 |
process.load("Configuration.StandardSequences.RawToDigi_Data_cff")
|
14 |
process.load('Configuration/StandardSequences/EndOfProcess_cff')
|
15 |
process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff')
|
16 |
process.load('Configuration/EventContent/EventContent_cff')
|
17 |
process.load('Configuration.StandardSequences.ReconstructionCosmics_cff')
|
18 |
|
19 |
# global tag
|
20 |
process.GlobalTag.globaltag = 'GR10_P_V2::All'
|
21 |
|
22 |
# output file
|
23 |
process.TFileService = cms.Service("TFileService",
|
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 |
|
100 |
# analysis
|
101 |
process.load("L1Trigger.Configuration.L1Extra_cff")
|
102 |
process.load("UserCode.L1TriggerDPG.l1NtupleProducer_cfi")
|
103 |
process.load("UserCode.L1TriggerDPG.l1RecoTreeProducer_cfi")
|
104 |
process.load("UserCode.L1TriggerDPG.l1ExtraTreeProducer_cfi")
|
105 |
process.load("UserCode.L1TriggerDPG.l1MuonRecoTreeProducer_cfi")
|
106 |
|
107 |
process.gctDigis.numberOfGctSamplesToUnpack = cms.uint32(5)
|
108 |
process.l1extraParticles.centralBxOnly = cms.bool(False)
|
109 |
|
110 |
process.p = cms.Path(
|
111 |
process.HBHENoiseFilter
|
112 |
+process.gtDigis
|
113 |
+process.gtEvmDigis
|
114 |
+process.gctDigis
|
115 |
+process.dttfDigis
|
116 |
+process.csctfDigis
|
117 |
+process.l1NtupleProducer
|
118 |
+process.l1extraParticles
|
119 |
+process.l1ExtraTreeProducer
|
120 |
+process.l1RecoTreeProducer
|
121 |
+process.l1MuonRecoTreeProducer
|
122 |
)
|
123 |
|
124 |
process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(100) )
|
125 |
|
126 |
readFiles = cms.untracked.vstring()
|
127 |
secFiles = cms.untracked.vstring()
|
128 |
process.source = cms.Source ("PoolSource",
|
129 |
fileNames = readFiles,
|
130 |
secondaryFileNames = secFiles
|
131 |
)
|
132 |
|
133 |
readFiles.extend( [
|
134 |
'/store/express/Commissioning10/ExpressPhysics/FEVT/v9/000/133/874/FEFC3201-644F-DF11-AED5-000423D98800.root'
|
135 |
# '/store/data/BeamCommissioning09/MinimumBias/RECO/v2/000/122/318/F23EF63B-7AD8-DE11-A6AC-0019B9F72F97.root',
|
136 |
# '/store/data/BeamCommissioning09/MinimumBias/RECO/v2/000/122/318/E0E8C7BF-7DD8-DE11-93F4-001617DC1F70.root',
|
137 |
# '/store/data/BeamCommissioning09/MinimumBias/RECO/v2/000/122/318/8E6024D2-7FD8-DE11-B2FD-001D09F295A1.root',
|
138 |
# '/store/data/BeamCommissioning09/MinimumBias/RECO/v2/000/122/318/8843C649-75D8-DE11-BAED-000423D6A6F4.root',
|
139 |
# '/store/data/BeamCommissioning09/MinimumBias/RECO/v2/000/122/318/24A1B63F-81D8-DE11-AFAD-003048D2C108.root',
|
140 |
# '/store/data/BeamCommissioning09/MinimumBias/RECO/v2/000/122/318/2222B70A-78D8-DE11-8E77-0019DB29C5FC.root'
|
141 |
] )
|
142 |
|
143 |
secFiles.extend( [
|
144 |
# '/store/data/BeamCommissioning09/MinimumBias/RAW/v1/000/122/318/94CEE17E-79D8-DE11-97D5-001D09F28F11.root',
|
145 |
# '/store/data/BeamCommissioning09/MinimumBias/RAW/v1/000/122/318/7EDBAEFA-70D8-DE11-ACFE-001617DBCF6A.root',
|
146 |
# '/store/data/BeamCommissioning09/MinimumBias/RAW/v1/000/122/318/648548EF-75D8-DE11-A26F-000423D94A04.root',
|
147 |
# '/store/data/BeamCommissioning09/MinimumBias/RAW/v1/000/122/318/2AEB364C-7CD8-DE11-A15C-001D09F241B9.root',
|
148 |
# '/store/data/BeamCommissioning09/MinimumBias/RAW/v1/000/122/318/16A68DCA-73D8-DE11-88FA-001617DBD224.root',
|
149 |
# '/store/data/BeamCommissioning09/MinimumBias/RAW/v1/000/122/318/0C749FE8-7AD8-DE11-B837-001D09F29114.root'
|
150 |
] )
|