ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CSCPriEff/NtupleMaker.py
Revision: 1.3
Committed: Tue Mar 5 09:08:46 2013 UTC (12 years, 1 month ago) by zhangjin
Content type: text/x-python
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +4 -2 lines
Log Message:
isolation info is added

File Contents

# Content
1
2 # Configuration file for CSCTriggerPrimitive study.
3 # Chaouki Boulahouache June-2010.
4 # Jinzhong Zhang June-2012.
5 #
6 # Import the right stuff
7 #
8 datatype = "RAW"
9 #Candidates are data: "RAW" "RAW-RECO" "FEVT"
10 #mc: in order of suggestions: "GEN-RAWDEBUG"(mc) "GEN-SIM-RAW"(mc) "GEN-RAW"(mc) "GEN-SIM".....
11 # if no RAW exists, you need to choose a mixing module manually
12 # pileup tracks cannot be identified in "GEN-RAW" sample
13
14 HLTProcessName='HLT'
15
16 import sys,os
17
18 if "GEN" in datatype or "SIM" in datatype:
19 runOnMC = True
20 else:
21 runOnMC = False
22
23 CMSSW_Version_=os.getenv("CMSSW_VERSION")
24 Version_Number_=CMSSW_Version_.split('_')
25
26 if ( int(Version_Number_[1])<5 ) or ( int(Version_Number_[1])==5 and int(Version_Number_[2])<2 ):
27 After520=False
28 else:
29 After520=True
30
31 if ( int(Version_Number_[1])<4 ) or ( int(Version_Number_[1])==4 and int(Version_Number_[2])<3 ):
32 After430=False
33 else:
34 After430=True
35
36 if After430:
37 from Configuration.AlCa.autoCond import autoCond # for >=CMSSW_4_3_0
38 else:
39 from Configuration.PyReleaseValidation.autoCond import autoCond
40
41 import FWCore.ParameterSet.Config as cms
42 import FWCore.ParameterSet.VarParsing as VarParsing
43 #
44 ##################################################################################################
45 process = cms.Process("ANALYSISNTUPLE")
46 ###################################################################################################
47
48 # import of standard configurations
49 process.load("FWCore/MessageService/MessageLogger_cfi")
50 process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff')
51 #process.load("Configuration.StandardSequences.MagneticField_cff")
52 process.load('Configuration/StandardSequences/MagneticField_AutoFromDBCurrent_cff')
53 # CSC TF
54 process.load("EventFilter.CSCTFRawToDigi.csctfunpacker_cfi")
55 process.csctfunpacker.producer = cms.InputTag("rawDataCollector")
56
57 process.schedule=cms.Schedule()
58
59 if runOnMC:
60 process.load("Configuration.StandardSequences.RawToDigi_cff")
61 process.load("Configuration.StandardSequences.Reconstruction_cff")
62 process.GlobalTag.globaltag = autoCond['startup']
63 print "The global tag is ", process.GlobalTag.globaltag
64 ##------------------ IMPORT MODULES FOR PRECISE MC MATCHING ------------
65 if "DEBUG" not in datatype:
66 process.load('Configuration/StandardSequences/Services_cff')
67 process.load("SimGeneral.MixingModule.mixNoPU_cfi")
68 process.load("SimGeneral.TrackingAnalysis.trackingParticles_cfi")
69 process.load("Configuration.StandardSequences.Digi_cff")
70 #process.load("SimTracker.TrackAssociation.TrackAssociatorByChi2_cfi")
71 #process.TrackAssociatorByChi2ESProducer.chi2cut = cms.double(1e9)
72 if "SIM" not in datatype and "FEVT" not in datatype:
73 process.load('SimG4Core/Application/g4SimHits_cfi')
74 process.trackingTruth = cms.Path(process.g4SimHits*cms.SequencePlaceholder("mix")*process.trDigi*process.trackingParticles)
75 else:
76 process.trackingTruth = cms.Path(cms.SequencePlaceholder("mix")*process.trDigi*process.trackingParticles)
77
78 if "RAW" not in datatype and "FEVT" not in datatype:
79 if After520:
80 process.load("SimGeneral.MixingModule.mix_2012_Startup_50ns_PoissonOOTPU_cfi")
81 else:
82 process.load("SimGeneral.MixingModule.mix_E7TeV_Summer_2011_50ns_PoissonOOT")
83 process.load('Configuration.StandardSequences.Digi_cff')
84 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
85 process.load('Configuration.StandardSequences.DigiToRaw_cff')
86 process.load('HLTrigger.Configuration.HLT_GRun_cff')
87 HLTProcessName=process._Process__name
88 process.CSCHaloData.HLTResultLabel = cms.InputTag("TriggerResults","",HLTProcessName)
89 process.simtoraw=cms.Path(process.pdigi*process.SimL1Emulator*process.DigiToRaw)
90 process.schedule.extend( [process.simtoraw] )
91 process.schedule.extend( process.HLTSchedule )
92 else:
93 if "DEBUG" not in datatype:# Playback
94 del process.RandomNumberGeneratorService.generator
95 process.RandomNumberGeneratorService.restoreStateLabel = cms.untracked.string('randomEngineStateProducer')
96 process.mix.playback = cms.untracked.bool(True)
97
98 process.schedule.extend( [process.trackingTruth] )
99
100 process.load("SimTracker.TrackAssociation.TrackAssociatorByHits_cfi")
101 process.TrackAssociatorByHits.Cut_RecoToSim = cms.double(0.5)
102 else:
103 process.load("Configuration.StandardSequences.RawToDigi_Data_cff")
104 if After520:
105 process.load("Configuration.StandardSequences.Reconstruction_Data_cff")
106 else:
107 process.load("Configuration.StandardSequences.Reconstruction_cff")
108 process.GlobalTag.globaltag = autoCond['com10']
109 #Load bad chambers according to the run numbers
110 process.load("CalibMuon.Configuration.getCSCConditions_frontier_cff")
111 process.cscConditions.connect='frontier://FrontierProd/CMS_COND_31X_CSC'
112 process.cscConditions.toGet = cms.VPSet(cms.PSet(
113 record = cms.string('CSCBadChambersRcd'),
114 tag = cms.string('CSCBadChambers_RunDependent_offline')
115 ))
116 process.cscConditions.loadAll = cms.bool(True)
117 process.cscConditions.timetype = cms.string('runnumber')
118 process.cscConditions.DBParameters = cms.PSet(
119 authenticationPath = cms.untracked.string('/nfshome0/popcondev/conddb/'),
120 authenticationMethod = cms.untracked.uint32(1)
121 )
122 process.es_prefer_cscConditions = cms.ESPrefer("PoolDBESSource","cscConditions")
123 #end of loading bad chambers according to the run numbers
124
125 if "RECO" in datatype or "FEVT" in datatype:
126 process.raw2digiandreconstruction = cms.Path(process.RawToDigi)
127 else:
128 process.raw2digiandreconstruction = cms.Path(process.RawToDigi*process.reconstruction)
129
130 process.schedule.extend( [process.raw2digiandreconstruction] )
131
132 # ecal mapping
133 process.load("Geometry.EcalMapping.EcalMapping_cfi")
134
135 ##------------------ IMPORT MODULES NEEDED FOR JPT ------------
136 if After520:
137 process.load("Configuration.Geometry.GeometryIdeal_cff")
138 else:
139 process.load("Configuration.StandardSequences.Geometry_cff")
140
141 from Configuration.StandardSequences.MagneticField_cff import *
142
143 process.source = cms.Source("PoolSource",
144 # fileNames = cms.untracked.vstring("dcap:://pnfs/cms/WAX/11/store/mc/Fall11/DYJetsToEE-MuMu_PtZ-100To300_TuneZ2_7TeV-calchep-pythia/GEN-RAW/PU_S6_START42_V14B-v1/0000/2E0052CC-62B8-E111-ACBE-00261894388F.root")
145 # fileNames = cms.untracked.vstring("file:/uscms/home/zhangjin/nobackup/Test_DYToMuMu_M-20_CT10_GEN-SIM-RAW-HLTDEBUG-RECO.root")
146 # fileNames = cms.untracked.vstring("file:/uscms/home/zhangjin/nobackup/Test_DYMuMu200_42_RAW.root")
147 # fileNames = cms.untracked.vstring("dcap:://pnfs/cms/WAX/11/store/mc/Summer12/QCD_Pt-15to3000_TuneZ2star_Flat_8TeV_pythia6/GEN-SIM-RAW/PU_S7_START52_V9-v5/0000/A6A3E090-B498-E111-A4AB-003048C68AA6.root")
148 #fileNames = cms.untracked.vstring("dcap:://pnfs/cms/WAX/11/store/mc/Summer12_DR53X/MinBias_TuneZ2star_8TeV-pythia6/GEN-SIM-RECODEBUG/DEBUG_PU_S10_START53_V7A-v1/0000/A8B78296-D6E0-E111-AD1F-003048678B1A.root")
149 #fileNames = cms.untracked.vstring("dcap:://pnfs/cms/WAX/11/store/mc/Summer12/DYToMuMu_M_20_TuneZ2star_8TeV_pythia6/GEN-SIM/START50_V13-v1/0000/001E08EA-EC56-E111-A0C6-002618943915.root")#/DYToMuMu_M-20_CT10_TuneZ2star_8TeV-powheg-pythia6/Summer12-START50_V13-v1/GEN-SIM
150 #fileNames = cms.untracked.vstring("dcap:://pnfs/cms/WAX/11/store/mc/Summer12/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/GEN-SIM/START52_V9-v3/0008/FEF6E3F9-FCD3-E111-8322-0025901D0C52.root")#/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-START52_V9-v3/GEN-SIM
151 #fileNames = cms.untracked.vstring("dcap:://pnfs/cms/WAX/11/store/mc/Summer12/JPsiToMuMu_2MuPtEtaFilter_tuneD6T_8TeV-pythia6-evtgen/GEN-SIM/START52_V9-v3/0001/FEDFAB36-3BF8-E111-9DF6-68B599B94F60.root")#/JPsiToMuMu_2MuPtEtaFilter_tuneD6T_8TeV-pythia6-evtgen/Summer12-START52_V9-v3/GEN-SIM
152 fileNames = cms.untracked.vstring("dcap://cmsdca.fnal.gov:24137/pnfs/fnal.gov/usr/cms/WAX/11/store/data/Run2012C/SingleMu/RAW/v1/000/202/016/98D875A0-10F3-E111-B2F2-001D09F2AD84.root")#/SingleMu/Run2012C-v1/RAW
153 ,skipEvents=cms.untracked.uint32(0)
154 )
155 #
156 # Number of events to be processed...
157 #
158 process.maxEvents = cms.untracked.PSet(
159 input = cms.untracked.int32(-1)
160 )
161
162 process.options = cms.untracked.PSet(
163 SkipEvent = cms.untracked.vstring( "Error: uninitialized ProxyBase used" ),
164 IgnoreCompletely = cms.untracked.vstring( "ProductNotFound" )
165 )
166
167 from RecoMuon.TrackingTools.MuonSegmentMatcher_cff import *
168 process.load("TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff")
169 from TrackingTools.TrackAssociator.default_cfi import *
170 from RecoMuon.MuonIsolationProducers.trackExtractorBlocks_cff import MIsoTrackExtractorBlock
171
172 process.aodDump = cms.EDAnalyzer('TPTrackMuonSys',
173 TrackAssociatorParameterBlock,
174 MuonSegmentMatcher,
175 TrackExtractor=cms.PSet(MIsoTrackExtractorBlock),
176 rootFileName = cms.untracked.string('CSCPFG_Ineff_DATA.root'),
177 CSCUseTimingCorrections = cms.bool( True ),
178 CSCUseGasGainCorrections = cms.bool( True ),
179 isMC = cms.untracked.bool(runOnMC),
180 mcTag = cms.untracked.InputTag('genParticles'),
181 vertexCollection = cms.InputTag('offlinePrimaryVertices'),
182 gTracksTag = cms.untracked.InputTag('generalTracks'),
183 trackProducer = cms.InputTag('csctfunpacker:'),
184 readBadChannels = cms.bool(True),
185 readBadChambers = cms.bool(True),
186 hltTag = cms.untracked.InputTag("TriggerResults","",HLTProcessName),
187 hltEvTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLTProcessName),
188 HLTMuTrgNames = cms.vstring("HLT_Mu?_v*","HLT_Mu??_v*","HLT_Mu???_v*","HLT_IsoMu?_v*","HLT_IsoMu??_v*","HLT_IsoMu???_v*","HLT_L2Mu?_v*","HLT_L2Mu??_v*","HLT_L2Mu???_v*","HLT_SingleMu*","HLT_L1SingleMu*"),
189 HLTDiMuTrgName = cms.string("HLT_DoubleMu?_v*"),
190 # hltEvTag = cms.untracked.InputTag("hltTriggerSummaryAOD","","REDIGI36X"),
191 L1extraTag = cms.untracked.InputTag("l1extraParticles"),
192 dedxTag = cms.untracked.InputTag('dedxHarmonic2')
193 )
194
195 ########################################
196 process.primaryVertexFilter = cms.EDFilter("VertexSelector",
197 src = cms.InputTag("offlinePrimaryVertices"),
198 cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2"), # tracksSize() > 3 for the older cut
199 filter = cms.bool(True), # otherwise it won't filter the events, just produce an empty vertex collection.
200 )
201
202 process.noscraping = cms.EDFilter("FilterOutScraping",
203 applyfilter = cms.untracked.bool(True),
204 debugOn = cms.untracked.bool(False),
205 numtrack = cms.untracked.uint32(10),
206 thresh = cms.untracked.double(0.25)
207 )
208
209 process.CSCTFunpacker=cms.Path(process.csctfunpacker)
210 process.filtersteps=cms.Path(process.primaryVertexFilter*process.noscraping)
211 process.outputstep = cms.EndPath(process.aodDump)
212
213 process.schedule.extend( [process.CSCTFunpacker,process.filtersteps,process.outputstep] )
214
215 process.load("FWCore.MessageLogger.MessageLogger_cfi")
216 process.MessageLogger.cerr.FwkReport.reportEvery = 1 #quench the message logger (optional)
217 process.MessageLogger.cerr_stats.threshold = cms.untracked.string('WARNING')
218 """
219 #For DEBUG:
220 process.load('Configuration.EventContent.EventContent_cff')
221 process.out = cms.OutputModule("PoolOutputModule",
222 splitLevel = cms.untracked.int32(0),
223 outputCommands = cms.untracked.vstring(
224 'drop *_*_*_*',
225 'keep *_mix_*_*',
226 'keep *_generator_*_*',
227 'keep *_randomEngineStateProducer_*_*',
228 'keep *_mergedtruth__*',
229 'keep *_mergedtruth_*_*',
230 'keep *_muons_*_*'
231 ),
232 fileName = cms.untracked.string('MYDEBUG.root'),
233 )
234 #process.outputstep=cms.EndPath(process.out)
235 #process.SimpleMemoryCheck = cms.Service("SimpleMemoryCheck",moduleMemorySummary = cms.untracked.bool(True))
236 if After520:
237 process.highlevelreco=cms.Sequence(process.egammaHighLevelRecoPrePF*
238 process.particleFlowReco*
239 process.egammaHighLevelRecoPostPF*
240 process.regionalCosmicTracksSeq*
241 process.muoncosmichighlevelreco*
242 process.muonshighlevelreco*
243 process.particleFlowLinks)
244 else:
245 process.highlevelreco=cms.Sequence(process.egammaHighLevelRecoPrePF*
246 process.particleFlowReco*
247 process.egammaHighLevelRecoPostPF)
248 process.reconstruction = cms.Sequence(process.localreco*process.globalreco*process.highlevelreco)
249 """