Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PPS Full simulation integration #29916

Closed
wants to merge 16 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Re-coding test config to minimize changes due to the missing DB sim g…
…eometry; Propagating changes due to renaming campaign (CTPPS->PPS)
  • Loading branch information
mundim committed May 19, 2020
commit 448e43c62ebc583a2fd4ff8d75a73224d9ecd70b
47 changes: 24 additions & 23 deletions SimPPS/Configuration/test/gluglu_step1_GEN_SIM_2017.py
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v
# with command line options: GluGluTo2Jets_M_100_7TeV_exhume_cff.py --mc --eventcontent FEVTDEBUG --datatier GEN-SIM --conditions 80X_mcRun2_asymptotic_2016_v2 --step GEN,SIM --era Run2_25ns --geometry Extended2017dev --processName=CTPPS --no_exec
import FWCore.ParameterSet.Config as cms
import random

from Configuration.StandardSequences.Eras import eras
process = cms.Process('SIM',eras.Run2_2017)
@@ -13,20 +14,22 @@
process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('Configuration.StandardSequences.GeometrySimDB_cff')
process.load('Configuration.Geometry.GeometryExtended2017_CTPPS_cff')
#process.load('Configuration.StandardSequences.GeometryRecoDB_cff') # This line must be commented out while the pps sim geometry is not in the DB
#process.load('Configuration.StandardSequences.GeometrySimDB_cff') # This line must be commented out while the pps sim geometry is not in the DB
process.load('Configuration.StandardSequences.MagneticField_cff')
process.load('Configuration.StandardSequences.Generator_cff')
process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic25ns13TeVEarly2017Collision_cfi')
process.load('GeneratorInterface.Core.genFilterSummary_cff')
process.load('Configuration.StandardSequences.SimIdeal_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.load('Geometry.HcalCommonData.hcalDDDSimConstants_cff')

process.load('Configuration.Geometry.GeometryExtended2017_CTPPS_cff') # This line must be added to simulate PPS while its sim geometry is not in the DB

process.RandomNumberGeneratorService.generator.initialSeed = cms.untracked.uint32(random.randint(0,900000000))

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(100)
input = cms.untracked.int32(1000)
)

# Input source
@@ -42,21 +45,6 @@
version = cms.untracked.string('$Revision: 1.19 $')
)

# Output definition
process.FEVTDEBUGoutput = cms.OutputModule("PoolOutputModule",
SelectEvents = cms.untracked.PSet(
SelectEvents = cms.vstring('generation_step')
),
dataset = cms.untracked.PSet(
dataTier = cms.untracked.string('GEN-SIM'),
filterName = cms.untracked.string('')
),
eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
fileName = cms.untracked.string('GluGlu_GEN_SIM_2017.root'),
outputCommands = process.FEVTDEBUGEventContent.outputCommands,
splitLevel = cms.untracked.int32(0)
)

# Additional output definition

# Other statements
@@ -65,6 +53,7 @@
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2017_realistic', '')


