phase2_tracker.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([siPixelRawData ])) # FIXME # GEM settings _gem_DigiToRawTask = DigiToRawTask.copy() _gem_DigiToRawTask.add(gemPacker) from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith(DigiToRawTask, _gem_DigiToRawTask) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM from Configuration.Eras.Modifier_phase2_GEM_cff import phase2_GEM (run3_GEM & ~phase2_GEM).toReplaceWith(DigiToRawTask, _gem_DigiToRawTask) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([rpcpacker])) from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith( DigiToRawTask, DigiToRawTask.copyAndExclude( [siPixelRawData, SiStripDigiToRaw, castorRawData, ctppsRawData])) from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel phase2_ecal_devel.toReplaceWith( DigiToRawTask, DigiToRawTask.copyAndExclude( [L1TDigiToRawTask, ecalPacker, esDigiToRaw, cscpacker]))
# Selective Readout Processor producer from SimCalorimetry.EcalSelectiveReadoutProducers.ecalDigis_cfi import * # Preshower Zero suppression producer from SimCalorimetry.EcalZeroSuppressionProducers.ecalPreshowerDigis_cfi import * # simEcalUnsuppressedDigis is now done inside mixing module ecalDigiTask = cms.Task(simEcalTriggerPrimitiveDigis, simEcalDigis, simEcalPreshowerDigis) ecalDigiSequence = cms.Sequence(ecalDigiTask) # This is extra, since the configuration skips it anyway. Belts and suspenders. from Configuration.ProcessModifiers.premix_stage1_cff import premix_stage1 premix_stage1.toReplaceWith(ecalDigiTask, ecalDigiTask.copyAndExclude([simEcalPreshowerDigis])) from SimCalorimetry.EcalEBTrigPrimProducers.ecalEBTriggerPrimitiveDigis_cff import * _phase2_ecalDigiTask = ecalDigiTask.copy() _phase2_ecalDigiTask.add(simEcalEBTriggerPrimitiveDigis) from Configuration.Eras.Modifier_phase2_common_cff import phase2_common phase2_common.toReplaceWith(ecalDigiTask,_phase2_ecalDigiTask) from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel _phase2_ecalDigiTask_devel = cms.Task() phase2_ecal_devel.toReplaceWith(ecalDigiTask,_phase2_ecalDigiTask_devel) #phase 2 ecal def _modifyEcalForPh2( process ): process.load("SimCalorimetry.EcalSimProducers.esEcalLiteDTUPedestalsProducer_cfi") process.load("SimCalorimetry.EcalSimProducers.esCATIAGainProducer_cfi") modifyDigi_Phase2EcalPed = phase2_ecal_devel.makeProcessModifier(_modifyEcalForPh2)
from SimCalorimetry.EcalSimProducers.ecalCosmicsSim_cff import * ecalDigitizer = cms.PSet(ecal_digi_parameters, apd_sim_parameters, ecal_electronics_sim, ecal_cosmics_sim, ecal_sim_parameter_map, ecal_notCont_sim, es_electronics_sim, hitsProducer=cms.string('g4SimHits'), accumulatorType=cms.string("EcalDigiProducer"), makeDigiSimLinks=cms.untracked.bool(False)) from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toModify(ecalDigitizer, hitsProducer="fastSimProducer") ecalDigitizer.doEB = cms.bool(True) ecalDigitizer.doEE = cms.bool(True) ecalDigitizer.doES = cms.bool(True) from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal phase2_hgcal.toModify(ecalDigitizer, doEE=cms.bool(False)) from Configuration.Eras.Modifier_phase2_common_cff import phase2_common phase2_common.toModify(ecalDigitizer, doES=cms.bool(False)) #phase 2 digitization from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel from SimGeneral.MixingModule.ecalDigitizer_Ph2_cfi import ecalDigitizer_Ph2 as _ecalDigitizer_Ph2 phase2_ecal_devel.toReplaceWith(ecalDigitizer, _ecalDigitizer_Ph2)
# ECAL local reconstruction globalPrevalidationECAL = cms.Sequence() globalPrevalidationECALOnly = cms.Sequence(baseCommonPreValidation + globalPrevalidationECAL) globalValidationECAL = cms.Sequence(ecalSimHitsValidationSequence + ecalDigisValidationSequence + ecalRecHitsValidationSequence + ecalClustersValidationSequence) globalValidationECALOnly = cms.Sequence(ecalSimHitsValidationSequence + ecalDigisValidationSequence + ecalRecHitsValidationSequence + pfClusterCaloOnlyValidationSequence) from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel phase2_ecal_devel.toReplaceWith(ecalRecHitsValidationSequence, ecalRecHitsValidationSequencePhase2) # HCAL local reconstruction globalPrevalidationHCAL = cms.Sequence() globalPrevalidationHCALOnly = cms.Sequence(baseCommonPreValidation + globalPrevalidationHCAL) hcalRecHitsOnlyValidationSequence = hcalRecHitsValidationSequence.copyAndExclude( [NoiseRatesValidation]) globalValidationHCAL = cms.Sequence(hcalSimHitsValidationSequence + hcaldigisValidationSequence + hcalSimHitStudy) globalValidationHCALOnly = cms.Sequence(hcalSimHitsValidationSequence +
pixeltrackerlocalrecoTask, offlineBeamSpotTask, siPixelClusterShapeCachePreSplitting, recopixelvertexingTask) reconstruction_pixelTrackingOnly = cms.Sequence( reconstruction_pixelTrackingOnlyTask) reconstruction_ecalOnlyTask = cms.Task(bunchSpacingProducer, offlineBeamSpot, ecalOnlyLocalRecoTask, pfClusteringPSTask, pfClusteringECALTask, particleFlowSuperClusterECALOnly) reconstruction_ecalOnly = cms.Sequence(reconstruction_ecalOnlyTask) from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel phase2_ecal_devel.toReplaceWith( reconstruction_ecalOnlyTask, reconstruction_ecalOnlyTask.copyAndExclude([ pfClusteringPSTask, pfClusteringECALTask, particleFlowSuperClusterECALOnly ])) reconstruction_hcalOnlyTask = cms.Task(bunchSpacingProducer, offlineBeamSpot, hcalOnlyLocalRecoTask, hcalOnlyGlobalRecoTask, pfClusteringHBHEHFOnlyTask) reconstruction_hcalOnly = cms.Sequence(reconstruction_hcalOnlyTask) #need a fully expanded sequence copy modulesToRemove = list() # copy does not work well noTrackingAndDependent = list() noTrackingAndDependent.append(siPixelClustersPreSplitting) noTrackingAndDependent.append(siStripZeroSuppression)
ecalLocalRecoTask = cms.Task(ecalUncalibRecHitTask, ecalRecHitTask) ecalLocalRecoSequence = cms.Sequence(ecalLocalRecoTask) ecalOnlyLocalRecoTask = cms.Task(ecalUncalibRecHitTask, ecalRecHitNoTPTask) ecalOnlyLocalRecoSequence = cms.Sequence(ecalOnlyLocalRecoTask) # Phase 2 modifications from RecoLocalCalo.EcalRecProducers.ecalDetailedTimeRecHit_cfi import * _phase2_timing_ecalRecHitTask = cms.Task(ecalRecHitTask.copy(), ecalDetailedTimeRecHit) from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing phase2_timing.toReplaceWith(ecalRecHitTask, _phase2_timing_ecalRecHitTask) from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel from RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitPhase2_cff import * phase2_ecal_devel.toReplaceWith(ecalUncalibRecHitTask, ecalUncalibRecHitPhase2Task) phase2_ecal_devel.toReplaceWith( ecalRecHitNoTPTask, ecalRecHitNoTPTask.copyAndExclude([ecalPreshowerRecHit])) # FastSim modifications _fastSim_ecalRecHitTask = ecalRecHitTask.copyAndExclude( [ecalCompactTrigPrim, ecalTPSkim]) _fastSim_ecalUncalibRecHitTask = ecalUncalibRecHitTask.copyAndExclude( [ecalDetIdToBeRecovered]) from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith(ecalRecHitTask, _fastSim_ecalRecHitTask) fastSim.toReplaceWith(ecalUncalibRecHitTask, _fastSim_ecalUncalibRecHitTask)
from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([castorRawData])) #if we don't have hcal raw data from Configuration.Eras.Modifier_hcalSkipPacker_cff import hcalSkipPacker hcalSkipPacker.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([hcalRawDataTask])) # Remove siPixelRawData until we have phase1 pixel digis from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([siPixelRawData])) # FIXME # GEM settings _gem_DigiToRawTask = DigiToRawTask.copy() _gem_DigiToRawTask.add(gemPacker) from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith(DigiToRawTask, _gem_DigiToRawTask) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(DigiToRawTask, _gem_DigiToRawTask) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([rpcpacker])) from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([siPixelRawData,SiStripDigiToRaw,castorRawData,ctppsRawData])) from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel phase2_ecal_devel.toReplaceWith(DigiToRawTask, DigiToRawTask.copyAndExclude([esDigiToRaw]))
DQMOfflineL1TEgamma = cms.Sequence(l1TriggerEgDqmOffline) DQMOfflineL1TMuon = cms.Sequence(l1TriggerMuonDqmOffline) DQMOfflineL1TPhase2 = cms.Sequence(Phase2l1TriggerDqmOffline) #DPGs DQMOfflineEcalOnly = cms.Sequence(ecalOnly_dqm_source_offline + es_dqm_source_offline) DQMOfflineEcal = cms.Sequence(ecal_dqm_source_offline + es_dqm_source_offline) from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel phase2_ecal_devel.toReplaceWith( DQMOfflineEcalOnly, DQMOfflineEcalOnly.copyAndExclude([es_dqm_source_offline])) #offline version of the online DQM: used in validation/certification DQMOfflineHcal = cms.Sequence(hcalOfflineSourceSequence) # offline DQM: used in Release validation DQMOfflineHcal2 = cms.Sequence(HcalDQMOfflineSequence) DQMOfflineHcalOnly = cms.Sequence(hcalOnlyOfflineSourceSequence) DQMOfflineHcal2Only = cms.Sequence(RecHitsDQMOffline) DQMOfflineTrackerStrip = cms.Sequence(SiStripDQMTier0) DQMOfflineTrackerPixel = cms.Sequence(siPixelOfflineDQM_source)