CMS 3D CMS Logo

Digi_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 #
4 # Full-scale Digitization of the simulated hits
5 # in all CMS subdets : Tracker, ECAL, HCAl, Muon's;
6 # MixingModule (at least in zero-pileup mode) needs
7 # to be included to make Digi's operational, since
8 # it's required for ECAL/HCAL & Muon's
9 # Defined in a separate fragment
10 #
11 # Tracker Digis (Pixel + SiStrips) are now made in the mixing
12 # module, so the old "trDigi" sequence has been taken out.
13 #
14 
15 # Calorimetry Digis (Ecal + Hcal) - * unsuppressed *
16 # returns sequence "calDigi"
18 # Muon Digis (CSC + DT + RPC)
19 # returns sequence "muonDigi"
20 #
22 #
23 # TrackingParticle Producer is now part of the mixing module, so
24 # it is no longer run here.
25 #
27 
28 # add updating the GEN information by default
31 
32 doAllDigiTask = cms.Task(generatorSmeared, calDigiTask, muonDigiTask)
33 from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
34 # premixing stage2 runs muon digis after PreMixingModule (configured in DataMixerPreMix_cff)
35 premix_stage2.toReplaceWith(doAllDigiTask, doAllDigiTask.copyAndExclude([muonDigiTask]))
36 
37 pdigiTask_nogen = cms.Task(generatorSmeared, cms.TaskPlaceholder("randomEngineStateProducer"), cms.TaskPlaceholder("mix"), doAllDigiTask, addPileupInfo)
38 # premixing stage2 runs addPileupInfo after PreMixingModule (configured in DataMixerPreMix_cff)
39 premix_stage2.toReplaceWith(pdigiTask_nogen, pdigiTask_nogen.copyAndExclude([addPileupInfo]))
40 
41 pdigiTask = cms.Task(pdigiTask_nogen, fixGenInfoTask)
42 
43 doAllDigi = cms.Sequence(doAllDigiTask)
44 pdigi = cms.Sequence(pdigiTask)
45 pdigi_valid = cms.Sequence(pdigiTask)
46 pdigi_nogen=cms.Sequence(pdigiTask_nogen)
47 pdigi_valid_nogen=cms.Sequence(pdigiTask_nogen)
48 
50 pdigiTask_hi = cms.Task(pdigiTask, heavyIon)
51 pdigiTask_hi_nogen = cms.Task(pdigiTask_nogen, genJetMETTask, heavyIon)
52 pdigi_hi=cms.Sequence(pdigiTask_hi)
53 pdigi_hi_nogen=cms.Sequence(pdigiTask_hi_nogen)
54 
55 # define genPUProtons as an EDProducer only when not in premixing stage2 job
56 # in premixing stage2 genPUProtons is an EDAlias, defined in aliases_PreMix_cfi
58  process.load("SimGeneral.PileupInformation.genPUProtons_cfi")
59  process.pdigiTask_nogen.add(process.genPUProtons)
60 modifyDigi_premixStage2GenPUProtons = (~premix_stage2).makeProcessModifier(_premixStage2GenPUProtons)
61 
62 from Configuration.Eras.Modifier_fastSim_cff import fastSim
63 def _fastSimDigis(process):
64  import FastSimulation.Configuration.DigiAliases_cff as DigiAliases
65 
66  # pretend these digis have been through digi2raw and raw2digi, by using the approprate aliases
67  # use an alias to make the mixed track collection available under the usual label
68  from FastSimulation.Configuration.DigiAliases_cff import loadDigiAliases
69  loadDigiAliases(process)
70 # no need for the aliases for premixing stage1
71 modifyDigi_fastSimDigis = (fastSim & ~premix_stage1).makeProcessModifier(_fastSimDigis)
72 
73 #phase 2 common mods
74 def _modifyEnableHcalHardcode( theProcess ):
75  from CalibCalorimetry.HcalPlugins.Hcal_Conditions_forGlobalTag_cff import hcal_db_producer as _hcal_db_producer, es_hardcode as _es_hardcode, es_prefer_hcalHardcode as _es_prefer_hcalHardcode
76  theProcess.hcal_db_producer = _hcal_db_producer
77  theProcess.es_hardcode = _es_hardcode
78  theProcess.es_prefer_hcalHardcode = _es_prefer_hcalHardcode
79 
80 from Configuration.Eras.Modifier_hcalHardcodeConditions_cff import hcalHardcodeConditions
81 modifyEnableHcalHardcode_ = hcalHardcodeConditions.makeProcessModifier( _modifyEnableHcalHardcode )
82 
83 
generatorSmeared_cfi
SimGeneral_cff
HeavyIon_cff
Generator_cff
DigiAliases_cff.loadDigiAliases
def loadDigiAliases(process, premix=False)
Definition: DigiAliases_cff.py:36
Digi_cff._premixStage2GenPUProtons
def _premixStage2GenPUProtons(process)
Definition: Digi_cff.py:57
SimMuon_cff
Digi_cff._fastSimDigis
def _fastSimDigis(process)
Definition: Digi_cff.py:63
Hcal_Conditions_forGlobalTag_cff
Digi_cff._modifyEnableHcalHardcode
def _modifyEnableHcalHardcode(theProcess)
Definition: Digi_cff.py:74
SimCalorimetry_cff