process.generator = cms.EDFilter("ExhumeGeneratorFilter",
ExhumeParameters = cms.PSet(
AlphaEw = cms.double(0.0072974),
@@ -102,6 +91,21 @@

process.ProductionFilterSequence = cms.Sequence(process.generator)

# Output definition
process.FEVTDEBUGoutput = cms.OutputModule("PoolOutputModule",
SelectEvents = cms.untracked.PSet(
SelectEvents = cms.vstring('generation_step')
),
dataset = cms.untracked.PSet(
dataTier = cms.untracked.string('GEN-SIM'),
filterName = cms.untracked.string('')
),
eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
fileName = cms.untracked.string('GluGlu_GEN_SIM_2017.root'),
outputCommands = process.FEVTDEBUGEventContent.outputCommands,
splitLevel = cms.untracked.int32(0)
)

# Path and EndPath definitions
process.generation_step = cms.Path(process.pgen)
process.simulation_step = cms.Path(process.psim)
@@ -115,6 +119,3 @@
# filter all path with the production filter sequence
for path in process.paths:
getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq

from SimPPS.PPSSimTrackProducer.SimTrackProducerForFullSim_cff import customise
process = customise(process)
24 changes: 15 additions & 9 deletions SimPPS/Configuration/test/gluglu_step2_DIGI_DIGI2RAW_2017.py
Original file line number Diff line number Diff line change
@@ -4,34 +4,36 @@
# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v
# with command line options: step2 --filein=file:GluGluTo2Jets_M_300_2000_13TeV_exhume_cff_py_GEN_SIM_HECTOR_CTPPS.root --conditions auto:run2_mc -s DIGI:pdigi_valid,DIGI2RAW --datatier GEN-SIM-DIGI-RAW -n 10 --era Run2_2016 --eventcontent FEVTDEBUG --no_exec
import FWCore.ParameterSet.Config as cms
import random


from Configuration.StandardSequences.Eras import eras
process = cms.Process('DIGI2RAW',eras.Run2_2017, eras.ctpps_2017)
process = cms.Process('DIGI2RAW',eras.Run2_2017)

# import of standard configurations
process.load('Configuration.StandardSequences.Services_cff')
process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('Configuration.StandardSequences.MagneticField_cff')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.StandardSequences.Digi_cff')
process.load('Configuration.StandardSequences.SimL1Emulator_cff')
process.load('Configuration.StandardSequences.DigiToRaw_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.load("Geometry.VeryForwardGeometry.geometryPPS_CMSxz_fromDD_2017_cfi")
process.load('CalibPPS.ESProducers.CTPPSPixelDAQMappingESSourceXML_cfi')

# Since the PPS simulation geometry is not yet in the database, the line below is needed
process.load("Geometry.VeryForwardGeometry.geometryPPS_CMSxz_fromDD_2017_cfi")

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(-1)
)

process.load("IOMC.RandomEngine.IOMC_cff")
process.RandomNumberGeneratorService.generator.initialSeed = 456789
process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
process.RandomNumberGeneratorService.g4SimHits.initialSeed = cms.untracked.uint32(random.randint(0,900000000))
process.RandomNumberGeneratorService.VtxSmeared.initialSeed = cms.untracked.uint32(random.randint(0,900000000))


# Input source
@@ -89,7 +91,7 @@
process.totemDAQMappingESSourceXML.configuration = cms.VPSet(
cms.PSet(
validityRange = cms.EventRange("1:min - 999999999:max"),
mappingFileNames = cms.vstring("CondFormats/CTPPSReadoutObjects/xml/mapping_tracking_strip_2017.xml"),
mappingFileNames = cms.vstring("CondFormats/PPSObjects/xml/mapping_tracking_strip_2017.xml"),
maskFileNames = cms.vstring()
)
)
@@ -107,3 +109,7 @@
process.schedule.extend([process.endjob_step,process.FEVTDEBUGHLToutput_step])
from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
associatePatAlgosToolsTask(process)

# Add early deletion of temporary data products to reduce peak memory need
from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
process = customiseEarlyDelete(process)
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@
process.load('Configuration.StandardSequences.Reconstruction_cff')
process.load('CommonTools.ParticleFlow.EITopPAG_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.load("Geometry.VeryForwardGeometry.geometryPPS_CMSxz_fromDD_2017_cfi")
process.load("Geometry.VeryForwardGeometry.geometryPPS_CMSxz_fromDD_2017_cfi") # This line must be added while PPS sim geometry is not yet in the DB

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(-1)
@@ -85,7 +85,7 @@
process.totemDAQMappingESSourceXML.configuration = cms.VPSet(
cms.PSet(
validityRange = cms.EventRange("1:min - 999999999:max"),
mappingFileNames = cms.vstring("CondFormats/CTPPSReadoutObjects/xml/mapping_tracking_strip_2017.xml"),
mappingFileNames = cms.vstring("CondFormats/PPSObjects/xml/mapping_tracking_strip_2017.xml"),
maskFileNames = cms.vstring()
)
)
15 changes: 6 additions & 9 deletions SimPPS/Configuration/test/pg_step1_GEN_SIM_2017.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import FWCore.ParameterSet.Config as cms

import random
import math

from Configuration.StandardSequences.Eras import eras
@@ -17,9 +18,10 @@
process.load('Configuration.StandardSequences.SimIdeal_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
############### using only CTPPS geometry
from Geometry.VeryForwardGeometry.geometryPPS_CMSxz_fromDD_2017_cfi import XMLIdealGeometryESSource_CTPPS
process.XMLIdealGeometryESSource = XMLIdealGeometryESSource_CTPPS.clone()

process.load('Configuration.Geometry.GeometryExtended2017_CTPPS_cff')

process.RandomNumberGeneratorService.generator.initialSeed = cms.untracked.uint32(random.randint(0,900000000))

nEvent_ = 1000
process.maxEvents = cms.untracked.PSet(
@@ -68,18 +70,13 @@

process.generation_step = cms.Path(process.pgen)
process.simulation_step = cms.Path(process.psim)
process.g4Simhits_step = cms.Path(process.g4SimHits)


process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)

process.outpath = cms.EndPath(process.o1)

process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.g4Simhits_step,process.outpath)
process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.outpath)

# filter all path with the production filter sequence
for path in process.paths:
getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq

from SimPPS.PPSSimTrackProducer.SimTrackProducerForFullSim_cff import customise
process = customise(process)
36 changes: 21 additions & 15 deletions SimPPS/Configuration/test/pg_step2_DIGI_DIGI2RAW_2017.py
Original file line number Diff line number Diff line change
@@ -13,25 +13,21 @@
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('Configuration.StandardSequences.MagneticField_cff')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.StandardSequences.Digi_cff')
process.load('Configuration.StandardSequences.SimL1Emulator_cff')
process.load('Configuration.StandardSequences.DigiToRaw_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.load('CalibPPS.ESProducers.CTPPSPixelDAQMappingESSourceXML_cfi')

process.load('SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi')
############### using only CTPPS geometry
# Since the PPS simulation geometry is not yet in the database, the line below is needed
process.load("Geometry.VeryForwardGeometry.geometryPPS_CMSxz_fromDD_2017_cfi")

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(-1)
)
process.load("IOMC.RandomEngine.IOMC_cff")
process.RandomNumberGeneratorService.generator.initialSeed = 456789
process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
process.RandomNumberGeneratorService.RPixDetDigitizer = cms.PSet(initialSeed =cms.untracked.uint32(137137))
process.RandomNumberGeneratorService.RPSiDetDigitizer = cms.PSet(initialSeed =cms.untracked.uint32(137137))

# Input source
process.source = cms.Source("PoolSource",
@@ -110,26 +106,36 @@
process.totemDAQMappingESSourceXML.configuration = cms.VPSet(
cms.PSet(
validityRange = cms.EventRange("1:min - 999999999:max"),
mappingFileNames = cms.vstring("CondFormats/CTPPSReadoutObjects/xml/mapping_tracking_strip_2017.xml"),
mappingFileNames = cms.vstring("CondFormats/PPSObjects/xml/mapping_tracking_strip_2017.xml"),
maskFileNames = cms.vstring()
)
)

process.load("EventFilter.CTPPSRawToDigi.ctppsDigiToRaw_cff")
process.load("EventFilter.RawDataCollector.rawDataCollector_cfi")
#process.load("EventFilter.CTPPSRawToDigi.ctppsDigiToRaw_cff")
#process.load("EventFilter.RawDataCollector.rawDataCollector_cfi")

# Path and EndPath definitions
process.mixedigi_step = cms.Path(process.mix*process.RPixDetDigitizer*process.RPSiDetDigitizer)
process.digi2raw_step = cms.Path(process.ctppsTotemRawData*process.ctppsPixelRawData*process.rawDataCollector)
process.digitisation_step = cms.Path(process.pdigi)
process.L1simulation_step = cms.Path(process.SimL1Emulator)
process.digi2raw_step = cms.Path(process.DigiToRaw)
process.endjob_step = cms.EndPath(process.endOfProcess)
process.FEVTDEBUGoutput_step = cms.EndPath(process.FEVTDEBUGoutput)
# Schedule definition
process.schedule = cms.Schedule(process.digitisation_step,process.L1simulation_step,process.digi2raw_step)
process.schedule.extend([process.endjob_step,process.FEVTDEBUGoutput_step])

#process.mixedigi_step = cms.Path(process.mix*process.RPixDetDigitizer*process.RPSiDetDigitizer)
#process.digi2raw_step = cms.Path(process.ctppsTotemRawData*process.ctppsPixelRawData*process.rawDataCollector)
#process.endjob_step = cms.EndPath(process.endOfProcess)
#process.FEVTDEBUGoutput_step = cms.EndPath(process.FEVTDEBUGoutput)

# Schedule definition
process.schedule = cms.Schedule(process.mixedigi_step,process.digi2raw_step,process.endjob_step,process.FEVTDEBUGoutput_step)
#process.schedule = cms.Schedule(process.mixedigi_step,process.digi2raw_step,process.endjob_step,process.FEVTDEBUGoutput_step)


from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
associatePatAlgosToolsTask(process)


# Customisation from command line

# Add early deletion of temporary data products to reduce peak memory need
10 changes: 5 additions & 5 deletions SimPPS/Configuration/test/pg_step3_MCDB_RAW2DIGI_RECO_2017.py
Original file line number Diff line number Diff line change
@@ -76,7 +76,7 @@
process.totemDAQMappingESSourceXML.configuration = cms.VPSet(
cms.PSet(
validityRange = cms.EventRange("1:min - 999999999:max"),
mappingFileNames = cms.vstring("CondFormats/CTPPSReadoutObjects/xml/mapping_tracking_strip_2017.xml"),
mappingFileNames = cms.vstring("CondFormats/PPSObjects/xml/mapping_tracking_strip_2017.xml"),
maskFileNames = cms.vstring()
)
)
@@ -88,10 +88,10 @@
from EventFilter.CTPPSRawToDigi.totemRPRawToDigi_cfi import totemRPRawToDigi
totemRPRawToDigi.RawToDigi.testID = cms.uint32(1)

from RecoCTPPS.TotemRPLocal.totemRPLocalReconstruction_cff import totemRPLocalReconstruction
process.load('RecoCTPPS.TotemRPLocal.totemRPLocalReconstruction_cff')
from RecoCTPPS.PixelLocal.ctppsPixelLocalReconstruction_cff import ctppsPixelLocalReconstruction
process.load('RecoCTPPS.PixelLocal.ctppsPixelLocalReconstruction_cff')
from RecoPPS.Local.totemRPLocalReconstruction_cff import totemRPLocalReconstruction
process.load('RecoPPS.Local.totemRPLocalReconstruction_cff')
from RecoPPS.Local.ctppsPixelLocalReconstruction_cff import ctppsPixelLocalReconstruction
process.load('RecoPPS.Local.ctppsPixelLocalReconstruction_cff')

# Path and EndPath definitions
process.raw2digi_step = cms.Path(process.ctppsRawToDigi)