Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-10-17 04:58:11

0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as opts
0003 import sys
0004 
0005 options = opts.VarParsing ('standard')
0006 
0007 options.register('MagField',
0008              None,
0009              opts.VarParsing.multiplicity.singleton,
0010              opts.VarParsing.varType.float,
0011              'Magnetic field value in Tesla')
0012 options.register('Year',
0013              None,
0014              opts.VarParsing.multiplicity.singleton,
0015              opts.VarParsing.varType.string,
0016              'Current year for versioning')
0017 options.register('Version',
0018              None,
0019              opts.VarParsing.multiplicity.singleton,
0020              opts.VarParsing.varType.string,
0021              'Template DB object version')
0022 options.register('Append',
0023              None,
0024              opts.VarParsing.multiplicity.singleton,
0025              opts.VarParsing.varType.string,
0026              'Any additional string to add to the filename, i.e. "bugfix", etc.')
0027 options.register('GlobalTag',
0028              'auto:run3_data',
0029              opts.VarParsing.multiplicity.singleton,
0030              opts.VarParsing.varType.string,
0031              'Global tag for this run')
0032 options.register('readFromGT',
0033                  False,
0034                  opts.VarParsing.multiplicity.singleton,
0035              opts.VarParsing.varType.bool,
0036              'read template from Global Tag')
0037 options.parseArguments()
0038 
0039 from Configuration.StandardSequences.Eras import eras
0040 process = cms.Process("SiPixelTemplateDBReaderTest",eras.Run3)
0041 
0042 #Load the correct Magnetic Field
0043 magfieldstrsplit = str(options.MagField).split('.')
0044 MagFieldString = magfieldstrsplit[0]
0045 if len(magfieldstrsplit)>1 :
0046     MagFieldString+=magfieldstrsplit[1]
0047 
0048 process.load("Configuration.StandardSequences.MagneticField_"+MagFieldString+"T_cff")
0049 
0050 if(not options.readFromGT):
0051         MagFieldValue = 10.*options.MagField #code needs it in deciTesla
0052         print('\nMagField = %f deciTesla \n'%(MagFieldValue))
0053         version = options.Version
0054         print('\nVersion = %s \n'%(version))
0055         template_base = 'SiPixelTemplateDBObject_'+MagFieldString+'T_'+options.Year+'_v'+version
0056         print("Testing sqlite file: "+template_base+".db")
0057         print("                tag: "+template_base)
0058 
0059 process.load("CondCore.CondDB.CondDB_cfi")
0060 process.load("FWCore.MessageService.MessageLogger_cfi")
0061 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0062 
0063 from Configuration.AlCa.GlobalTag import GlobalTag
0064 process.GlobalTag = GlobalTag(process.GlobalTag, options.GlobalTag, '')
0065 
0066 #Change to True if you would like a more detailed error output
0067 wantDetailedOutput = False
0068 #Change to True if you would like to output the full template database object
0069 wantFullOutput = False
0070 
0071 process.source = cms.Source("EmptySource",
0072                             firstRun = cms.untracked.uint32(386863)
0073                             )
0074 
0075 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1))
0076 
0077 # (optionally) load the template
0078 if not options.readFromGT:
0079         process.TemplateDBSource = cms.ESSource("PoolDBESSource",
0080                                             DBParameters = cms.PSet(
0081                                                     messageLevel = cms.untracked.int32(0),
0082                                                     authenticationPath = cms.untracked.string('')),
0083                                             toGet = cms.VPSet(cms.PSet(
0084                                                     record = cms.string('SiPixelTemplateDBObjectRcd'),
0085                                                     tag = cms.string(template_base))),
0086                                             connect = cms.string('sqlite_file:'+template_base+'.db'))
0087     
0088         process.prefer_TemplateDBSource = cms.ESPrefer("PoolDBESSource","TemplateDBSource")
0089 else:
0090         process.load("CalibTracker.SiPixelESProducers.SiPixelTemplateDBObjectESProducer_cfi")
0091         
0092 process.reader = cms.EDAnalyzer("SiPixelTemplateDBObjectReader",
0093                                 siPixelTemplateCalibrationLocation = cms.string("CalibTracker/SiPixelESProducers"),
0094                                 wantDetailedTemplateDBErrorOutput = cms.bool(wantDetailedOutput),
0095                                 wantFullTemplateDBOutput = cms.bool(wantFullOutput),
0096                                 TestGlobalTag = cms.bool(options.readFromGT)
0097                                 )
0098 
0099 process.myprint = cms.OutputModule("AsciiOutputModule")
0100 
0101 process.p = cms.Path(process.reader)