text: import FWCore.ParameterSet.Config as cms
  
  from Configuration.Eras.Era_Phase2C11I13M9_cff import Phase2C11I13M9
  process = cms.Process('testHGCalRecoLocal',Phase2C11I13M9)
  
  # 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.Geometry.GeometryExtended2026D77Reco_cff')
  process.load('Configuration.Geometry.GeometryExtended2026D77_cff')
  process.load('Configuration.StandardSequences.MagneticField_cff')
  process.load('Configuration.StandardSequences.Generator_cff')
  process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_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('Configuration.StandardSequences.Digi_cff')
  process.load('Configuration.StandardSequences.SimL1Emulator_cff')
  process.load('Configuration.StandardSequences.L1TrackTrigger_cff')
  process.load('Configuration.StandardSequences.DigiToRaw_cff')
  process.load('HLTrigger.Configuration.HLT_Fake2_cff')
  process.load('Configuration.StandardSequences.RawToDigi_cff')
  process.load('Configuration.StandardSequences.L1Reco_cff')
  process.load('Configuration.StandardSequences.Reconstruction_cff')
  process.load('Configuration.StandardSequences.RecoSim_cff')
  process.load('Configuration.StandardSequences.EndOfProcess_cff')
  
  process.maxEvents = cms.untracked.PSet(
      input = cms.untracked.int32(1000)
  )
  
  process.MessageLogger.cerr.FwkReport.reportEvery = 5
  if hasattr(process,'MessageLogger'):
      process.MessageLogger.ValidHGCal=dict()
      process.MessageLogger.HGCalGeom=dict()
  
  # Input source
  process.source = cms.Source("EmptySource")
  
  process.options = cms.untracked.PSet(
      wantSummary = cms.untracked.bool(True),
      numberOfConcurrentRuns = cms.untracked.uint32(1),
      numberOfStreams = cms.untracked.uint32(0),
      numberOfThreads = cms.untracked.uint32(1),
      printDependencies = cms.untracked.bool(False),
      sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
  )
  
  # Production Info
  process.configurationMetadata = cms.untracked.PSet(
      version = cms.untracked.string(''),
      annotation = cms.untracked.string(''),
      name = cms.untracked.string('Applications')
  )
  
  
  # Output definition
  process.output = cms.OutputModule("PoolOutputModule",
      splitLevel = cms.untracked.int32(0),
      eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
      outputCommands = cms.untracked.vstring(
          'keep *_*hbhe*_*_*',
  	'keep *_g4SimHits_*_*',
  #       'keep *_mix_*_*',
  	'keep *_*HGC*_*_*',
          ),
      fileName = cms.untracked.string('file:testHGCalSimWatcherV14.root'),
      dataset = cms.untracked.PSet(
          filterName = cms.untracked.string(''),
          dataTier = cms.untracked.string('GEN-SIM-DIGI-RAW-RECO')
      ),
      SelectEvents = cms.untracked.PSet(
          SelectEvents = cms.vstring('generation_step')
      )
  )
  
  # Additional output definition
  process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
      SimG4HGCalValidation = cms.PSet(
          Names = cms.vstring(
  		'HGCalEESensitive',  
  		'HGCalHESensitive',
                  'HGCalHESiliconSensitive',
  		'HGCalHEScintillatorSensitive',
  		),
  	Types          = cms.vint32(0,0,0,0),
  	DetTypes       = cms.vint32(0,1,1,2),
  	LabelLayerInfo = cms.string("HGCalInfoLayer"),
  	Verbosity      = cms.untracked.int32(0),
      ),
      type = cms.string('SimG4HGCalValidation')
  ))
  
  # Other statements
  process.genstepfilter.triggerConditions=cms.vstring("generation_step")
  from Configuration.AlCa.GlobalTag import GlobalTag
  process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '')
  
  process.generator = cms.EDProducer("FlatRandomPtGunProducer",
      PGunParameters = cms.PSet(
          MaxPt = cms.double(20.0),
          MinPt = cms.double(20.0),
          #PartID = cms.vint32(11), #--->electron
          PartID = cms.vint32(13), #--->muon
          #PartID = cms.vint32(211), #--->pion
          MaxEta = cms.double(3.0),
          MaxPhi = cms.double(3.14159265359),
          MinEta = cms.double(1.2),
          MinPhi = cms.double(-3.14159265359)
      ),
      Verbosity = cms.untracked.int32(0),
      psethack = cms.string('single muon pt 35'),
      AddAntiParticle = cms.bool(False),
      firstRun = cms.untracked.uint32(1)
  )
  
  
  #Modified to produce hgceedigis
  process.mix.digitizers = cms.PSet(process.theDigitizersValid)
  
  process.ProductionFilterSequence = cms.Sequence(process.generator)
  
  # Path and EndPath definitions
  process.generation_step = cms.Path(process.pgen)
  process.simulation_step = cms.Path(process.psim)
  process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
  process.digitisation_step = cms.Path(process.pdigi_valid)
  process.L1simulation_step = cms.Path(process.SimL1Emulator)
  process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger)
  process.digi2raw_step = cms.Path(process.DigiToRaw)
  process.raw2digi_step = cms.Path(process.RawToDigi)
  process.L1Reco_step = cms.Path(process.L1Reco)
  process.reconstruction_step = cms.Path(process.localreco)
  process.recosim_step = cms.Path(process.recosim)
  process.out_step = cms.EndPath(process.output)
  
  # Schedule definition
  process.schedule = cms.Schedule(process.generation_step,
  				process.simulation_step,
  				process.digitisation_step,
                                  process.L1simulation_step,
                                  process.L1TrackTrigger_step,
                                  process.digi2raw_step,
                                  process.raw2digi_step,
                                  process.L1Reco_step,
                                  process.reconstruction_step,
                                  process.recosim_step,
                                  process.out_step
  				)
  
  # filter all path with the production filter sequence
  for path in process.paths:
          if getattr(process,path)._seq is not None: getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq
  