File indexing completed on 2023-03-17 10:44:25
0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003 from PhysicsTools.PatAlgos.patInputFiles_cff import filesRelValTTbarPileUpGENSIMRECO
0004 import FWCore.ParameterSet.VarParsing as VarParsing
0005 from CalibTracker.SiStripCommon.shallowTree_test_template import *
0006
0007
0008 def alterTriggersForUnitTest(process):
0009
0010 '''
0011 These modification as necessary only in order to run on a
0012 RelVal MC in which the physics menu is not simulated!
0013 '''
0014 if(hasattr(process,'AAGFilter')):
0015 process.AAGFilter.triggerConditions = ["HLT_Random_v*"]
0016 if(hasattr(process,'IsolatedMuonFilter')):
0017 process.IsolatedMuonFilter.triggerConditions = ["MC_IsoMu_v*"]
0018
0019 return process
0020
0021
0022
0023
0024 options = VarParsing.VarParsing()
0025
0026 options.register('conditionGT',
0027 "auto:phase1_2017_realistic",
0028 VarParsing.VarParsing.multiplicity.singleton,
0029 VarParsing.VarParsing.varType.string,
0030 "condition global tag for the job (\"auto:phase1_2017_realistic\" is default)")
0031
0032 options.register('conditionOverwrite',
0033 "",
0034 VarParsing.VarParsing.multiplicity.singleton,
0035 VarParsing.VarParsing.varType.string,
0036 "configuration to overwrite the condition into the GT (\"\" is default)")
0037
0038 options.register('inputCollection',
0039 "generalTracks",
0040 VarParsing.VarParsing.multiplicity.singleton,
0041 VarParsing.VarParsing.varType.string,
0042 "collections to be used for input (\"generalTracks\" is default)")
0043
0044 options.register('inputFiles',
0045 filesRelValTTbarPileUpGENSIMRECO,
0046 VarParsing.VarParsing.multiplicity.list,
0047 VarParsing.VarParsing.varType.string,
0048 "file to process")
0049
0050 options.register('outputFile',
0051 "calibTreeTest.root",
0052 VarParsing.VarParsing.multiplicity.singleton,
0053 VarParsing.VarParsing.varType.string,
0054 "name for the output root file (\"calibTreeTest.root\" is default)")
0055
0056 options.register('maxEvents',
0057 -1,
0058 VarParsing.VarParsing.multiplicity.singleton,
0059 VarParsing.VarParsing.varType.int,
0060 "number of events to process (\"-1\" for all)")
0061
0062 options.register('unitTest',
0063 False,
0064 VarParsing.VarParsing.multiplicity.singleton,
0065 VarParsing.VarParsing.varType.bool,
0066 "is for unit test?")
0067
0068 options.parseArguments()
0069
0070 print("conditionGT : ", options.conditionGT)
0071 print("conditionOverwrite: ", options.conditionOverwrite)
0072 print("inputCollection : ", options.inputCollection)
0073 print("maxEvents : ", options.maxEvents)
0074 print("outputFile : ", options.outputFile)
0075 print("inputFiles : ", options.inputFiles)
0076
0077 process = cms.Process('CALIB')
0078
0079 process.load('CalibTracker.Configuration.setupCalibrationTree_cff')
0080 process.load('CalibTracker.SiStripCommon.ShallowEventDataProducer_cfi')
0081
0082 process.load('Configuration.StandardSequences.MagneticField_cff')
0083 process.load('Configuration.Geometry.GeometryRecoDB_cff')
0084 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0085 process.load('CalibTracker.SiStripCommon.ShallowEventDataProducer_cfi')
0086
0087 from Configuration.AlCa.GlobalTag import GlobalTag
0088 process.GlobalTag = GlobalTag(process.GlobalTag, options.conditionGT, options.conditionOverwrite)
0089
0090 process.load('FWCore.MessageService.MessageLogger_cfi')
0091 if(options.unitTest):
0092 process.MessageLogger.cerr.FwkReport.reportEvery = 1
0093 else:
0094 process.MessageLogger.cerr.FwkReport.reportEvery = 100
0095
0096 process.load('Configuration.StandardSequences.Services_cff')
0097 process.add_( cms.Service( "TFileService",
0098 fileName = cms.string( options.outputFile ),
0099 closeFileFast = cms.untracked.bool(True) ) )
0100
0101 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(options.maxEvents) )
0102
0103
0104 process.source = cms.Source (
0105 "PoolSource",
0106 fileNames = cms.untracked.vstring(options.inputFiles[0])
0107 )
0108
0109
0110 process.CalibrationTracks.src = cms.InputTag( options.inputCollection )
0111 process.shallowTracks.Tracks = cms.InputTag( options.inputCollection )
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123 compressionSettings = 201
0124 process.EventInfo = cms.EDAnalyzer("ShallowTree",
0125 CompressionSettings = process.gainCalibrationTreeStdBunch.CompressionSettings,
0126 outputCommands = cms.untracked.vstring('drop *',
0127 'keep *_shallowEventRun_*_*',
0128 )
0129 )
0130
0131 process.gainCalibrationTreeStdBunch.CompressionSettings = cms.untracked.int32(compressionSettings)
0132 process.gainCalibrationTreeStdBunch0T.CompressionSettings = cms.untracked.int32(compressionSettings)
0133 process.gainCalibrationTreeIsoMuon.CompressionSettings = cms.untracked.int32(compressionSettings)
0134 process.gainCalibrationTreeIsoMuon0T.CompressionSettings = cms.untracked.int32(compressionSettings)
0135 process.gainCalibrationTreeAagBunch.CompressionSettings = cms.untracked.int32(compressionSettings)
0136 process.gainCalibrationTreeAagBunch0T.CompressionSettings = cms.untracked.int32(compressionSettings)
0137
0138
0139
0140
0141
0142
0143 if(options.unitTest):
0144 alterTriggersForUnitTest(process)
0145
0146 process.TkCalPath_StdBunch = cms.Path(process.TkCalSeq_StdBunch*process.shallowEventRun*process.EventInfo)
0147 process.TkCalPath_StdBunch0T = cms.Path(process.TkCalSeq_StdBunch0T*process.shallowEventRun*process.EventInfo)
0148 process.TkCalPath_IsoMuon = cms.Path(process.TkCalSeq_IsoMuon*process.shallowEventRun*process.EventInfo)
0149 process.TkCalPath_IsoMuon0T = cms.Path(process.TkCalSeq_IsoMuon0T*process.shallowEventRun*process.EventInfo)
0150 process.TkCalPath_AagBunch = cms.Path(process.TkCalSeq_AagBunch*process.shallowEventRun*process.EventInfo)
0151 process.TkCalPath_AagBunch0T = cms.Path(process.TkCalSeq_AagBunch0T*process.shallowEventRun*process.EventInfo)
0152
0153 process.schedule = cms.Schedule( process.TkCalPath_StdBunch,
0154 process.TkCalPath_StdBunch0T,
0155 process.TkCalPath_IsoMuon,
0156 process.TkCalPath_IsoMuon0T,
0157 process.TkCalPath_AagBunch,
0158 process.TkCalPath_AagBunch0T,
0159 )
0160
0161 process.options = cms.untracked.PSet(
0162
0163 Rethrow = cms.untracked.vstring('OtherCMS',
0164 'StdException',
0165 'Unknown',
0166 'BadAlloc',
0167 'BadExceptionType',
0168 'ProductNotFound',
0169 'DictionaryNotFound',
0170 'InsertFailure',
0171 'Configuration',
0172 'LogicError',
0173 'UnimplementedFeature',
0174 'InvalidReference',
0175 'NullPointerError',
0176 'NoProductSpecified',
0177 'EventTimeout',
0178 'EventCorruption',
0179 'ScheduleExecutionFailure',
0180 'EventProcessorFailure',
0181 'FileInPathError',
0182 'FileOpenError',
0183 'FileReadError',
0184 'FatalRootError',
0185 'MismatchedInputFiles',
0186 'ProductDoesNotSupportViews',
0187 'ProductDoesNotSupportPtr',
0188 'NotFound')
0189 )
0190
0191 process.Timing = cms.Service("Timing",
0192 summaryOnly = cms.untracked.bool(True),
0193 useJobReport = cms.untracked.bool(True)
0194 )
0195
0196 '''
0197 if(options.unitTest):
0198 process.SimpleMemoryCheck = cms.Service("SimpleMemoryCheck",
0199 ignoreTotal = cms.untracked.int32(1),
0200 moduleMemorySummary = cms.untracked.bool(True)
0201 )
0202 '''
0203
0204
0205 process.options.numberOfThreads=cms.untracked.uint32(4)
0206 process.options.numberOfStreams=cms.untracked.uint32(0)
0207