Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:38:22

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_express_trackingOnly(process):
0099     #start with a repeat of 2018
0100     customisePostEra_Run2_2018_express_trackingOnly(process)
0101     return process
0102 
0103 def customisePostEra_Run3_pp_on_PbPb_express_trackingOnly(process):
0104     #start with repeat of 2018
0105     customisePostEra_Run2_2018_pp_on_AA_express_trackingOnly(process)
0106     return process
0107 
0108 def customisePostEra_Run3_pp_on_PbPb(process):
0109     customisePostEra_Run3(process)
0110     return process
0111 
0112 def customisePostEra_Run3_pp_on_PbPb_2023(process):
0113     customisePostEra_Run3_2023(process)
0114     return process
0115 
0116 def customisePostEra_Run3_pp_on_PbPb_approxSiStripClusters(process):
0117     customisePostEra_Run3_pp_on_PbPb(process)
0118     return process
0119 
0120 def customisePostEra_Run3_pp_on_PbPb_approxSiStripClusters_2023(process):
0121     customisePostEra_Run3_pp_on_PbPb_2023(process)
0122     return process
0123 
0124 ##############################################################################
0125 def customisePPData(process):
0126     #deprecated process= customiseCommon(process)
0127     ##all customisation for data are now deprecated to Reconstruction_Data_cff
0128     #left as a place holder to alter production sequences in case of emergencies
0129     return process
0130 
0131 
0132 ##############################################################################
0133 def customisePPMC(process):
0134     #deprecated process=customiseCommon(process)
0135     #left as a place holder to alter production sequences in case of emergencies    
0136     return process
0137 
0138 ##############################################################################
0139 def customiseCosmicData(process):
0140     return process
0141 
0142 
0143 ##############################################################################
0144 def customiseCosmicMC(process):
0145     return process
0146         
0147 ##############################################################################
0148 def customiseVALSKIM(process):
0149     print("WARNING")
0150     print("this method is outdated, please use RecoTLR.customisePPData")
0151     process= customisePPData(process)
0152     return process
0153 
0154                 
0155 ##############################################################################
0156 def customiseExpress(process):
0157     process= customisePPData(process)
0158     process = _swapOfflineBSwithOnline(process)
0159     return process
0160 
0161 ##############################################################################
0162 def customisePrompt(process):
0163     process= customisePPData(process)
0164 
0165     return process
0166 
0167 ##############################################################################
0168 # Heavy Ions
0169 ##############################################################################
0170 # keep it in case modification is needed
0171 def customiseCommonHI(process):
0172     return process
0173 
0174 ##############################################################################
0175 def customiseExpressHI(process):
0176     process = customiseCommonHI(process)
0177     process = _swapOfflineBSwithOnline(process)
0178     
0179     return process
0180 
0181 ##############################################################################
0182 def customisePromptHI(process):
0183     process = customiseCommonHI(process)
0184 
0185     return process
0186 
0187 ##############################################################################
0188 ##############################################################################
0189 ##
0190 ##  ALL FUNCTIONS BELOW ARE GOING TO BE REMOVED IN 81X
0191 ##
0192 ##############################################################################
0193 ##############################################################################
0194 # this is supposed to be added on top of other (Run1) data customs
0195 def customiseDataRun2Common(process):
0196     from SLHCUpgradeSimulations.Configuration.muonCustoms import unganged_me1a_geometry,customise_csc_LocalReco
0197     process = unganged_me1a_geometry(process)
0198     process = customise_csc_LocalReco(process)
0199 
0200     if hasattr(process,'valCscTriggerPrimitiveDigis'):
0201         #this is not doing anything at the moment
0202         process.valCscTriggerPrimitiveDigis.commonParam.gangedME1a = cms.bool(False)
0203     if hasattr(process,'valCsctfTrackDigis'):
0204         process.valCsctfTrackDigis.gangedME1a = cms.untracked.bool(False)
0205 
0206     from SLHCUpgradeSimulations.Configuration.postLS1Customs import customise_Reco,customise_RawToDigi,customise_DQM
0207     if hasattr(process,'RawToDigi'):
0208         process=customise_RawToDigi(process)
0209     if hasattr(process,'reconstruction'):
0210         process=customise_Reco(process)
0211     if hasattr(process,'dqmoffline_step'):
0212         process=customise_DQM(process)
0213 
0214     return process
0215 
0216 # add stage1
0217 def customiseDataRun2Common_withStage1(process):
0218     process = customiseDataRun2Common(process)
0219 
0220     from L1Trigger.L1TCommon.customsPostLS1 import customiseL1RecoForStage1
0221     process=customiseL1RecoForStage1(process)
0222 
0223     return process 
0224 
0225 ##############################################################################
0226 # common+ "25ns" Use this for data daking starting from runs in 2015C (>= 253256 )
0227 def customiseDataRun2Common_25ns(process):
0228     process = customiseDataRun2Common_withStage1(process)
0229 
0230     from SLHCUpgradeSimulations.Configuration.postLS1Customs import customise_DQM_25ns
0231     if hasattr(process,'dqmoffline_step'):
0232         process=customise_DQM_25ns(process)
0233     return process
0234 
0235 # common+50ns. Needed only for runs >= 253000 if taken with 50ns
0236 def customiseDataRun2Common_50nsRunsAfter253000(process):
0237     process = customiseDataRun2Common_withStage1(process)
0238 
0239     process = _overridesFor50ns(process)
0240 
0241     return process
0242 
0243 ##############################################################################
0244 # keep it in case modification is needed
0245 def customiseRun2CommonHI(process):
0246     process = customiseDataRun2Common_withStage1(process)
0247     
0248     process = _overridesFor50ns(process)
0249     # HI Specific additional customizations:
0250     # from L1Trigger.L1TCommon.customsPostLS1 import customiseSimL1EmulatorForPostLS1_Additional_HI
0251     # process = customiseSimL1EmulatorForPostLS1_Additional_HI(process)
0252 
0253     return process