Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-13 05:06:43

0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003 
0004 ##############################################################################
0005 # common utilities
0006 ##############################################################################
0007 def _swapOfflineBSwithOnline(process):
0008     import RecoVertex.BeamSpotProducer.onlineBeamSpotESProducer_cfi as _mod
0009     process.BeamSpotESProducer = _mod.onlineBeamSpotESProducer.clone(
0010         timeThreshold = 999999 # for express allow >48h old payloads for replays. DO NOT CHANGE
0011     )
0012 
0013     from RecoVertex.BeamSpotProducer.BeamSpotOnline_cfi import onlineBeamSpotProducer
0014     process.offlineBeamSpot = onlineBeamSpotProducer.clone()
0015     return process
0016 
0017 def _overridesFor50ns(process):
0018     process.bunchSpacingProducer.bunchSpacingOverride = cms.uint32(50)
0019     process.bunchSpacingProducer.overrideBunchSpacing = cms.bool(True)
0020     
0021     return process
0022 
0023 ##############################################################################
0024 # post-era customizations
0025 # these are here instead of generating Data-specific eras
0026 ##############################################################################
0027 
0028 def customisePostEra_Run2_25ns(process):
0029     return process
0030 
0031 def customisePostEra_Run2_2016(process):
0032     return process
0033 
0034 def customisePostEra_Run2_2017(process):
0035     return process
0036 
0037 def customisePostEra_Run2_2017_express_trackingOnly(process):
0038     customisePostEra_Run2_2017(process)
0039     from Calibration.TkAlCaRecoProducers.PCLHPbeamspot_custom import customise_HPbeamspot as _customise_HPbeamspot
0040     _customise_HPbeamspot(process)
0041     return process
0042 
0043 def customisePostEra_Run2_2017_harvesting_trackingOnly(process):
0044     from Calibration.TkAlCaRecoProducers.PCLHPbeamspot_custom import customise_HPbeamspot as _customise_HPbeamspot
0045     _customise_HPbeamspot(process)
0046     return process
0047 
0048 def customisePostEra_Run2_2017_pp_on_XeXe(process):
0049     customisePostEra_Run2_2017(process)
0050     return process
0051 
0052 def customisePostEra_Run2_2017_ppRef(process):
0053     customisePostEra_Run2_2017(process)
0054     return process
0055 
0056 # 2018 equivalents
0057 def customisePostEra_Run2_2018(process):
0058     #start with a repeat of 2017
0059     customisePostEra_Run2_2017(process)
0060     return process
0061 
0062 def customisePostEra_Run2_2018_express_trackingOnly(process):
0063     #start with a repeat of 2017
0064     customisePostEra_Run2_2017_express_trackingOnly(process)
0065     return process
0066 
0067 def customisePostEra_Run2_2018_harvesting_trackingOnly(process):
0068     #start with a repeat of 2017
0069     customisePostEra_Run2_2017_harvesting_trackingOnly(process)
0070     return process
0071 
0072 def customise_HI_PostEra_Run2_2018(process):
0073     customisePostEra_Run2_2018(process)
0074     return process
0075 
0076 def customisePostEra_Run2_2018_pp_on_AA(process):
0077     customisePostEra_Run2_2018(process)
0078     return process
0079 
0080 def customisePostEra_Run2_2018_pp_on_AA_express_trackingOnly(process):
0081     customisePostEra_Run2_2018_express_trackingOnly(process)
0082     from DQM.TrackingMonitorSource.PPonAATrackingOnly_custom import customise_PPonAATrackingOnlyDQM as _customise_PPonAATrackingOnlyDQM
0083     _customise_PPonAATrackingOnlyDQM(process)
0084     return process
0085 
0086 # Run3 equivalents
0087 
0088 def customisePostEra_Run3(process):
0089     #start with a repeat of 2018
0090     customisePostEra_Run2_2018(process)
0091     return process
0092 
0093 def customisePostEra_Run3_2023(process):
0094     #start with a repeat of Run3
0095     customisePostEra_Run3(process)
0096     return process
0097 
0098 def customisePostEra_Run3_2024(process):
0099     #start with a repeat of 2023
0100     customisePostEra_Run3(process)
0101     return process
0102 
0103 def customisePostEra_Run3_express_trackingOnly(process):
0104     #start with a repeat of 2018
0105     customisePostEra_Run2_2018_express_trackingOnly(process)
0106     return process
0107 
0108 def customisePostEra_Run3_pp_on_PbPb_express_trackingOnly(process):
0109     #start with repeat of 2018
0110     customisePostEra_Run2_2018_pp_on_AA_express_trackingOnly(process)
0111     return process
0112 
0113 def customisePostEra_Run3_pp_on_PbPb(process):
0114     customisePostEra_Run3(process)
0115     return process
0116 
0117 def customisePostEra_Run3_pp_on_PbPb_2023(process):
0118     customisePostEra_Run3_2023(process)
0119     return process
0120 
0121 def customisePostEra_Run3_pp_on_PbPb_approxSiStripClusters(process):
0122     customisePostEra_Run3_pp_on_PbPb(process)
0123     return process
0124 
0125 def customisePostEra_Run3_pp_on_PbPb_approxSiStripClusters_2023(process):
0126     customisePostEra_Run3_pp_on_PbPb_2023(process)
0127     return process
0128 
0129 def customisePostEra_Run3_pp_on_PbPb_2024(process):
0130     customisePostEra_Run3_2024(process)
0131     return process
0132 
0133 def customisePostEra_Run3_pp_on_PbPb_approxSiStripClusters_2024(process):
0134     customisePostEra_Run3_pp_on_PbPb_2024(process)
0135     return process
0136 
0137 def customisePostEra_Run3_2024_UPC(process):
0138     customisePostEra_Run3_2024(process)
0139     return process
0140 
0141 def customisePostEra_Run3_2024_ppRef(process):
0142     customisePostEra_Run3_2024(process)
0143     return process
0144 
0145 ##############################################################################
0146 def customisePPData(process):
0147     #deprecated process= customiseCommon(process)
0148     ##all customisation for data are now deprecated to Reconstruction_Data_cff
0149     #left as a place holder to alter production sequences in case of emergencies
0150     return process
0151 
0152 
0153 ##############################################################################
0154 def customisePPMC(process):
0155     #deprecated process=customiseCommon(process)
0156     #left as a place holder to alter production sequences in case of emergencies    
0157     return process
0158 
0159 ##############################################################################
0160 def customiseCosmicData(process):
0161     return process
0162 
0163 
0164 ##############################################################################
0165 def customiseCosmicMC(process):
0166     return process
0167         
0168 ##############################################################################
0169 def customiseVALSKIM(process):
0170     print("WARNING")
0171     print("this method is outdated, please use RecoTLR.customisePPData")
0172     process= customisePPData(process)
0173     return process
0174 
0175                 
0176 ##############################################################################
0177 def customiseExpress(process):
0178     process= customisePPData(process)
0179     process = _swapOfflineBSwithOnline(process)
0180     return process
0181 
0182 ##############################################################################
0183 def customisePrompt(process):
0184     process= customisePPData(process)
0185 
0186     return process
0187 
0188 ##############################################################################
0189 # Heavy Ions
0190 ##############################################################################
0191 # keep it in case modification is needed
0192 def customiseCommonHI(process):
0193     return process
0194 
0195 ##############################################################################
0196 def customiseExpressHI(process):
0197     process = customiseCommonHI(process)
0198     process = _swapOfflineBSwithOnline(process)
0199     
0200     return process
0201 
0202 ##############################################################################
0203 def customisePromptHI(process):
0204     process = customiseCommonHI(process)
0205 
0206     return process
0207 
0208 ##############################################################################
0209 ##############################################################################
0210 ##
0211 ##  ALL FUNCTIONS BELOW ARE GOING TO BE REMOVED IN 81X
0212 ##
0213 ##############################################################################
0214 ##############################################################################
0215 # this is supposed to be added on top of other (Run1) data customs
0216 def customiseDataRun2Common(process):
0217     from SLHCUpgradeSimulations.Configuration.muonCustoms import unganged_me1a_geometry,customise_csc_LocalReco
0218     process = unganged_me1a_geometry(process)
0219     process = customise_csc_LocalReco(process)
0220 
0221     if hasattr(process,'valCscTriggerPrimitiveDigis'):
0222         #this is not doing anything at the moment
0223         process.valCscTriggerPrimitiveDigis.commonParam.gangedME1a = cms.bool(False)
0224     if hasattr(process,'valCsctfTrackDigis'):
0225         process.valCsctfTrackDigis.gangedME1a = cms.untracked.bool(False)
0226 
0227     from SLHCUpgradeSimulations.Configuration.postLS1Customs import customise_Reco,customise_RawToDigi,customise_DQM
0228     if hasattr(process,'RawToDigi'):
0229         process=customise_RawToDigi(process)
0230     if hasattr(process,'reconstruction'):
0231         process=customise_Reco(process)
0232     if hasattr(process,'dqmoffline_step'):
0233         process=customise_DQM(process)
0234 
0235     return process
0236 
0237 # add stage1
0238 def customiseDataRun2Common_withStage1(process):
0239     process = customiseDataRun2Common(process)
0240 
0241     from L1Trigger.L1TCommon.customsPostLS1 import customiseL1RecoForStage1
0242     process=customiseL1RecoForStage1(process)
0243 
0244     return process 
0245 
0246 ##############################################################################
0247 # common+ "25ns" Use this for data daking starting from runs in 2015C (>= 253256 )
0248 def customiseDataRun2Common_25ns(process):
0249     process = customiseDataRun2Common_withStage1(process)
0250 
0251     from SLHCUpgradeSimulations.Configuration.postLS1Customs import customise_DQM_25ns
0252     if hasattr(process,'dqmoffline_step'):
0253         process=customise_DQM_25ns(process)
0254     return process
0255 
0256 # common+50ns. Needed only for runs >= 253000 if taken with 50ns
0257 def customiseDataRun2Common_50nsRunsAfter253000(process):
0258     process = customiseDataRun2Common_withStage1(process)
0259 
0260     process = _overridesFor50ns(process)
0261 
0262     return process
0263 
0264 ##############################################################################
0265 # keep it in case modification is needed
0266 def customiseRun2CommonHI(process):
0267     process = customiseDataRun2Common_withStage1(process)
0268     
0269     process = _overridesFor50ns(process)
0270     # HI Specific additional customizations:
0271     # from L1Trigger.L1TCommon.customsPostLS1 import customiseSimL1EmulatorForPostLS1_Additional_HI
0272     # process = customiseSimL1EmulatorForPostLS1_Additional_HI(process)
0273 
0274     return process