File indexing completed on 2024-07-12 02:41:52
0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as VarParsing
0003 import sys
0004
0005 options = VarParsing.VarParsing ('analysis')
0006
0007 options.register ("numOrbits",
0008 -1,
0009 VarParsing.VarParsing.multiplicity.singleton,
0010 VarParsing.VarParsing.varType.int,
0011 "Number of orbits/events to process")
0012
0013 options.register ("inFile",
0014 "file:",
0015 VarParsing.VarParsing.multiplicity.singleton,
0016 VarParsing.VarParsing.varType.string,
0017 "Path to the input file")
0018
0019 options.register ("outFile",
0020 "file:/tmp/out.root",
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.string,
0023 "Path of the output file")
0024
0025 options.register ("nThreads",
0026 4,
0027 VarParsing.VarParsing.multiplicity.singleton,
0028 VarParsing.VarParsing.varType.int,
0029 "Number of threads")
0030
0031 options.register ("nStreams",
0032 4,
0033 VarParsing.VarParsing.multiplicity.singleton,
0034 VarParsing.VarParsing.varType.int,
0035 "Number of streams")
0036
0037 options.register ("debug",
0038 False,
0039 VarParsing.VarParsing.multiplicity.singleton,
0040 VarParsing.VarParsing.varType.bool,
0041 "Run in debug mode")
0042
0043 options.parseArguments()
0044
0045 process = cms.Process( "SCRATES" )
0046
0047 process.maxEvents = cms.untracked.PSet(
0048 input = cms.untracked.int32(options.numOrbits)
0049 )
0050
0051 process.load("FWCore.MessageService.MessageLogger_cfi")
0052 process.MessageLogger.cerr.threshold = "WARNING"
0053 process.MessageLogger.cerr.FwkReport.reportEvery = 100
0054
0055 process.Timing = cms.Service("Timing",
0056 summaryOnly = cms.untracked.bool(True),
0057 useJobReport = cms.untracked.bool(True)
0058 )
0059
0060 process.source = cms.Source("PoolSource",
0061 fileNames = cms.untracked.vstring(options.inFile)
0062 )
0063
0064 process.DijetEt30 = cms.EDProducer("JetBxSelector",
0065 jetsTag = cms.InputTag("l1ScCaloUnpacker", "Jet"),
0066 minNJet = cms.int32(2),
0067 minJetEt = cms.vdouble(30, 30),
0068 maxJetEta = cms.vdouble(99.9, 99.9)
0069 )
0070
0071 process.HMJetMult4Et20 = cms.EDProducer("JetBxSelector",
0072 jetsTag = cms.InputTag("l1ScCaloUnpacker", "Jet"),
0073 minNJet = cms.int32(4),
0074 minJetEt = cms.vdouble(20, 20, 20, 20),
0075 maxJetEta = cms.vdouble(99.9, 99.9, 99.9, 99.9),
0076 )
0077
0078 process.SingleMuPt0BMTF = cms.EDProducer("MuBxSelector",
0079 muonsTag = cms.InputTag("l1ScGmtUnpacker", "Muon"),
0080 minNMu = cms.int32(1),
0081 minMuPt = cms.vdouble(0.0),
0082 maxMuEta = cms.vdouble(99.9),
0083 minMuTfIndex = cms.vint32(36),
0084 maxMuTfIndex = cms.vint32(71),
0085 minMuHwQual = cms.vint32(0),
0086 )
0087
0088 process.DoubleMuPt0Qual8 = cms.EDProducer("MuBxSelector",
0089 muonsTag = cms.InputTag("l1ScGmtUnpacker", "Muon"),
0090 minNMu = cms.int32(2),
0091 minMuPt = cms.vdouble(0, 0),
0092 maxMuEta = cms.vdouble(99.9, 99.9),
0093 minMuTfIndex = cms.vint32(0, 0),
0094 maxMuTfIndex = cms.vint32(107, 107),
0095 minMuHwQual = cms.vint32(8, 8),
0096 )
0097
0098 process.MuTagJetEt30Dr0p4 = cms.EDProducer("MuTagJetBxSelector",
0099 muonsTag = cms.InputTag("l1ScGmtUnpacker", "Muon"),
0100 jetsTag = cms.InputTag("l1ScCaloUnpacker", "Jet"),
0101 minNJet = cms.int32(1),
0102 minJetEt = cms.vdouble(30),
0103 maxJetEta = cms.vdouble(99.9),
0104 minMuPt = cms.vdouble(0),
0105 maxMuEta = cms.vdouble(99.9),
0106 minMuTfIndex = cms.vint32(0),
0107 maxMuTfIndex = cms.vint32(107),
0108 minMuHwQual = cms.vint32(8),
0109 maxDR = cms.vdouble(0.4),
0110 )
0111
0112 process.FinalBxSelector = cms.EDFilter("FinalBxSelector",
0113 analysisLabels = cms.VInputTag(
0114 cms.InputTag("DijetEt30", "SelBx"),
0115 cms.InputTag("SingleMuPt0BMTF", "SelBx"),
0116 cms.InputTag("DoubleMuPt0Qual8", "SelBx"),
0117 cms.InputTag("HMJetMult4Et20", "SelBx"),
0118 cms.InputTag("MuTagJetEt30Dr0p4", "SelBx")
0119 ),
0120 )
0121
0122 process.bxSelectors = cms.Sequence(
0123 process.DijetEt30 +
0124 process.HMJetMult4Et20 +
0125 process.SingleMuPt0BMTF +
0126 process.DoubleMuPt0Qual8 +
0127 process.MuTagJetEt30Dr0p4
0128 )
0129
0130
0131 process.FinalBxSelectorMuon = cms.EDProducer("MaskOrbitBxScoutingMuon",
0132 dataTag = cms.InputTag("l1ScGmtUnpacker", "Muon"),
0133 selectBxs = cms.InputTag("FinalBxSelector", "SelBx"),
0134 productLabel = cms.string("Muon")
0135 )
0136
0137 process.FinalBxSelectorJet = cms.EDProducer("MaskOrbitBxScoutingJet",
0138 dataTag = cms.InputTag("l1ScCaloUnpacker", "Jet"),
0139 selectBxs = cms.InputTag("FinalBxSelector", "SelBx"),
0140 productLabel = cms.string("Jet")
0141 )
0142
0143 process.FinalBxSelectorEGamma = cms.EDProducer("MaskOrbitBxScoutingEGamma",
0144 dataTag = cms.InputTag("l1ScCaloUnpacker", "EGamma"),
0145 selectBxs = cms.InputTag("FinalBxSelector", "SelBx"),
0146 productLabel = cms.string("EGamma")
0147 )
0148
0149 process.FinalBxSelectorTau = cms.EDProducer("MaskOrbitBxScoutingTau",
0150 dataTag = cms.InputTag("l1ScCaloUnpacker", "Tau"),
0151 selectBxs = cms.InputTag("FinalBxSelector", "SelBx"),
0152 productLabel = cms.string("Tau")
0153 )
0154
0155 process.FinalBxSelectorBxSums = cms.EDProducer("MaskOrbitBxScoutingBxSums",
0156 dataTag = cms.InputTag("l1ScCaloUnpacker", "EtSum"),
0157 selectBxs = cms.InputTag("FinalBxSelector", "SelBx"),
0158 productLabel = cms.string("EtSum")
0159 )
0160
0161 process.MaskedCollections = cms.Sequence(
0162 process.FinalBxSelectorMuon +
0163 process.FinalBxSelectorJet +
0164 process.FinalBxSelectorEGamma +
0165 process.FinalBxSelectorTau +
0166 process.FinalBxSelectorBxSums
0167 )
0168
0169 process.pL1ScoutingSelected = cms.Path(process.bxSelectors + process.FinalBxSelector+process.MaskedCollections)
0170
0171 process.hltOutputL1ScoutingSelection = cms.OutputModule("PoolOutputModule",
0172 fileName = cms.untracked.string(options.outFile),
0173 SelectEvents = cms.untracked.PSet(
0174 SelectEvents = cms.vstring("pL1ScoutingSelected")
0175 ),
0176 outputCommands = cms.untracked.vstring(
0177 'drop *',
0178 'keep *_DijetEt30_*_*',
0179 'keep *_HMJetMult4Et20_*_*',
0180 'keep *_SingleMuPt0BMTF_*_*',
0181 'keep *_DoubleMuPt0Qual8_*_*',
0182 'keep *_MuTagJetEt30Dr0p4_*_*',
0183 'keep *_FinalBxSelector*_*_*',
0184 )
0185 )
0186
0187 process.options.numberOfThreads = options.nThreads
0188 process.options.numberOfStreams = options.nStreams
0189
0190
0191 C_LEVEL_UNDEFINED = -1
0192 C_ALGO_UNDEFINED = ""
0193 for moduleName in process.__dict__['_Process__outputmodules']:
0194 modified_module = getattr(process,moduleName)
0195 if -1 != C_LEVEL_UNDEFINED:
0196 modified_module.compression_level=cms.untracked.int32(-1)
0197 if "" != C_ALGO_UNDEFINED:
0198 modified_module.compression_algorithm=cms.untracked.string("")
0199
0200 process.options.numberOfThreads = options.nThreads
0201 process.options.numberOfStreams = options.nStreams
0202
0203 process.epL1ScoutingSelection = cms.EndPath(process.hltOutputL1ScoutingSelection)
0204 process.HLTSchedule = cms.Schedule(process.epL1ScoutingSelection)
0205