Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-03-13 02:31:27

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