Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-04-17 02:41:45

0001 import os
0002 
0003 import FWCore.ParameterSet.Config as cms
0004 
0005 
0006 
0007 ##
0008 ## Setup command line options
0009 ##
0010 import FWCore.ParameterSet.VarParsing as VarParsing
0011 import sys
0012 options = VarParsing.VarParsing ('standard')
0013 options.register('iterNumber', 0, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Iteration number")
0014 options.register('setBaseline', False, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.bool, "Set baseline")
0015 options.register('measurementName', "workingArea", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Folder in which to store results")
0016 options.register('baselineName', "Design", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "Folder in which baseline-trees are found or stored")
0017 
0018 # get and parse the command line arguments
0019 options.parseArguments()
0020 
0021 print("Iteration number: ", options.iterNumber)
0022 print("Set baseline: ", options.setBaseline)
0023 
0024 
0025 
0026 ##
0027 ## Process definition
0028 ##
0029 process = cms.Process("ApeEstimatorSummary")
0030 
0031 
0032 
0033 ##
0034 ## Message Logger
0035 ##
0036 process.load("FWCore.MessageService.MessageLogger_cfi")
0037 process.MessageLogger.CalculateAPE=dict()
0038 process.MessageLogger.cerr.INFO.limit = 0
0039 process.MessageLogger.cerr.default.limit = 0
0040 process.MessageLogger.cerr.CalculateAPE = cms.untracked.PSet(limit = cms.untracked.int32(-1))
0041 process.MessageLogger.cerr.FwkReport.reportEvery = 1000 ## really show only every 1000th
0042 
0043 
0044 
0045 ##
0046 ## Process options
0047 ##
0048 process.options = cms.untracked.PSet(
0049     wantSummary = cms.untracked.bool(True),
0050 )
0051 
0052 
0053 
0054 ##
0055 ## Input Files
0056 ##
0057 process.source = cms.Source("EmptySource",
0058                     numberEventsInRun = cms.untracked.uint32(1),
0059                     firstRun = cms.untracked.uint32(246994)
0060                     )
0061 
0062 
0063 
0064 ##
0065 ## Number of Events
0066 ##
0067 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1) )
0068 
0069 ### To get default APEs from GT
0070 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0071 from Configuration.AlCa.GlobalTag import GlobalTag
0072 from CondCore.CondDB.CondDB_cfi import *
0073 
0074 
0075 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2018_design', '')
0076 
0077 # Load a certain APE payload to write into allData_defaultApe.root 
0078 CondDBAlignmentError = CondDB.clone(connect = cms.string('frontier://FrontierProd/CMS_CONDITIONS'))
0079 process.myTrackerAlignmentErr = cms.ESSource("PoolDBESSource",
0080     CondDBAlignmentError,
0081     toGet = cms.VPSet(
0082         cms.PSet(
0083             record = cms.string('TrackerAlignmentErrorExtendedRcd'),
0084             tag = cms.string('TrackerAlignmentExtendedErr_2009_v2_express_IOVs')
0085         )
0086     )
0087 )
0088 process.es_prefer_trackerAlignmentErr = cms.ESPrefer("PoolDBESSource","myTrackerAlignmentErr")
0089 
0090 
0091 ##
0092 ## ApeEstimatorSummary
0093 ##
0094 from Alignment.APEEstimation.ApeEstimatorSummary_cff import *
0095 process.ApeEstimatorSummarySequence = cms.Sequence()
0096 if options.setBaseline:
0097   process.ApeEstimatorSummary1 = ApeEstimatorSummaryBaseline.clone(
0098     # baseline will be set
0099     BaselineFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_baselineApe.root',
0100     DefaultFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_defaultApe.root',
0101     InputFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData.root',
0102     ResultsFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_resultsFile.root',
0103   )
0104   process.ApeEstimatorSummary2 = ApeEstimatorSummaryIter.clone(
0105     BaselineFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_baselineApe.root',
0106     InputFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData.root',
0107     ResultsFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_resultsFile.root',
0108     # files are not in use in baseline mode
0109     IterationFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_iterationApe.root',
0110     DefaultFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_defaultApe.root',
0111     ApeOutputFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_apeOutput.txt',
0112   )
0113   process.ApeEstimatorSummarySequence *= process.ApeEstimatorSummary1
0114   process.ApeEstimatorSummarySequence *= process.ApeEstimatorSummary2
0115 else:
0116   process.ApeEstimatorSummary1 = ApeEstimatorSummaryIter.clone(
0117     # keep the same for all jobs
0118     BaselineFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.baselineName+'/baseline/allData_baselineApe.root',
0119     # keep the first one on misaligned geometry for iterations on same geometry (or better use copy of it)
0120     IterationFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.measurementName+'/iter'+str(options.iterNumber)+'/allData_iterationApe.root',
0121     # change iteration number for these
0122     InputFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.measurementName+'/iter'+str(options.iterNumber)+'/allData.root',
0123     ResultsFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.measurementName+'/iter'+str(options.iterNumber)+'/allData_resultsFile.root',
0124     ApeOutputFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.measurementName+'/iter'+str(options.iterNumber)+'/allData_apeOutput.txt',
0125     DefaultFile = os.environ['CMSSW_BASE'] + '/src/Alignment/APEEstimation/hists/'+options.measurementName+'/iter'+str(options.iterNumber)+'/allData_defaultApe.root',
0126   )
0127   process.ApeEstimatorSummarySequence *= process.ApeEstimatorSummary1
0128 
0129 
0130 
0131 ##
0132 ## Path
0133 ##
0134 process.p = cms.Path(
0135     process.ApeEstimatorSummarySequence
0136 )
0137 
0138 
0139 
0140 
0141 
0142