Skip to content

Instantly share code, notes, and snippets.

@tahuang1991
Created June 17, 2022 14:37
Show Gist options
  • Save tahuang1991/ce827d24e48905fd3d76fcae9e135c45 to your computer and use it in GitHub Desktop.
Save tahuang1991/ce827d24e48905fd3d76fcae9e135c45 to your computer and use it in GitHub Desktop.
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Era_Run3_cff import Run3
process = cms.Process("ReL1ANA", Run3)
## Standard sequence
process.load('Configuration.StandardSequences.Services_cff')
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('Configuration.StandardSequences.MagneticField_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.load('TrackPropagation.SteppingHelixPropagator.SteppingHelixPropagatorOpposite_cfi')
process.load('TrackPropagation.SteppingHelixPropagator.SteppingHelixPropagatorAlong_cfi')
process.load('Configuration.StandardSequences.SimL1Emulator_cff')
#process.load('GEMCode.GEMValidation.GEMCSCAnalyzer_cff')
"""
process.MessageLogger = cms.Service("MessageLogger",
destinations = cms.untracked.vstring("debug"),
debug = cms.untracked.PSet(
# extension = cms.untracked.string(".txt"),
threshold = cms.untracked.string("DEBUG"),
# threshold = cms.untracked.string("WARNING"),
lineLength = cms.untracked.int32(132),
noLineBreaks = cms.untracked.bool(True)
),
debugModules = cms.untracked.vstring("GEMCSCAnalyzer")
)
"""
inputFile = 'file:/eos/user/t/tahuang/RelValSamples/CMSSW_12_4_0_pre3/27a95851-6358-485b-b15b-619f3404d795.root'
process.source = cms.Source(
"PoolSource",
#fileNames = cms.untracked.vstring('file:/uscms_data/d3/dildick/work/HadronicShowerTrigger/CMSSW_11_3_0_pre3/src/TSG-Run3Winter20GS-00040.root'),
fileNames = cms.untracked.vstring(inputFile)
)
nEvents = 10
process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(nEvents) )
process.TFileService = cms.Service("TFileService",
fileName = cms.string("out_gemcscana.root")
)
## global tag for upgrade studies
from Configuration.AlCa.GlobalTag import GlobalTag
#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2021_realistic', '')
process.GlobalTag = GlobalTag(process.GlobalTag, '123X_mcRun3_2021_realistic_v14', '')
### Run-3 patterns with CCLUT, with ILT
#process.simCscTriggerPrimitiveDigisRun3CCLUTILT = process.simCscTriggerPrimitiveDigis.clone()
#process.simCscTriggerPrimitiveDigisRun3CCLUTILT.commonParam.runCCLUT = cms.bool(True)
#process.simCscTriggerPrimitiveDigisRun3CCLUTILT.commonParam.runCCLUT_OTMB = cms.bool(True)
#process.simCscTriggerPrimitiveDigisRun3CCLUTILT.commonParam.runCCLUT_TMB = cms.bool(True)
#process.simCscTriggerPrimitiveDigisRun3CCLUTILT.commonParam.runME11ILT = True
#process.simCscTriggerPrimitiveDigisRun3CCLUTILT.commonParam.GEMPadDigiClusterProducer = cms.InputTag("simMuonGEMPadDigiClusters")
#process.simEmtfDigisRun3CCLUTILT = process.simEmtfDigis.clone()
#process.simEmtfDigisRun3CCLUTILT.CSCInput = cms.InputTag(
# 'simCscTriggerPrimitiveDigisRun3CCLUTILT','MPCSORTED',process._Process__name)
## Run-3 patterns with CCLUT, without ILT
process.simCscTriggerPrimitiveDigisRun3CCLUT = process.simCscTriggerPrimitiveDigis.clone()
process.simCscTriggerPrimitiveDigisRun3CCLUT.commonParam.runCCLUT = cms.bool(True)
process.simCscTriggerPrimitiveDigisRun3CCLUT.commonParam.runCCLUT_OTMB = cms.bool(True)
process.simCscTriggerPrimitiveDigisRun3CCLUT.commonParam.runCCLUT_TMB = cms.bool(True)
process.simCscTriggerPrimitiveDigisRun3CCLUT.commonParam.runME11ILT = False
process.simCscTriggerPrimitiveDigisRun3CCLUT.commonParam.GEMPadDigiClusterProducer = cms.InputTag("")
process.simEmtfDigisRun3CCLUT = process.simEmtfDigis.clone()
process.simEmtfDigisRun3CCLUT.CSCInput = cms.InputTag(
'simCscTriggerPrimitiveDigisRun3CCLUT','MPCSORTED',process._Process__name)
# the analyzer configuration
from GEMCode.GEMValidation.simTrackMatching_cfi import simTrackPSet
process.GEMCSCAnalyzer = cms.EDAnalyzer(
"GEMCSCAnalyzer",
simTrackPSet,
runSim = cms.bool(True),
runDigi = cms.bool(True),
runStub = cms.bool(True),
runL1 = cms.bool(True),
runReco = cms.bool(False),
useGEMs = cms.bool(True),
verbose = cms.untracked.int32(1),
minNHitsChamberGEMSimHit = cms.int32(1),
minNHitsChamberCSCSimHit = cms.int32(3),
minNHitsChamberCSCDigi = cms.int32(4),
minNHitsChamberGEMDigi = cms.int32(1),
minNHitsChamberCSCStub = cms.int32(3),
)
ana = process.GEMCSCAnalyzer
#ana.genParticle.pdgIds = cms.vint32(6000113, -6000113)
ana.genParticle.stableParticle = False
ana.genParticle.verbose = 1
ana.genParticle.run = False
ana.simTrack.minEta = 0.9
ana.simTrack.maxEta = 2.4
ana.simTrack.minPt = 2
ana.simTrack.pdgIds = cms.vint32(13, -13)
ana.gemSimHit.verbose = 0
ana.gemStripDigi.verbose = 0
ana.gemStripDigi.matchDeltaStrip = 2
ana.gemPadDigi.verbose = 0
ana.gemCoPadDigi.verbose = 0
ana.gemPadCluster.verbose = 0
ana.cscComparatorDigi.verbose = 0
ana.cscWireDigi.verbose = 0
ana.cscALCT.verbose = 0
ana.cscCLCT.verbose = 0
ana.cscLCT.verbose = 0
ana.cscLCT.addGhostLCTs = cms.bool(True)
ana.gemStripDigi.run = cms.bool(True)
ana.gemPadDigi.run = cms.bool(True)
ana.gemPadCluster.run = cms.bool(True)
ana.gemCoPadDigi.run = cms.bool(True)
ana.emtfTrack.run = cms.bool(True)
ana.emtfTrack.verbose = 0
print("emtfPset ", ana.emtfTrack)
from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
phase2_muon.toModify(ana, l1Track = dict(run = cms.bool(False) ) )
phase2_muon.toModify(ana, l1TkMuon = dict(run = cms.bool(False) ) )
#from GEMCode.GEMValidation.cscTriggerCustoms import addAnalysisRun3
#process = addAnalysisRun3(process)
useUnpacked = False
'''
## disable most
ana.cscALCT.run = False
ana.cscCLCT.run = False
ana.cscLCT.run = False
ana.cscMPLCT.run = False
ana.emtfTrack.run = False
ana.emtfCand.run = False
ana.muon.run = False
'''
if useUnpacked:
ana.gemStripDigi.inputTag = "muonGEMDigis"
ana.muon.inputTag = cms.InputTag("gmtStage2Digis","Muon")
ana.gemStripDigi.matchToSimLink = False
process.GEMCSCAnalyzerRun3CCLUT = process.GEMCSCAnalyzer.clone()
processName = process._Process__name
anaCCLUT = process.GEMCSCAnalyzerRun3CCLUT
anaCCLUT.cscALCT.inputTag = cms.InputTag("simCscTriggerPrimitiveDigisRun3CCLUT","",processName)
anaCCLUT.cscCLCT.inputTag = cms.InputTag("simCscTriggerPrimitiveDigisRun3CCLUT","",processName)
anaCCLUT.cscLCT.inputTag = cms.InputTag("simCscTriggerPrimitiveDigisRun3CCLUT","",processName)
anaCCLUT.cscMPLCT.inputTag = cms.InputTag("simCscTriggerPrimitiveDigisRun3CCLUT","MPCSORTED",processName)
anaCCLUT.emtfTrack.inputTag = cms.InputTag("simEmtfDigisRun3CCLUT","",processName)
process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
## redefine the L1-step
process.SimL1Emulator = cms.Sequence(
process.simMuonGEMPadDigis *
process.simMuonGEMPadDigiClusters *
#process.simCscTriggerPrimitiveDigis *
#process.simCscTriggerPrimitiveDigisILT *
process.simCscTriggerPrimitiveDigisRun3CCLUT *
#process.simCscTriggerPrimitiveDigisRun3CCLUTILT *
#process.simEmtfDigis *
#process.simEmtfDigisILT *
process.simEmtfDigisRun3CCLUT
#process.simEmtfDigisRun3CCLUTILT
)
process.Analysis = cms.Sequence(
process.GEMCSCAnalyzer *
process.GEMCSCAnalyzerRun3CCLUT
)
process.p = cms.Path(
process.SimL1Emulator *
process.Analysis
#ana
#process.GEMCSCAnalyzer
)
## messages
print
#print 'Input files:'
print('----------------------------------------')
print(process.source.fileNames)
print('Output file:')
print('----------------------------------------')
print(process.TFileService.fileName)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment