1 |
frankma |
1.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) |