CMS 3D CMS Logo

testHGCalDigi_cfg.py
Go to the documentation of this file.
1 
13 import FWCore.ParameterSet.Config as cms
14 import os, sys, imp, re, random
15 import FWCore.ParameterSet.VarParsing as VarParsing
16 
17 
19 options = VarParsing.VarParsing('standard')
20 options.register('geometry',
21  "D111",
22  VarParsing.VarParsing.multiplicity.singleton,
23  VarParsing.VarParsing.varType.string,
24  "geometry of operations: D105, D111, D114, V17Shift, D104")
25 options.register('type',
26  "DDD",
27  VarParsing.VarParsing.multiplicity.singleton,
28  VarParsing.VarParsing.varType.string,
29  "type of operations: DDD, DD4hep")
30 options.register('data',
31  "mu",
32  VarParsing.VarParsing.multiplicity.singleton,
33  VarParsing.VarParsing.varType.string,
34  "data of operations: mu, tt")
35 options.register('noise',
36  "ok",
37  VarParsing.VarParsing.multiplicity.singleton,
38  VarParsing.VarParsing.varType.string,
39  "noise of operations: none, ok")
40 options.register('threshold',
41  "ok",
42  VarParsing.VarParsing.multiplicity.singleton,
43  VarParsing.VarParsing.varType.string,
44  "threshold of operations: none, ok")
45 
46 
47 options.parseArguments()
48 
49 print(options)
50 
51 
53 if (options.type == "DD4hep"):
54  from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
55  if (options.geometry == "V17Shift"):
56  from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
57  process = cms.Process('SingleMuonSim',Phase2C17I13M9,dd4hep)
58  geomFile = "Geometry.HGCalCommonData.testHGCal" + options.type + options.geometry + "Reco_cff"
59  elif (options.geometry == "D104"):
60  from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
61  process = cms.Process('SingleMuonSim',Phase2C22I13M9,dd4hep)
62  geomFile = "Configuration.Geometry.Geometry" + options.type +"Extended2026" + options.geometry + "Reco_cff"
63  else:
64  from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
65  process = cms.Process('SingleMuonSim',Phase2C17I13M9,dd4hep)
66  geomFile = "Configuration.Geometry.Geometry" + options.type +"Extended2026" + options.geometry + "Reco_cff"
67 else:
68  if (options.geometry == "V17Shift"):
69  from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
70  process = cms.Process('SingleMuonSim',Phase2C17I13M9)
71  geomFile = "Geometry.HGCalCommonData.testHGCal" + options.geometry + "Reco_cff"
72  elif (options.geometry == "D104"):
73  from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
74  process = cms.Process('SingleMuonSim',Phase2C22I13M9)
75  geomFile = "Configuration.Geometry.GeometryExtended2026" + options.geometry + "Reco_cff"
76  else:
77  from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
78  process = cms.Process('SingleMuonSim',Phase2C17I13M9)
79  geomFile = "Configuration.Geometry.GeometryExtended2026" + options.geometry + "Reco_cff"
80 
81 globalTag = "auto:phase2_realistic_T33"
82 inFile = "file:step1" + options.type + options.geometry + options.data + ".root"
83 outFile = "file:step2" + options.type + options.geometry + options.data + ".root"
84 
85 print("Geometry file: ", geomFile)
86 print("Global Tag: ", globalTag)
87 print("Input file: ", inFile)
88 print("Output file: ", outFile)
89 
91 from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hgchefrontDigitizer
92 from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hgchebackDigitizer
94 from SimCalorimetry.HGCalSimProducers.hgcROCParameters_cfi import hgcROCSettings
95 # import of standard configurations
96 process.load('Configuration.StandardSequences.Services_cff')
97 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
98 process.load('FWCore.MessageService.MessageLogger_cfi')
99 process.load('Configuration.EventContent.EventContent_cff')
100 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
101 process.load(geomFile)
102 process.load('Configuration.StandardSequences.MagneticField_cff')
103 process.load('Configuration.StandardSequences.Digi_cff')
104 process.load('Configuration.StandardSequences.L1TrackTrigger_cff')
105 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
106 process.load('Configuration.StandardSequences.DigiToRaw_cff')
107 process.load('HLTrigger.Configuration.HLT_Fake2_cff')
108 process.load('Configuration.StandardSequences.EndOfProcess_cff')
109 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
110 
111 process.MessageLogger.cerr.FwkReport.reportEvery = 1
112 
113 process.maxEvents = cms.untracked.PSet(
114  input = cms.untracked.int32(-1),
115  output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
116 )
117 
118 # Input source
119 process.source = cms.Source("PoolSource",
120  dropDescendantsOfDroppedBranches = cms.untracked.bool(False),
121  fileNames = cms.untracked.vstring(inFile),
122  inputCommands = cms.untracked.vstring(
123  'keep *',
124  'drop *_genParticles_*_*',
125  'drop *_genParticlesForJets_*_*',
126  'drop *_kt4GenJets_*_*',
127  'drop *_kt6GenJets_*_*',
128  'drop *_iterativeCone5GenJets_*_*',
129  'drop *_ak4GenJets_*_*',
130  'drop *_ak7GenJets_*_*',
131  'drop *_ak8GenJets_*_*',
132  'drop *_ak4GenJetsNoNu_*_*',
133  'drop *_ak8GenJetsNoNu_*_*',
134  'drop *_genCandidatesForMET_*_*',
135  'drop *_genParticlesForMETAllVisible_*_*',
136  'drop *_genMetCalo_*_*',
137  'drop *_genMetCaloAndNonPrompt_*_*',
138  'drop *_genMetTrue_*_*',
139  'drop *_genMetIC5GenJs_*_*'
140  ),
141  secondaryFileNames = cms.untracked.vstring()
142 )
143 
144 process.options = cms.untracked.PSet(
145  IgnoreCompletely = cms.untracked.vstring(),
146  Rethrow = cms.untracked.vstring(),
147  TryToContinue = cms.untracked.vstring(),
148  accelerators = cms.untracked.vstring('*'),
149  allowUnscheduled = cms.obsolete.untracked.bool,
150  canDeleteEarly = cms.untracked.vstring(),
151  deleteNonConsumedUnscheduledModules = cms.untracked.bool(True),
152  dumpOptions = cms.untracked.bool(False),
153  emptyRunLumiMode = cms.obsolete.untracked.string,
154  eventSetup = cms.untracked.PSet(
155  forceNumberOfConcurrentIOVs = cms.untracked.PSet(
156  allowAnyLabel_=cms.required.untracked.uint32
157  ),
158  numberOfConcurrentIOVs = cms.untracked.uint32(0)
159  ),
160  fileMode = cms.untracked.string('FULLMERGE'),
161  forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False),
162  makeTriggerResults = cms.obsolete.untracked.bool,
163  numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0),
164  numberOfConcurrentRuns = cms.untracked.uint32(1),
165  numberOfStreams = cms.untracked.uint32(0),
166  numberOfThreads = cms.untracked.uint32(1),
167  printDependencies = cms.untracked.bool(False),
168  sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
169  throwIfIllegalParameter = cms.untracked.bool(True),
170  wantSummary = cms.untracked.bool(False)
171 )
172 
173 # Production Info
174 process.configurationMetadata = cms.untracked.PSet(
175  annotation = cms.untracked.string('step2 nevts:1000'),
176  name = cms.untracked.string('Applications'),
177  version = cms.untracked.string('$Revision: 1.19 $')
178 )
179 
180 # Output definition
181 
182 process.FEVTDEBUGHLToutput = cms.OutputModule("PoolOutputModule",
183  dataset = cms.untracked.PSet(
184  dataTier = cms.untracked.string('GEN-SIM-DIGI-RAW'),
185  filterName = cms.untracked.string('')
186  ),
187  fileName = cms.untracked.string(outFile),
188  outputCommands = process.FEVTDEBUGHLTEventContent.outputCommands,
189  splitLevel = cms.untracked.int32(0)
190 )
191 
192 # Additional output definition
193 
194 # Other statements
195 process.mix.digitizers = cms.PSet(process.theDigitizersValid)
196 from Configuration.AlCa.GlobalTag import GlobalTag
197 process.GlobalTag = GlobalTag(process.GlobalTag, globalTag, '')
198 
199 # Path and EndPath definitions
200 process.digitisation_step = cms.Path(process.pdigi_valid)
201 process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger)
202 process.L1simulation_step = cms.Path(process.SimL1Emulator)
203 process.digi2raw_step = cms.Path(process.DigiToRaw)
204 process.endjob_step = cms.EndPath(process.endOfProcess)
205 process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput)
206 
207 if (options.noise == "none"):
208  process.HGCAL_noise_fC.values = [0,0,0]
209 
210 if (options.threshold == "none"):
211  process.mix.digitizers.hgceeDigitizer.digiCfg.feCfg.adcThreshold_fC = 0.0
212  process.mix.digitizers.hgchefrontDigitizer.digiCfg.feCfg.adcThreshold_fC = 0.0
213  process.mix.digitizers.hgchebackDigitizer.digiCfg.feCfg.adcThreshold_fC = 0.0
214 
215 # Schedule definition
216 # process.schedule imported from cff in HLTrigger.Configuration
217 process.schedule.insert(0, process.digitisation_step)
218 process.schedule.insert(1, process.L1TrackTrigger_step)
219 process.schedule.insert(2, process.L1simulation_step)
220 process.schedule.insert(3, process.digi2raw_step)
221 process.schedule.extend([process.endjob_step,process.FEVTDEBUGHLToutput_step])
222 
223 from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
225 
226 # customisation of the process.
227 
228 # Automatic addition of the customisation function from HLTrigger.Configuration.customizeHLTforMC
229 from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC
230 
231 #call to customisation function customizeHLTforMC imported from HLTrigger.Configuration.customizeHLTforMC
232 process = customizeHLTforMC(process)
233 
234 # End of customisation functions
235 
236 
237 # Customisation from command line
238 
239 # Add early deletion of temporary data products to reduce peak memory need
240 from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
241 process = customiseEarlyDelete(process)
242 # End adding early deletion
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
def associatePatAlgosToolsTask(process)
Definition: helpers.py:24