CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
postLS1CustomsPreMixing.py
Go to the documentation of this file.
1 
2 import FWCore.ParameterSet.Config as cms
3 
4 from SLHCUpgradeSimulations.Configuration.muonCustomsPreMixing import customise_csc_PostLS1,customise_csc_hlt
5 
6 
7 def customisePostLS1(process):
8 
9  # deal with CSC separately:
10  process = customise_csc_PostLS1(process)
11 
12  # all the rest:
13  if hasattr(process,'g4SimHits'):
14  process=customise_Sim(process)
15  if hasattr(process,'DigiToRaw'):
16  process=customise_DigiToRaw(process)
17  if hasattr(process,'RawToDigi'):
18  process=customise_RawToDigi(process)
19  if hasattr(process,'reconstruction'):
20  process=customise_Reco(process)
21  if hasattr(process,'digitisation_step'):
22  process=customise_Digi(process)
23  if hasattr(process,'HLTSchedule'):
24  process=customise_HLT(process)
25  if hasattr(process,'L1simulation_step'):
26  process=customise_L1Emulator(process)
27  if hasattr(process,'dqmoffline_step'):
28  process=customise_DQM(process)
29  if hasattr(process,'dqmHarvesting'):
30  process=customise_harvesting(process)
31  if hasattr(process,'validation_step'):
32  process=customise_Validation(process)
33 
34  return process
35 
36 
37 def digiEventContent(process):
38  #extend the event content
39 
40  alist=['RAWSIM','RAWDEBUG','FEVTDEBUG','FEVTDEBUGHLT','GENRAW','RAWSIMHLT','FEVT','PREMIX','PREMIXRAW']
41  for a in alist:
42  b=a+'output'
43  if hasattr(process,b):
44  getattr(process,b).outputCommands.append('keep *_simMuonCSCDigis_*_*')
45  getattr(process,b).outputCommands.append('keep *_simMuonRPCDigis_*_*')
46  getattr(process,b).outputCommands.append('keep *_mixData_MuonCSCComparatorDigisDM_*')
47  getattr(process,b).outputCommands.append('keep *_mixData_MuonCSCStripDigisDM_*')
48  getattr(process,b).outputCommands.append('keep *_mixData_MuonCSCWireDigisDM_*')
49  getattr(process,b).outputCommands.append('keep *_simHcalUnsuppressedDigis_*_*')
50  return process
51 
52 
53 def customise_DQM(process):
54  #process.dqmoffline_step.remove(process.jetMETAnalyzer)
55  return process
56 
57 
58 def customise_Validation(process):
59  #process.validation_step.remove(process.PixelTrackingRecHitsValid)
60  # We don't run the HLT
61  #process.validation_step.remove(process.HLTSusyExoVal)
62  #process.validation_step.remove(process.hltHiggsValidator)
63  return process
64 
65 def customise_Sim(process):
66  process.g4SimHits.HFShowerLibrary.FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v3.root'
67  return process
68 
69 def customise_Digi(process):
70  process=digiEventContent(process)
71  if hasattr(process,'mix') and hasattr(process.mix,'digitizers'):
72  if hasattr(process.mix.digitizers,'hcal') and hasattr(process.mix.digitizers.hcal,'ho'):
73  process.mix.digitizers.hcal.ho.photoelectronsToAnalog = cms.vdouble([4.0]*16)
74  process.mix.digitizers.hcal.ho.siPMCode = cms.int32(1)
75  process.mix.digitizers.hcal.ho.pixels = cms.int32(2500)
76  process.mix.digitizers.hcal.ho.doSiPMSmearing = cms.bool(False)
77  if hasattr(process.mix.digitizers,'hcal') and hasattr(process.mix.digitizers.hcal,'hf1'):
78  process.mix.digitizers.hcal.hf1.samplingFactor = cms.double(0.60)
79  if hasattr(process.mix.digitizers,'hcal') and hasattr(process.mix.digitizers.hcal,'hf2'):
80  process.mix.digitizers.hcal.hf2.samplingFactor = cms.double(0.60)
81  return process
82 
83 
84 def customise_L1Emulator(process):
85  return process
86 
87 
88 def customise_RawToDigi(process):
89  return process
90 
91 
92 def customise_DigiToRaw(process):
93  return process
94 
95 
96 def customise_HLT(process):
97  process=customise_csc_hlt(process)
98  return process
99 
100 
101 def customise_Reco(process):
102  return process
103 
104 
105 def customise_harvesting(process):
106  #process.dqmHarvesting.remove(process.jetMETDQMOfflineClient)
107  #process.dqmHarvesting.remove(process.dataCertificationJetMET)
108  #process.dqmHarvesting.remove(process.sipixelEDAClient)
109  #process.dqmHarvesting.remove(process.sipixelCertification)
110  return (process)
111 
112 def recoOutputCustoms(process):
113 
114  alist=['AODSIM','RECOSIM','FEVTSIM','FEVTDEBUG','FEVTDEBUGHLT','RECODEBUG','RAWRECOSIMHLT','RAWRECODEBUGHLT']
115  for a in alist:
116  b=a+'output'
117  if hasattr(process,b):
118  getattr(process,b).outputCommands.append('keep *_simMuonCSCDigis_*_*')
119  getattr(process,b).outputCommands.append('keep *_simMuonRPCDigis_*_*')
120  getattr(process,b).outputCommands.append('keep *_mixData_MuonCSCComparatorDigisDM_*')
121  getattr(process,b).outputCommands.append('keep *_mixData_MuonCSCStripDigisDM_*')
122  getattr(process,b).outputCommands.append('keep *_mixData_MuonCSCWireDigisDM_*')
123  getattr(process,b).outputCommands.append('keep *_simHcalUnsuppressedDigis_*_*')
124  getattr(process,b).outputCommands.append('keep *_rawDataCollector_*_*')
125  return process
126 
def customise_csc_hlt
Definition: muonCustoms.py:295
def customise_csc_PostLS1
Definition: muonCustoms.py:248