File indexing completed on 2024-04-06 11:59:46
0001
0002
0003
0004
0005
0006 import FWCore.ParameterSet.Config as cms
0007 from FWCore.ParameterSet.VarParsing import VarParsing
0008
0009 options = VarParsing("analysis")
0010 options.register("globalTag", "auto:run3_data_express", VarParsing.multiplicity.singleton, VarParsing.varType.string, "Global tag (express, to check the homogeneity of the calibration range)")
0011 options.register("outputDbFile", "sqlite_file:promptCalibConditions.db", VarParsing.multiplicity.singleton, VarParsing.varType.string, "Connection string of output database")
0012 options.register("fitMethod", "Legacy", VarParsing.multiplicity.singleton, VarParsing.varType.string, "Fit strategy (Legacy, DDRng, DDRngAllConv, or DDRngConvExceptTOBL5L6")
0013 options.register("DQMOutput", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, "Produce DQM output")
0014 options.parseArguments()
0015
0016 process = cms.Process('ALCAHARVEST')
0017
0018
0019 process.load('Configuration.StandardSequences.Services_cff')
0020 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0021 process.load('FWCore.MessageService.MessageLogger_cfi')
0022 process.load('Configuration.EventContent.EventContent_cff')
0023 process.load('Configuration.StandardSequences.AlCaHarvesting_cff')
0024 process.load('Configuration.Geometry.GeometryRecoDB_cff')
0025 process.load('Configuration.StandardSequences.MagneticField_cff')
0026 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0027
0028 process.maxEvents = cms.untracked.PSet(
0029 input = cms.untracked.int32(-1)
0030 )
0031
0032
0033 process.source = cms.Source("PoolSource",
0034 secondaryFileNames = cms.untracked.vstring(),
0035 fileNames = cms.untracked.vstring(options.inputFiles),
0036 processingMode = cms.untracked.string('RunsAndLumis')
0037 )
0038
0039
0040 process.options = cms.untracked.PSet(
0041 Rethrow = cms.untracked.vstring('ProductNotFound'),
0042 fileMode = cms.untracked.string('FULLMERGE')
0043 )
0044
0045
0046 process.configurationMetadata = cms.untracked.PSet(
0047 version = cms.untracked.string('$Revision: 1.381.2.28 $'),
0048 annotation = cms.untracked.string('step4 nevts:-1'),
0049 name = cms.untracked.string('PyReleaseValidation')
0050 )
0051
0052
0053 process.load("Configuration.StandardSequences.DQMSaverAtJobEnd_cff")
0054
0055
0056 process.load("FWCore.Services.InitRootHandlers_cfi")
0057 process.InitRootHandlers.ResetRootErrHandler = cms.untracked.bool(False)
0058
0059
0060
0061
0062 process.PoolDBOutputService.toPut.append(process.ALCAHARVESTSiStripGains_dbOutput)
0063 process.pclMetadataWriter.recordsToMap.append(process.ALCAHARVESTSiStripGains_metadata)
0064 from Configuration.AlCa.GlobalTag import GlobalTag
0065 process.GlobalTag = GlobalTag(process.GlobalTag, options.globalTag, '')
0066
0067 process.PoolDBOutputService.connect = cms.string(options.outputDbFile)
0068
0069
0070 process.ALCAHARVESTDQMSaveAndMetadataWriter = cms.Path(process.dqmSaver+process.pclMetadataWriter)
0071 process.SiStripGains = cms.Path(process.ALCAHARVESTSiStripGains)
0072
0073 process.dqmSaver.saveAtJobEnd = cms.untracked.bool(options.DQMOutput)
0074
0075 if options.outputFile:
0076 process.alcaSiStripGainsHarvester.StoreGainsTree = cms.untracked.bool(True)
0077 process.TFileService = cms.Service("TFileService", fileName = cms.string(options.outputFile))
0078
0079 process.alcaSiStripGainsHarvester.GoodFracForTagProd = cms.untracked.double(.95)
0080 process.alcaSiStripGainsHarvester.NClustersForTagProd = cms.untracked.double(2.e8)
0081 if options.fitMethod == "Legacy":
0082 process.alcaSiStripGainsHarvester.FitDataDrivenRange = cms.untracked.bool(False)
0083 process.alcaSiStripGainsHarvester.FitGaussianConvolution = cms.untracked.bool(False)
0084 process.alcaSiStripGainsHarvester.FitGaussianConvolutionTOBL5L6 = cms.untracked.bool(False)
0085 elif options.fitMethod == "DDRng":
0086 process.alcaSiStripGainsHarvester.FitDataDrivenRange = cms.untracked.bool(True)
0087 process.alcaSiStripGainsHarvester.FitGaussianConvolution = cms.untracked.bool(False)
0088 process.alcaSiStripGainsHarvester.FitGaussianConvolutionTOBL5L6 = cms.untracked.bool(False)
0089 elif options.fitMethod == "DDRngAllConv":
0090 process.alcaSiStripGainsHarvester.FitDataDrivenRange = cms.untracked.bool(True)
0091 process.alcaSiStripGainsHarvester.FitGaussianConvolution = cms.untracked.bool(True)
0092 process.alcaSiStripGainsHarvester.FitGaussianConvolutionTOBL5L6 = cms.untracked.bool(True)
0093 elif options.fitMethod == "DDRngConvExceptTOBL5L6":
0094 process.alcaSiStripGainsHarvester.FitDataDrivenRange = cms.untracked.bool(True)
0095 process.alcaSiStripGainsHarvester.FitGaussianConvolution = cms.untracked.bool(True)
0096 process.alcaSiStripGainsHarvester.FitGaussianConvolutionTOBL5L6 = cms.untracked.bool(False)
0097 else:
0098 raise RuntimeError("Unknown fit method: {0}".format(options.fitMethod))
0099
0100
0101 process.schedule = cms.Schedule(process.SiStripGains,
0102 process.ALCAHARVESTDQMSaveAndMetadataWriter)
0103
0104