Skip to content

Instantly share code, notes, and snippets.

@artlbv
Created January 30, 2024 10:15
Show Gist options
  • Select an option

  • Save artlbv/244d1b3b09a5192ca2561ceeaf9b32a6 to your computer and use it in GitHub Desktop.

Select an option

Save artlbv/244d1b3b09a5192ca2561ceeaf9b32a6 to your computer and use it in GitHub Desktop.

Revisions

  1. artlbv created this gist Jan 30, 2024.
    140 changes: 140 additions & 0 deletions data_L1Nano_wHLTfilter_130X_cfg.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,140 @@
    # 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