1 |
import FWCore.ParameterSet.Config as cms
|
2 |
|
3 |
process = cms.Process('JetAna')
|
4 |
|
5 |
process.options = cms.untracked.PSet(
|
6 |
wantSummary = cms.untracked.bool(True)
|
7 |
)
|
8 |
|
9 |
# Input source
|
10 |
process.source = cms.Source("PoolSource",
|
11 |
fileNames = cms.untracked.vstring(
|
12 |
'file:/d101/frankma/data/HIAllPhysics/ZS-v2/A2AD1439-F242-E011-A425-003048F00412.root'
|
13 |
))
|
14 |
|
15 |
process.maxEvents = cms.untracked.PSet(
|
16 |
input = cms.untracked.int32(10))
|
17 |
|
18 |
#load some general stuff
|
19 |
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
|
20 |
process.load('Configuration.StandardSequences.Services_cff')
|
21 |
process.load('Configuration.StandardSequences.GeometryExtended_cff')
|
22 |
process.load('Configuration.StandardSequences.MagneticField_38T_cff')
|
23 |
process.load('FWCore.MessageService.MessageLogger_cfi')
|
24 |
#process.MessageLogger.cerr.FwkReport.reportEvery = 100
|
25 |
process.GlobalTag.globaltag = 'GR_R_39X_V6B::All'
|
26 |
|
27 |
# load centrality
|
28 |
from CmsHi.Analysis2010.CommonFunctions_cff import *
|
29 |
overrideCentrality(process)
|
30 |
process.HeavyIonGlobalParameters = cms.PSet(
|
31 |
centralityVariable = cms.string("HFhits"),
|
32 |
nonDefaultGlauberModel = cms.string(""),
|
33 |
centralitySrc = cms.InputTag("hiCentrality")
|
34 |
)
|
35 |
|
36 |
# tree output
|
37 |
process.TFileService = cms.Service("TFileService",
|
38 |
fileName=cms.string("JetAnaTrees.root"))
|
39 |
|
40 |
# PF Reco
|
41 |
# --- Track and muon reconstruction ---
|
42 |
# pixel triplet tracking (HI Tracking)
|
43 |
process.load("RecoLocalTracker.Configuration.RecoLocalTracker_cff")
|
44 |
process.load("RecoHI.Configuration.Reconstruction_HI_cff")
|
45 |
process.load("RecoLocalCalo.Configuration.hcalLocalReco_cff") # Needed to produce "HcalSeverityLevelComputerRcd" used by CaloTowersCreator/towerMakerPF
|
46 |
process.rechits = cms.Sequence(process.siPixelRecHits * process.siStripMatchedRecHits)
|
47 |
process.hiTrackReco = cms.Sequence(process.rechits * process.heavyIonTracking)
|
48 |
|
49 |
process.load("RecoHI.Configuration.Reconstruction_hiPF_cff")
|
50 |
process.load("RecoHI.HiJetAlgos.ParticleTowerProducer_cff")
|
51 |
process.trackerDrivenElectronSeeds.TkColList = cms.VInputTag("hiGoodTightTracks")
|
52 |
process.PFTowers = process.particleTowerProducer.clone() # PF using a grid of pseudo-towers to emulate Russian-style subtraction
|
53 |
process.HiParticleFlowRecoNoJets = cms.Sequence(
|
54 |
process.particleFlowCluster *
|
55 |
process.trackerDrivenElectronSeeds *
|
56 |
process.particleFlowReco *
|
57 |
process.PFTowers
|
58 |
)
|
59 |
|
60 |
#good track selection
|
61 |
process.load("edwenger.HiTrkEffAnalyzer.TrackSelections_cff")
|
62 |
process.hiextraTrackReco = cms.Sequence( process.hiPostGlobalPrimTracks * process.hiGoodTightTracksSelection )
|
63 |
|
64 |
# Define Jet Algo parameters
|
65 |
process.load('RecoHI.HiJetAlgos.HiRecoJets_cff')
|
66 |
process.load('RecoHI.HiJetAlgos.HiRecoPFJets_cff')
|
67 |
|
68 |
process.iterativeConePu5CaloJets.doPVCorrection = cms.bool(True)
|
69 |
process.iterativeConePu5CaloJets.srcPVs = 'hiSelectedVertex'
|
70 |
process.iterativeConePu5CaloJets.puPtMin = cms.double(10.0)
|
71 |
|
72 |
process.ak3PFJets = process.ak5PFJets.clone()
|
73 |
process.ak3PFJets.rParam = cms.double(0.3)
|
74 |
process.ak3PFJets.puPtMin = cms.double(15.0)
|
75 |
process.akPu3PFJets = process.ak3PFJets.clone()
|
76 |
process.akPu3PFJets.src = 'PFTowers'
|
77 |
process.akPu3PFJets.jetType = 'BasicJet'
|
78 |
process.akPu3PFJets.doPUOffsetCorr = cms.bool(True)
|
79 |
process.akPu3PFJets.sumRecHits = cms.bool(False)
|
80 |
|
81 |
# Define Jet energy correction
|
82 |
process.jec = cms.ESSource("PoolDBESSource",
|
83 |
DBParameters = cms.PSet(messageLevel = cms.untracked.int32(0)),
|
84 |
timetype = cms.string('runnumber'),
|
85 |
toGet = cms.VPSet(
|
86 |
cms.PSet(record = cms.string("JetCorrectionsRecord"),
|
87 |
tag = cms.string("JetCorrectorParametersCollection_HI_hiGoodTightTracks_D6T_399_IC5Calo"),
|
88 |
label = cms.untracked.string("IC5Calo")),
|
89 |
cms.PSet(record = cms.string("JetCorrectionsRecord"),
|
90 |
tag = cms.string("JetCorrectorParametersCollection_HI_PFTowers_hiGoodTightTracks_D6T_399_AK3PF"),
|
91 |
label = cms.untracked.string("AK3PF")),
|
92 |
cms.PSet(record = cms.string("JetCorrectionsRecord"),
|
93 |
tag = cms.string("JetCorrectorParametersCollection_HI_PFTowers_hiGoodTightTracks_D6T_399_AK4PF"),
|
94 |
label = cms.untracked.string("AK4PF")),
|
95 |
cms.PSet(record = cms.string("JetCorrectionsRecord"),
|
96 |
tag = cms.string("JetCorrectorParametersCollection_HI_PFTowers_hiGoodTightTracks_D6T_399_AK5PF"),
|
97 |
label = cms.untracked.string("AK5PF")
|
98 |
),
|
99 |
),
|
100 |
connect = cms.string("sqlite_file:JEC_HI_PFTowers_hiGoodTightTracks_D6T_399.db"),
|
101 |
)
|
102 |
process.es_prefer_jec = cms.ESPrefer('PoolDBESSource','jec')
|
103 |
|
104 |
# Define Pat
|
105 |
process.load('PhysicsTools.PatAlgos.patHeavyIonSequences_cff')
|
106 |
process.patJets.jetSource = cms.InputTag("iterativeConePu5CaloJets")
|
107 |
process.patJets.addBTagInfo = False
|
108 |
process.patJets.addTagInfos = False
|
109 |
process.patJets.addDiscriminators = False
|
110 |
process.patJets.addAssociatedTracks = False
|
111 |
process.patJets.addJetCharge = False
|
112 |
process.patJets.addJetID = False
|
113 |
process.patJets.getJetMCFlavour = False
|
114 |
process.patJets.addGenPartonMatch = False
|
115 |
process.patJets.addGenJetMatch = False
|
116 |
process.patJets.embedGenJetMatch = False
|
117 |
process.patJets.embedGenPartonMatch = False
|
118 |
|
119 |
process.icPu5corr = process.patJetCorrFactors.clone(
|
120 |
src = cms.InputTag("iterativeConePu5CaloJets"),
|
121 |
levels = cms.vstring('L2Relative','L3Absolute'),
|
122 |
payload = cms.string('IC5Calo')
|
123 |
)
|
124 |
process.icPu5patJets = process.patJets.clone(
|
125 |
jetSource = cms.InputTag("iterativeConePu5CaloJets"),
|
126 |
jetCorrFactorsSource = cms.VInputTag(cms.InputTag("icPu5corr")))
|
127 |
|
128 |
process.icPu5patSequence = cms.Sequence(process.iterativeConePu5CaloJets*process.icPu5corr*process.icPu5patJets)
|
129 |
|
130 |
process.akPu3PFcorr = process.patJetCorrFactors.clone(
|
131 |
src = cms.InputTag("akPu3PFJets"),
|
132 |
levels = cms.vstring('L2Relative','L3Absolute'),
|
133 |
payload = cms.string('AK3PF')
|
134 |
)
|
135 |
process.akPu3PFpatJets = process.patJets.clone(
|
136 |
jetSource = cms.InputTag("akPu3PFJets"),
|
137 |
jetCorrFactorsSource = cms.VInputTag(cms.InputTag("akPu3PFcorr")))
|
138 |
process.akPu3PFpatSequence = cms.Sequence(process.akPu3PFJets*process.akPu3PFcorr*process.akPu3PFpatJets)
|
139 |
|
140 |
# Define the analyzer modules
|
141 |
process.load("HLTrigger.HLTanalyzers.HI_HLTAnalyser_cff")
|
142 |
process.hltanalysis.RunParameters.Debug = False
|
143 |
process.hltanalysis.RunParameters.UseTFileService = True
|
144 |
process.hltanalysis.RunParameters.Monte = (False)
|
145 |
process.hltanalysis.RunParameters.DoMC = (False)
|
146 |
process.hltanalysis.RunParameters.DoJets = True
|
147 |
process.hltanalysis.RunParameters.DoPhotons = True
|
148 |
process.hltanalysis.RunParameters.DoSuperClusters = True
|
149 |
process.hltanalysis.recjets = "iterativeConePu5CaloJets"
|
150 |
process.hltanalysis.BarrelPhoton = "correctedIslandBarrelSuperClusters"
|
151 |
process.hltanalysis.EndcapPhoton = "correctedIslandEndcapSuperClusters"
|
152 |
process.hltanalysis.l1GtReadoutRecord = cms.InputTag("gtDigis")
|
153 |
|
154 |
process.load("MNguyen.InclusiveJetAnalyzer.inclusiveJetAnalyzer_cff")
|
155 |
process.inclusiveJetAnalyzer.isMC = cms.untracked.bool(False)
|
156 |
process.icPu5JetAnalyzer = process.inclusiveJetAnalyzer.clone()
|
157 |
|
158 |
# =============== Final Paths =====================
|
159 |
process.reco_extra = cms.Path( process.hiTrackReco * process.hiextraTrackReco * process.HiParticleFlowRecoNoJets
|
160 |
* process.icPu5patSequence * process.akPu3PFpatSequence )
|
161 |
process.ana_step = cms.Path( process.centralityBin * process.hltanalysis * process.icPu5JetAnalyzer)
|
162 |
process.schedule = cms.Schedule(process.reco_extra,process.ana_step) |