Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-06-13 03:23:09

0001 import os
0002 
0003 import FWCore.ParameterSet.Config as cms
0004 
0005 ##
0006 ## Setup command line options
0007 ##
0008 import FWCore.ParameterSet.VarParsing as VarParsing
0009 import sys
0010 options = VarParsing.VarParsing ('standard')
0011 options.register('iteration', 0, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Iteration number")
0012 options.register('workingArea', None, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Working folder")
0013 options.register('measName', None, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Folder in which to store results")
0014 options.register('isBaseline', False, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.bool, "Set baseline")
0015 
0016 # get and parse the command line arguments
0017 options.parseArguments()
0018 
0019 # don't write the payload in this case as none was produced
0020 if options.isBaseline:
0021     sys.exit(0)
0022 
0023 ##
0024 ## Process definition
0025 ##
0026 process = cms.Process("APE")
0027 # we need conditions
0028 
0029 #;;;;;;;;;;;;;;;new line;;;;;;;;;;;;;;;
0030 process.load("Configuration.StandardSequences.Services_cff")
0031 process.load("Configuration.StandardSequences.MagneticField_cff")
0032 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0033 from Configuration.AlCa.GlobalTag import GlobalTag
0034 
0035 process.load("Configuration.Geometry.GeometryRecoDB_cff")
0036 
0037 # does not matter
0038 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2018_design', '')
0039 
0040 # Alignment producer
0041 process.load("Alignment.CommonAlignmentProducer.AlignmentProducer_cff")
0042 from Alignment.CommonAlignmentAlgorithm.ApeSettingAlgorithm_cfi import *
0043 process.AlignmentProducer.algoConfig = ApeSettingAlgorithm
0044 process.AlignmentProducer.saveApeToDB = True
0045 process.AlignmentProducer.algoConfig.readApeFromASCII = True
0046 process.AlignmentProducer.algoConfig.setComposites = False
0047 process.AlignmentProducer.algoConfig.readLocalNotGlobal = True
0048 # CAVEAT: Input file name has to start with a Package name...
0049 process.AlignmentProducer.algoConfig.apeASCIIReadFile = os.path.join(options.workingArea,options.measName,'iter'+str(options.iteration),'allData_apeOutput.txt')
0050 process.AlignmentProducer.algoConfig.saveApeToASCII = False
0051 process.AlignmentProducer.algoConfig.saveComposites = False
0052 process.AlignmentProducer.algoConfig.apeASCIISaveFile = 'myLocalDump.txt'
0053         
0054 # to be refined...
0055 process.MessageLogger = cms.Service("MessageLogger",
0056     statistics = cms.untracked.vstring('cout', 'alignment'),
0057     categories = cms.untracked.vstring('Alignment'),
0058     cout = cms.untracked.PSet(
0059         threshold = cms.untracked.string('WARNING'),
0060         noLineBreaks = cms.untracked.bool(True)
0061     ),
0062     alignment = cms.untracked.PSet(
0063         INFO = cms.untracked.PSet(
0064             limit = cms.untracked.int32(0)
0065         ),
0066         noLineBreaks = cms.untracked.bool(True),
0067         DEBUG = cms.untracked.PSet(
0068             limit = cms.untracked.int32(0)
0069         ),
0070         WARNING = cms.untracked.PSet(
0071             limit = cms.untracked.int32(0)
0072         ),
0073         ERROR = cms.untracked.PSet(
0074             limit = cms.untracked.int32(0)
0075         ),
0076         threshold = cms.untracked.string('INFO'),
0077         Alignment = cms.untracked.PSet(
0078             limit = cms.untracked.int32(-1)
0079         )
0080     ),
0081     destinations = cms.untracked.vstring('cout',  ## .log automatically
0082         'alignment')
0083 )
0084 
0085 process.source = cms.Source("EmptySource")
0086 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1) )
0087 
0088 # write APE to .db file to be loaded in the next iteration
0089 from CondCore.CondDB.CondDB_cfi import *
0090 CondDBAlignmentError = CondDB.clone(connect = cms.string('sqlite_file:'+ os.path.join(options.workingArea,options.measName,'apeObjects','apeIter'+str(options.iteration)+'.db')))
0091 process.PoolDBOutputService = cms.Service(
0092     "PoolDBOutputService",
0093     CondDBAlignmentError,
0094     timetype = cms.untracked.string('runnumber'),
0095     toPut = cms.VPSet(
0096         cms.PSet(
0097         record = cms.string('TrackerAlignmentErrorExtendedRcd'),
0098             tag = cms.string('APEs')
0099         )
0100     )
0101 )