Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-18 03:42:28

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun runHGCalBHValid_cfg.py geometry=D110
0004 #
0005 #   Options for geometry D98, D99, D103, D104, D105, D106, D107, D108, D109
0006 #                        D110, D111, D112, D113, D114, D115
0007 #
0008 ###############################################################################
0009 import FWCore.ParameterSet.Config as cms
0010 import os, sys, importlib, re
0011 import FWCore.ParameterSet.VarParsing as VarParsing
0012 
0013 ####################################################################
0014 ### SETUP OPTIONS
0015 options = VarParsing.VarParsing('standard')
0016 options.register('geometry',
0017                  "D110",
0018                   VarParsing.VarParsing.multiplicity.singleton,
0019                   VarParsing.VarParsing.varType.string,
0020                   "geometry of operations: D98, D99, D103, D104, D105, D106, D107, D108, D109, D110, D111, D112, D113, D114, D115")
0021 
0022 ### get and parse the command line arguments
0023 options.parseArguments()
0024 
0025 print(options)
0026 
0027 ####################################################################
0028 # Use the options
0029 
0030 geomName = "Run4" + options.geometry
0031 geomFile = "Configuration.Geometry.GeometryExtended" + geomName + "Reco_cff"
0032 import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings
0033 GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName)
0034 fileName = "hgcBHValid" + options.geometry + ".root"
0035 print("Geometry Name:  ", geomName)
0036 print("Geom file Name: ", geomFile)
0037 print("Global Tag Name: ", GLOBAL_TAG)
0038 print("Era Name:        ", ERA)
0039 print("Output file:     ", fileName)
0040 
0041 process = cms.Process('BHValid',ERA)
0042 
0043 # import of standard configurations
0044 process.load(geomFile)
0045 process.load('Configuration.StandardSequences.Services_cff')
0046 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0047 process.load('FWCore.MessageService.MessageLogger_cfi')
0048 process.load('Configuration.EventContent.EventContent_cff')
0049 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0050 process.load('Configuration.StandardSequences.MagneticField_cff')
0051 process.load('Configuration.StandardSequences.Generator_cff')
0052 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi')
0053 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0054 process.load('Configuration.StandardSequences.SimIdeal_cff')
0055 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0056 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0057 process.load('Configuration.StandardSequences.Digi_cff')
0058 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0059 process.load('Configuration.StandardSequences.L1TrackTrigger_cff')
0060 process.load('Configuration.StandardSequences.DigiToRaw_cff')
0061 process.load('HLTrigger.Configuration.HLT_Fake2_cff')
0062 process.load('Configuration.StandardSequences.RawToDigi_cff')
0063 process.load('Configuration.StandardSequences.L1Reco_cff')
0064 process.load('Configuration.StandardSequences.Reconstruction_cff')
0065 process.load('Configuration.StandardSequences.RecoSim_cff')
0066 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0067 
0068 process.maxEvents = cms.untracked.PSet(
0069     input = cms.untracked.int32(2000)
0070 )
0071 
0072 process.MessageLogger.cerr.FwkReport.reportEvery = 5
0073 # Input source
0074 process.source = cms.Source("EmptySource")
0075 
0076 process.options = cms.untracked.PSet(
0077     wantSummary = cms.untracked.bool(True)
0078 )
0079 
0080 # Production Info
0081 process.configurationMetadata = cms.untracked.PSet(
0082     version = cms.untracked.string(''),
0083     annotation = cms.untracked.string(''),
0084     name = cms.untracked.string('Applications')
0085 )
0086 
0087 if hasattr(process,'MessageLogger'):
0088     process.MessageLogger.ValidHGCal=dict()
0089     process.MessageLogger.HcalSim=dict()
0090 
0091 # Additional output definition
0092 process.load('Validation.HGCalValidation.hgcalBHValidation_cfi')
0093 
0094 process.TFileService = cms.Service("TFileService",
0095                                    fileName = cms.string(fileName),
0096                                    closeFileFast = cms.untracked.bool(True)
0097                                    )
0098 
0099 
0100 # Other statements
0101 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0102 from Configuration.AlCa.GlobalTag import GlobalTag
0103 process.GlobalTag = GlobalTag(process.GlobalTag, GLOBAL_TAG, '')
0104 
0105 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0106     PGunParameters = cms.PSet(
0107         MaxPt = cms.double(35.0),
0108         MinPt = cms.double(35.0),
0109         PartID = cms.vint32(13), #--->muon
0110         MinPhi = cms.double(-3.14159265359),
0111         MaxPhi = cms.double(3.14159265359),
0112         MinEta = cms.double(1.2),
0113         MaxEta = cms.double(3.0)
0114     ),
0115     Verbosity = cms.untracked.int32(0),
0116     psethack = cms.string('single muon pt 35'),
0117     AddAntiParticle = cms.bool(True),
0118     firstRun = cms.untracked.uint32(1)
0119 )
0120 
0121 
0122 #Modified to produce hgceedigis
0123 process.mix.digitizers = cms.PSet(process.theDigitizersValid)
0124 process.ProductionFilterSequence = cms.Sequence(process.generator)
0125 
0126 #Following Removes Mag Field
0127 process.g4SimHits.UseMagneticField = False
0128 process.g4SimHits.Physics.bField = cms.double(0.0)
0129 
0130 
0131 # Path and EndPath definitions
0132 process.generation_step = cms.Path(process.pgen)
0133 process.simulation_step = cms.Path(process.psim)
0134 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0135 process.digitisation_step = cms.Path(process.pdigi_valid)
0136 process.L1simulation_step = cms.Path(process.SimL1Emulator)
0137 process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger)
0138 process.digi2raw_step = cms.Path(process.DigiToRaw)
0139 process.raw2digi_step = cms.Path(process.RawToDigi)
0140 process.L1Reco_step = cms.Path(process.L1Reco)
0141 process.reconstruction_step = cms.Path(process.localreco)
0142 process.recosim_step = cms.Path(process.recosim)
0143 process.analysis_step = cms.Path(process.hgcalBHAnalysis)
0144 
0145 # Schedule definition
0146 process.schedule = cms.Schedule(process.generation_step,
0147                 process.simulation_step,
0148                 process.digitisation_step,
0149                                 process.L1simulation_step,
0150                                 process.L1TrackTrigger_step,
0151                                 process.digi2raw_step,
0152                                 process.raw2digi_step,
0153                                 process.L1Reco_step,
0154                                 process.reconstruction_step,
0155                                 process.recosim_step,
0156                                 process.analysis_step,
0157                 )
0158 
0159 # filter all path with the production filter sequence
0160 for path in process.paths:
0161         if getattr(process,path)._seq is not None: getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq