Skip to content

Instantly share code, notes, and snippets.

@artlbv
Created January 30, 2024 10:15
Show Gist options
  • Save artlbv/244d1b3b09a5192ca2561ceeaf9b32a6 to your computer and use it in GitHub Desktop.
Save artlbv/244d1b3b09a5192ca2561ceeaf9b32a6 to your computer and use it in GitHub Desktop.
cmsRun config to produce Nano with L1 info and use HLT filter in 130X
# Auto generated configuration file
# using:
# Revision: 1.19
# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v
# with command line options: NANOwL1 -s NANO --data --conditions 130X_dataRun3_Prompt_v4 --era Run3 --eventcontent NANOAOD --datatier NANOAOD --customise_commands=process.add_(cms.Service('InitRootHandlers', EnableIMT = cms.untracked.bool(False)));process.MessageLogger.cerr.FwkReport.reportEvery=1000 -n -1 --no_exec --customise PhysicsTools/NanoAOD/nano_cff.nanoL1TrigObjCustomizeFull --nStreams 2 --nThreads 8 --number 1000 --python nano_v12_data.py
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Era_Run3_cff import Run3
process = cms.Process('NANO',Run3)
# import of standard configurations
process.load('Configuration.StandardSequences.Services_cff')
process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
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('PhysicsTools.NanoAOD.nano_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(-1),
output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
)
# Input source
process.source = cms.Source("PoolSource",
fileNames = cms.untracked.vstring(
#'/store/data/Run2023D/EphemeralHLTPhysics1/MINIAOD/PromptReco-v1/000/370/293/00000/81741c89-15c6-46f2-a65d-10e11077bf71.root'
'/store/data/Run2023D/Muon0/MINIAOD/PromptReco-v1/000/370/497/00000/c57e13ec-d08e-4148-948d-58b61d3e41de.root',
),
secondaryFileNames = cms.untracked.vstring()
)
process.options = cms.untracked.PSet(
IgnoreCompletely = cms.untracked.vstring(),
Rethrow = cms.untracked.vstring(),
TryToContinue = cms.untracked.vstring(),
accelerators = cms.untracked.vstring('*'),
allowUnscheduled = cms.obsolete.untracked.bool,
canDeleteEarly = cms.untracked.vstring(),
deleteNonConsumedUnscheduledModules = cms.untracked.bool(True),
dumpOptions = cms.untracked.bool(False),
emptyRunLumiMode = cms.obsolete.untracked.string,
eventSetup = cms.untracked.PSet(
forceNumberOfConcurrentIOVs = cms.untracked.PSet(
allowAnyLabel_=cms.required.untracked.uint32
),
numberOfConcurrentIOVs = cms.untracked.uint32(0)
),
fileMode = cms.untracked.string('FULLMERGE'),
forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False),
holdsReferencesToDeleteEarly = cms.untracked.VPSet(),
makeTriggerResults = cms.obsolete.untracked.bool,
modulesToCallForTryToContinue = cms.untracked.vstring(),
modulesToIgnoreForDeleteEarly = cms.untracked.vstring(),
numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0),
numberOfConcurrentRuns = cms.untracked.uint32(1),
numberOfStreams = cms.untracked.uint32(0),
numberOfThreads = cms.untracked.uint32(1),
printDependencies = cms.untracked.bool(False),
sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
throwIfIllegalParameter = cms.untracked.bool(True),
wantSummary = cms.untracked.bool(False)
)
# Production Info
process.configurationMetadata = cms.untracked.PSet(
annotation = cms.untracked.string('NANOwL1 nevts:1000'),
name = cms.untracked.string('Applications'),
version = cms.untracked.string('$Revision: 1.19 $')
)
# Output definition
process.NANOAODoutput = cms.OutputModule("NanoAODOutputModule",
compressionAlgorithm = cms.untracked.string('LZMA'),
compressionLevel = cms.untracked.int32(9),
dataset = cms.untracked.PSet(
dataTier = cms.untracked.string('NANOAOD'),
filterName = cms.untracked.string('')
),
fileName = cms.untracked.string('NANOwL1_NANO_wFilter.root'),
fakeNameForCrab = cms.untracked.bool(True),
outputCommands = process.NANOAODEventContent.outputCommands
)
# Additional output definition
# Other statements
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, '130X_dataRun3_Prompt_v4', '')
## HLT FILTER
import HLTrigger.HLTfilters.hltHighLevel_cfi
process.skimHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone()
process.skimHLTFilter.throw=cms.bool(False) # otherwise will throw if it cant match to a hlt path, depends on whether you want to silently ignore unmatched paths
process.skimHLTFilter.HLTPaths = cms.vstring("HLT_Mu8_v*") # the * allows us to match all version, you could also other wild card expressions
#process.nanoAOD_step.insert(0,process.skimHLTFilter)
# process.nanoSequence.insert(0,process.skimHLTFilter)
process.HLTskim_step = cms.Path(process.skimHLTFilter)
# Path and EndPath definitions
process.nanoAOD_step = cms.Path(process.nanoSequence)
process.endjob_step = cms.EndPath(process.endOfProcess)
process.NANOAODoutput_step = cms.EndPath(process.NANOAODoutput)
# Schedule definition
process.schedule = cms.Schedule(process.HLTskim_step, process.nanoAOD_step,process.endjob_step,process.NANOAODoutput_step)
from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
associatePatAlgosToolsTask(process)
#Setup FWK for multithreaded
#process.options.numberOfThreads = 8
#process.options.numberOfStreams = 2
# customisation of the process.
# Automatic addition of the customisation function from PhysicsTools.NanoAOD.nano_cff
from PhysicsTools.NanoAOD.nano_cff import nanoAOD_customizeCommon,nanoL1TrigObjCustomizeFull
#call to customisation function nanoAOD_customizeCommon imported from PhysicsTools.NanoAOD.nano_cff
process = nanoAOD_customizeCommon(process)
#call to customisation function nanoL1TrigObjCustomizeFull imported from PhysicsTools.NanoAOD.nano_cff
process = nanoL1TrigObjCustomizeFull(process)
# End of customisation functions
process.nanoAOD_step.insert(0,process.skimHLTFilter)
# Customisation from command line
process.add_(cms.Service('InitRootHandlers', EnableIMT = cms.untracked.bool(False)));process.MessageLogger.cerr.FwkReport.reportEvery=1000
# Add early deletion of temporary data products to reduce peak memory need
from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
process = customiseEarlyDelete(process)
# End adding early deletion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment