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