Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:27:55

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun rechitValidation_cfg.py geometry=D92
0004 #
0005 #   Options for geometry D88, D92, D93
0006 #
0007 ###############################################################################
0008 import FWCore.ParameterSet.Config as cms
0009 import os, sys, imp, re
0010 import FWCore.ParameterSet.VarParsing as VarParsing
0011 
0012 ####################################################################
0013 ### SETUP OPTIONS
0014 options = VarParsing.VarParsing('standard')
0015 options.register('geometry',
0016                  "D88",
0017                   VarParsing.VarParsing.multiplicity.singleton,
0018                   VarParsing.VarParsing.varType.string,
0019                   "geometry of operations: D88, D92, D93")
0020 
0021 ### get and parse the command line arguments
0022 options.parseArguments()
0023 
0024 print(options)
0025 
0026 ####################################################################
0027 # Use the options
0028 from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0029 process = cms.Process('HGCalRecHitLocal',Phase2C17I13M9)
0030 
0031 geomFile = "Configuration.Geometry.GeometryExtended2026" + options.geometry + "Reco_cff"
0032 fileName = "file:RecHitVal" + options.geometry + ".root"
0033 outFile = "file:step3" + options.geometry + ".root"
0034 
0035 print("Geometry file:          ", geomFile)
0036 print("Reco Output file:       ", outFile)
0037 print("Validation Output file: ", fileName)
0038 
0039 # import of standard configurations
0040 process.load(geomFile)
0041 process.load('Configuration.StandardSequences.Services_cff')
0042 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0043 process.load('FWCore.MessageService.MessageLogger_cfi')
0044 process.load('Configuration.EventContent.EventContent_cff')
0045 process.load('FWCore.MessageService.MessageLogger_cfi')
0046 process.load('Configuration.EventContent.EventContent_cff')
0047 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0048 process.load('Configuration.StandardSequences.MagneticField_cff')
0049 process.load('Configuration.StandardSequences.Generator_cff')
0050 process.load('IOMC.EventVertexGenerators.VtxSmearedGauss_cfi')
0051 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0052 process.load('Configuration.StandardSequences.SimIdeal_cff')
0053 process.load('Configuration.StandardSequences.Digi_cff')
0054 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0055 process.load('Configuration.StandardSequences.DigiToRaw_cff')##
0056 process.load('Configuration.StandardSequences.RawToDigi_cff')
0057 process.load('Configuration.StandardSequences.L1Reco_cff')
0058 process.load('Configuration.StandardSequences.Reconstruction_cff')
0059 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0060 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0061 
0062 process.maxEvents = cms.untracked.PSet(
0063         input = cms.untracked.int32(10)
0064 )
0065 
0066 # Input source
0067 process.source = cms.Source("EmptySource")
0068 
0069 process.options = cms.untracked.PSet(
0070 
0071 )
0072 
0073 # Production Info
0074 process.configurationMetadata = cms.untracked.PSet(
0075     version = cms.untracked.string('$Revision: 1.20 $'),
0076     annotation = cms.untracked.string('SingleElectronPt10_cfi nevts:10'),
0077     name = cms.untracked.string('Applications')
0078 )
0079 
0080 # Output definition
0081 
0082 process.FEVTDEBUGHLToutput = cms.OutputModule("PoolOutputModule",
0083     splitLevel = cms.untracked.int32(0),
0084     eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
0085     outputCommands = process.FEVTDEBUGHLTEventContent.outputCommands,
0086     fileName = cms.untracked.string(outFile),
0087     dataset = cms.untracked.PSet(
0088         filterName = cms.untracked.string(''),
0089         dataTier = cms.untracked.string('GEN-SIM-DIGI-RECO')
0090     ),
0091     SelectEvents = cms.untracked.PSet(
0092         SelectEvents = cms.vstring('generation_step')
0093     )
0094 )
0095 
0096 # Additional output definition
0097 
0098 # Other statements
0099 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0100 from Configuration.AlCa.GlobalTag import GlobalTag
0101 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '')
0102 
0103 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0104     PGunParameters = cms.PSet(
0105         MaxPt = cms.double(10.01),
0106         MinPt = cms.double(9.99),
0107         PartID = cms.vint32(11),
0108         MaxEta = cms.double(2.5),
0109         MaxPhi = cms.double(3.14159265359),
0110         MinEta = cms.double(-2.5),
0111         MinPhi = cms.double(-3.14159265359)
0112     ),
0113     Verbosity = cms.untracked.int32(0),
0114     psethack = cms.string('single electron pt 10'),
0115     AddAntiParticle = cms.bool(True),
0116     firstRun = cms.untracked.uint32(1)
0117 )
0118 
0119 process.mix.digitizers = cms.PSet(process.theDigitizersValid)
0120 
0121 # Path and EndPath definitions
0122 process.generation_step = cms.Path(process.pgen)
0123 process.simulation_step = cms.Path(process.psim)
0124 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0125 process.digitisation_step = cms.Path(process.pdigi_valid)
0126 process.L1simulation_step = cms.Path(process.SimL1Emulator)
0127 process.digi2raw_step = cms.Path(process.DigiToRaw)
0128 process.raw2digi_step = cms.Path(process.RawToDigi)
0129 process.L1Reco_step = cms.Path(process.L1Reco)
0130 process.reconstruction_step = cms.Path(process.reconstruction)
0131 process.endjob_step = cms.EndPath(process.endOfProcess)
0132 process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput)
0133 
0134 #################################################################################################
0135 #################################################################################################
0136 # Output definition
0137 process.ValidationOutput = cms.OutputModule("PoolOutputModule",
0138                             outputCommands = cms.untracked.vstring('drop *', 'keep *_MEtoEDMConverter_*_*'),
0139                             fileName = cms.untracked.string(fileName),
0140                     )
0141 
0142 process.load("DQMServices.Core.DQM_cfg")
0143 process.load("DQMServices.Components.MEtoEDMConverter_cfi")
0144 process.load("Validation.HGCalValidation.rechitValidation_cff")
0145 
0146 ## path and endpath deffinition 
0147 process.p1 = cms.Path(process.hgcalRecHitValidationEE+process.hgcalRecHitValidationHEF+process.hgcalRecHitValidationHEB)
0148 process.p2 = cms.Path(process.MEtoEDMConverter)
0149 process.output_step = cms.EndPath(process.ValidationOutput)
0150 ################################################################################################
0151 ################################################################################################
0152 
0153 # Schedule definition
0154 process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,
0155                                process.simulation_step,process.digitisation_step,
0156                                process.L1simulation_step,process.digi2raw_step,
0157                                process.raw2digi_step,process.L1Reco_step,process.reconstruction_step,
0158                                process.endjob_step,process.p1,process.p2,process.output_step)
0159 
0160 #process.schedule = cms.Schedule(process.p1,process.p2,process.output_step)
0161 
0162 # filter all path with the production filter sequence
0163 for path in process.paths:
0164         getattr(process,path)._seq = process.generator * getattr(process,path)._seq
0165 
0166 # End of customisation functions
0167 for label, prod in process.producers_().items():
0168         if prod.type_() == "OscarMTProducer":
0169             # ugly hack
0170             prod.__dict__['_TypedParameterizable__type'] = "OscarProducer"