Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:38

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from Configuration.Eras.Era_Run3_cff import Run3
0004 process = cms.Process("Alignment", Run3)
0005 
0006 process.options = cms.untracked.PSet(
0007     Rethrow = cms.untracked.vstring("ProductNotFound") # do not accept this exception
0008     )
0009 
0010 ######################################################
0011 # initialize  MessageLogger
0012 ######################################################
0013 process.load("FWCore.MessageService.MessageLogger_cfi")
0014 process.MessageLogger.files.alignment = cms.untracked.PSet(
0015     DEBUG = cms.untracked.PSet(
0016         limit = cms.untracked.int32(-1)
0017         ),
0018     INFO = cms.untracked.PSet(
0019         limit = cms.untracked.int32(5),
0020         reportEvery = cms.untracked.int32(5)
0021         ),
0022     WARNING = cms.untracked.PSet(
0023         limit = cms.untracked.int32(10)
0024         ),
0025     ERROR = cms.untracked.PSet(
0026         limit = cms.untracked.int32(-1)
0027         ),
0028     Alignment = cms.untracked.PSet(
0029         limit = cms.untracked.int32(-1),
0030         reportEvery = cms.untracked.int32(1)
0031         ),
0032     enableStatistics = cms.untracked.bool(True)
0033     )
0034 
0035 ######################################################
0036 # Design GT (in order to fetch the design geometry)
0037 ######################################################
0038 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0039 from Configuration.AlCa.GlobalTag import GlobalTag
0040 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2024_design', '')  # take your favourite
0041 
0042 ######################################################
0043 # Starting alignment of the campaign
0044 ######################################################
0045 from CondCore.CondDB.CondDB_cfi import *
0046 CondDBConnection = CondDB.clone( connect = cms.string( 'sqlite_file:alignment_input.db' ) )
0047 process.trackerAlignment = cms.ESSource("PoolDBESSource",
0048                                         CondDBConnection,
0049                                         toGet = cms.VPSet(cms.PSet(record = cms.string("TrackerAlignmentRcd"),
0050                                                                    tag = cms.string("TrackerAlignment_PCL_byRun_v2_express_348155")
0051                                                                    )
0052                                         ))
0053 
0054 process.es_prefer_trackerAlignment = cms.ESPrefer("PoolDBESSource", "trackerAlignment")
0055 
0056 ######################################################
0057 # Alignment producer
0058 ######################################################
0059 process.load("Configuration.Geometry.GeometryRecoDB_cff")
0060 process.load("Alignment.CommonAlignmentProducer.AlignmentProducer_cff")
0061 
0062 ######################################################
0063 #
0064 # !!! This has to match the alignable selection
0065 #          of the pede configuration !!!
0066 #
0067 ######################################################
0068 from align_params_cff import _alignParams
0069 process.AlignmentProducer.ParameterBuilder.Selector = _alignParams
0070 
0071 ######################################################
0072 # Alignment Producer options
0073 ######################################################
0074 process.AlignmentProducer.doMisalignmentScenario = False #True
0075 process.AlignmentProducer.applyDbAlignment = True # either globalTag or trackerAlignment
0076 
0077 ######################################################
0078 # assign by reference (i.e. could change MillePedeAlignmentAlgorithm as well):
0079 ######################################################
0080 process.AlignmentProducer.algoConfig = process.MillePedeAlignmentAlgorithm
0081 process.AlignmentProducer.algoConfig.mode = 'pedeRead'     # reads millepede.res
0082 process.AlignmentProducer.algoConfig.pedeReader.readFile = 'millepede.res'
0083 process.AlignmentProducer.algoConfig.treeFile = 'my_treeFile.root'
0084 
0085 ######################################################
0086 # Source
0087 ######################################################
0088 process.source = cms.Source("EmptySource",
0089                             firstRun = cms.untracked.uint32(1) # choose your run!
0090                             )
0091 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1) )
0092 
0093 process.dump = cms.EDAnalyzer("EventContentAnalyzer")
0094 process.p = cms.Path(process.dump)
0095 
0096 # should not be needed, but is:
0097 # otherwise AlignmentProducer does not  call relevant algorithm part
0098 process.AlignmentProducer.saveToDB = True
0099 
0100 ######################################################
0101 # Output alignment payload from reading file
0102 ######################################################
0103 CondDBConnectionOut = CondDB.clone( connect = cms.string( 'sqlite_file:convertedFromResFile.db' ) )
0104 process.PoolDBOutputService = cms.Service("PoolDBOutputService",
0105                                           CondDBConnectionOut,
0106                                           timetype = cms.untracked.string('runnumber'),
0107                                           toPut = cms.VPSet(cms.PSet(record = cms.string('TrackerAlignmentRcd'),
0108                                                                      tag = cms.string('Alignments')
0109                                                                      )
0110                                                             )
0111                                           )