Back to home page

Project CMSSW displayed by LXR

 
 

    


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 # Setup 'standard' options
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 #from CalibTracker.SiStripChannelGain.ntuple_cff import *
0078 process.load('CalibTracker.Configuration.setupCalibrationTree_cff')
0079 process.load('CalibTracker.SiStripCommon.ShallowEventDataProducer_cfi') #event Info
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') #event Info
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 #import runs
0103 process.source = cms.Source (
0104     "PoolSource",
0105     fileNames = cms.untracked.vstring(options.inputFiles[0])
0106     )
0107 
0108 #definition of input collection
0109 process.CalibrationTracks.src = cms.InputTag( options.inputCollection )
0110 process.shallowTracks.Tracks  = cms.InputTag( options.inputCollection )
0111 #process.shallowGainCalibrationAllBunch   = 'ALCARECOSiStripCalMinBias' #cms.InputTag( options.inputCollection )
0112 #process.shallowGainCalibrationAllBunch0T = 'ALCARECOSiStripCalMinBias' #cms.InputTag( options.inputCollection )
0113 
0114 # BSCNoBeamHalo selection (Not to use for Cosmic Runs) --- OUTDATED!!!
0115 ## process.load('L1TriggerConfig.L1GtConfigProducers.L1GtTriggerMaskTechTrigConfig_cff')
0116 ## process.load('HLTrigger/HLTfilters/hltLevel1GTSeed_cfi')
0117 
0118 ## process.L1T1=process.hltLevel1GTSeed.clone()
0119 ## process.L1T1.L1TechTriggerSeeding = cms.bool(True)
0120 ## process.L1T1.L1SeedsLogicalExpression = cms.string('(40 OR 41) AND NOT (36 OR 37 OR 38 OR 39)')
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 #process.TkCalPath = cms.Path(process.L1T1*process.TkCalFullSequence)
0138 
0139 ### if it is a unit test run, do not look for not existing triggers
0140 ### e.g. no AAG in MC
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     #wantSummary = cms.untracked.bool(True),
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 #Setup FWK for multithreaded
0204 process.options.numberOfThreads=cms.untracked.uint32(4)
0205 process.options.numberOfStreams=cms.untracked.uint32(0)
0206 #process.options.numberOfConcurrentLuminosityBlocks=cms.untracked.uint32(2)  ## not yet