Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
import FWCore.ParameterSet.Config as cms

process = cms.Process("TEST")

process.options.numberOfThreads = 1
process.options.numberOfStreams = 0
process.options.wantSummary = True
process.maxEvents.input = 100

process.source = cms.Source('EmptySource')

process.datasets = cms.PSet( 
    TestDatasetX = cms.vstring(
        'HLT_TestPathA_v1',
        'HLT_TestPathB_v1'
    ),
    TestDatasetY = cms.vstring(
        'HLT_TestPathC_v1'
    )
)

process.PrescaleService = cms.Service( "PrescaleService",
    lvl1Labels = cms.vstring(
        "PSColumn0",
        "PSColumn1"
    ),
    lvl1DefaultLabel = cms.string( "PSColumn0" ),
    forceDefault = cms.bool( False ),
    prescaleTable = cms.VPSet(
        cms.PSet(
            pathName = cms.string( "HLT_TestPathA_v1" ),
            prescales = cms.vuint32( 1, 5 )
        ),
        cms.PSet(
            pathName = cms.string( "HLT_TestPathB_v1" ),
            prescales = cms.vuint32( 2, 5 )
        ),
        cms.PSet(
            pathName = cms.string( "HLT_TestPathC_v1" ),
            prescales = cms.vuint32( 1, 5 )
        ),
        cms.PSet(
            pathName = cms.string( "Dataset_TestDatasetY" ),
            prescales = cms.vuint32( 4, 1 )
        )
    )
)

process.hltPSetMap = cms.EDProducer( "ParameterSetBlobProducer" )

process.hltBoolFalse = cms.EDFilter( "HLTBool",
    result = cms.bool( False )
)

process.hltBoolEnd = cms.EDFilter( "HLTBool",
    result = cms.bool( True )
)

process.hltTriggerSummaryAOD = cms.EDProducer( "TriggerSummaryProducerAOD",
    throw = cms.bool( False ),
    processName = cms.string( "@" ),
    moduleLabelPatternsToMatch = cms.vstring( 'hlt*' ),
    moduleLabelPatternsToSkip = cms.vstring(  )
)

process.hltTriggerSummaryRAW = cms.EDProducer( "TriggerSummaryProducerRAW",
    processName = cms.string( "@" )
)

process.hltHLTriggerJSONMonitoring = cms.EDAnalyzer( "HLTriggerJSONMonitoring",
    triggerResults = cms.InputTag( 'TriggerResults::@currentProcess' )
)

process.hltDatasetTestDatasetX = cms.EDFilter( "TriggerResultsFilter",
    usePathStatus = cms.bool( True ),
    hltResults = cms.InputTag( "" ),
    l1tResults = cms.InputTag( "" ),
    l1tIgnoreMaskAndPrescale = cms.bool( False ),
    throw = cms.bool( True ),
    triggerConditions = cms.vstring(
      'HLT_TestPathA_v1 / 5',
      'HLT_TestPathB_v1 / 3'
    )
)

process.hltPreDatasetTestDatasetX = cms.EDFilter( "HLTPrescaler",
    offset = cms.uint32( 0 ),
    L1GtReadoutRecordTag = cms.InputTag( "" )
)

process.hltDatasetTestDatasetY = cms.EDFilter( "TriggerResultsFilter",
    usePathStatus = cms.bool( True ),
    hltResults = cms.InputTag( "" ),
    l1tResults = cms.InputTag( "" ),
    l1tIgnoreMaskAndPrescale = cms.bool( False ),
    throw = cms.bool( True ),
    triggerConditions = cms.vstring(
      'HLT_TestPathC_v1 / 10'
    )
)

process.hltPreDatasetTestDatasetY = cms.EDFilter( "HLTPrescaler",
    offset = cms.uint32( 0 ),
    L1GtReadoutRecordTag = cms.InputTag( "" )
)

process.hltPreTestPathA = cms.EDFilter( "HLTPrescaler",
    offset = cms.uint32( 0 ),
    L1GtReadoutRecordTag = cms.InputTag( "" )
)

process.hltPreTestPathB = cms.EDFilter( "HLTPrescaler",
    offset = cms.uint32( 0 ),
    L1GtReadoutRecordTag = cms.InputTag( "" )
)

process.hltPreTestPathC = cms.EDFilter( "HLTPrescaler",
    offset = cms.uint32( 0 ),
    L1GtReadoutRecordTag = cms.InputTag( "" )
)

process.HLTDatasetPathBeginSequence = cms.Sequence( )

process.HLTBeginSequence = cms.Sequence( )

process.HLTEndSequence = cms.Sequence( process.hltBoolEnd )

process.HLTriggerFirstPath = cms.Path( process.hltPSetMap + process.hltBoolFalse )

process.HLT_TestPathA_v1 = cms.Path( process.HLTBeginSequence + process.hltPreTestPathA + process.HLTEndSequence )

process.HLT_TestPathB_v1 = cms.Path( process.HLTBeginSequence + process.hltPreTestPathB + process.HLTEndSequence )

process.HLT_TestPathC_v1 = cms.Path( process.HLTBeginSequence + process.hltPreTestPathC + process.HLTEndSequence )

process.HLTriggerFinalPath = cms.Path( process.hltTriggerSummaryAOD + process.hltTriggerSummaryRAW + process.hltBoolFalse )

process.RatesMonitoring = cms.EndPath( process.hltHLTriggerJSONMonitoring )

process.Dataset_TestDatasetX = cms.Path( process.HLTDatasetPathBeginSequence + process.hltDatasetTestDatasetX + process.hltPreDatasetTestDatasetX )

process.Dataset_TestDatasetY = cms.Path( process.HLTDatasetPathBeginSequence + process.hltDatasetTestDatasetY + process.hltPreDatasetTestDatasetY )

process.schedule = cms.Schedule(
    process.HLTriggerFirstPath,
    process.HLT_TestPathA_v1,
    process.HLT_TestPathB_v1,
    process.HLT_TestPathC_v1,
    process.HLTriggerFinalPath,
    process.RatesMonitoring,
    process.Dataset_TestDatasetX,
    process.Dataset_TestDatasetY
)