Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
import FWCore.ParameterSet.Config as cms

# Start with Standard Digitization:

from SimCalorimetry.Configuration.SimCalorimetry_cff import *
from SimMuon.Configuration.SimMuon_cff import *

from SimGeneral.PreMixingModule.mixOne_premix_on_sim_cfi import *

# Run after the DataMixer only.
#
# Calorimetry Digis (Ecal + Hcal) - * unsuppressed *
# 
#
# clone these sequences:

DMEcalTriggerPrimitiveDigis = simEcalTriggerPrimitiveDigis.clone()
DMEcalEBTriggerPrimitiveDigis = simEcalEBTriggerPrimitiveDigis.clone()
DMEcalDigis = simEcalDigis.clone()
DMEcalPreshowerDigis = simEcalPreshowerDigis.clone()

# Re-define inputs to point at DataMixer output
DMEcalTriggerPrimitiveDigis.Label = cms.string('mixData')
DMEcalTriggerPrimitiveDigis.InstanceEB = cms.string('')
DMEcalTriggerPrimitiveDigis.InstanceEE = cms.string('')
#
DMEcalEBTriggerPrimitiveDigis.barrelEcalDigis = 'mixData'
#
DMEcalDigis.digiProducer = cms.string('mixData')
DMEcalDigis.EBdigiCollection = cms.string('')
DMEcalDigis.EEdigiCollection = cms.string('')
DMEcalDigis.trigPrimProducer = cms.string('DMEcalTriggerPrimitiveDigis')
#
DMEcalPreshowerDigis.digiProducer = cms.string('mixData')
#DMEcalPreshowerDigis.ESdigiCollection = cms.string('ESDigiCollectionDM')

ecalDigiTaskDM = cms.Task(DMEcalTriggerPrimitiveDigis, DMEcalDigis, DMEcalPreshowerDigis)
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
_phase2_ecalDigiTaskDM = ecalDigiTaskDM.copy()
_phase2_ecalDigiTaskDM.add(DMEcalEBTriggerPrimitiveDigis)
phase2_common.toReplaceWith(ecalDigiTaskDM, _phase2_ecalDigiTaskDM)

# same for Hcal:

# clone these sequences:

DMHcalTriggerPrimitiveDigis = simHcalTriggerPrimitiveDigis.clone()
DMHcalDigis = simHcalDigis.clone()
DMHcalTTPDigis = simHcalTTPDigis.clone()

# Re-define inputs to point at DataMixer output
DMHcalTriggerPrimitiveDigis.inputLabel = cms.VInputTag(cms.InputTag('mixData'),cms.InputTag('mixData'))
DMHcalTriggerPrimitiveDigis.inputUpgradeLabel = cms.VInputTag(cms.InputTag('mixData:HBHEQIE11DigiCollection'),cms.InputTag('mixData:HFQIE10DigiCollection'))
DMHcalDigis.digiLabel = cms.string('mixData')
DMHcalTTPDigis.HFDigiCollection = cms.InputTag("mixData")

hcalDigiTaskDM = cms.Task(DMHcalTriggerPrimitiveDigis, DMHcalDigis, DMHcalTTPDigis)

postDMDigi = cms.Task(ecalDigiTaskDM, hcalDigiTaskDM, muonDigiTask)

# disable adding noise to HCAL cells with no MC signal
#mixData.doEmpty = False

#
# TrackingParticle Producer is now part of the mixing module, so
# it is no longer run here.
#
from SimGeneral.PileupInformation.AddPileupSummary_cfi import *


pdatamixTask = cms.Task(mixData, postDMDigi, addPileupInfo)
pdatamix = cms.Sequence(pdatamixTask)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
def _fastSimDigis(process):
    # pretend these digis have been through digi2raw and raw2digi, by using the approprate aliases
    # use an alias to make the mixed track collection available under the usual label
    from FastSimulation.Configuration.DigiAliases_cff import loadDigiAliases
    loadDigiAliases(process, premix=True)
modifyDataMixerPreMix_fastSimDigis = fastSim.makeProcessModifier(_fastSimDigis)