def cust_2023HGCal_common(process): process = customise_rpc(process) process = fixRPCConditions(process) process = customise_HcalPhase1(process) process = customisePhase1Tk(process) if hasattr(process, 'L1simulation_step'): process.simEcalTriggerPrimitiveDigis.BarrelOnly = cms.bool(True) if hasattr(process, 'digitisation_step'): if hasattr(process.mix.digitizers, 'ecal'): process.mix.digitizers.ecal.doEE = cms.bool(False) process.mix.digitizers.ecal.doES = cms.bool(False) process.load('SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi') process.mix.digitizers.hgceeDigitizer = process.hgceeDigitizer process.mix.digitizers.hgchebackDigitizer = process.hgchebackDigitizer process.mix.digitizers.hgchefrontDigitizer = process.hgchefrontDigitizer # Also need to tell the MixingModule to make the correct collections available from # the pileup, even if not creating CrossingFrames. process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgceeDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgchebackDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgchefrontDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.subdets.append( process.hgceeDigitizer.hitCollection.value()) process.mix.mixObjects.mixCH.subdets.append( process.hgchebackDigitizer.hitCollection.value()) process.mix.mixObjects.mixCH.subdets.append( process.hgchefrontDigitizer.hitCollection.value()) return process
def cust_2023HGCal_common(process): process = customise_rpc(process) process = fixRPCConditions(process) process = customise_HcalPhase1(process) process = customisePhase1Tk(process) if hasattr(process, 'L1simulation_step'): process.simEcalTriggerPrimitiveDigis.BarrelOnly = cms.bool(True) if hasattr(process, 'digitisation_step'): if hasattr(process.mix.digitizers, 'ecal'): process.mix.digitizers.ecal.doEE = cms.bool(False) process.mix.digitizers.ecal.doES = cms.bool(False) process.load('SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi') process.mix.digitizers.hgceeDigitizer = process.hgceeDigitizer process.mix.digitizers.hgchebackDigitizer = process.hgchebackDigitizer process.mix.digitizers.hgchefrontDigitizer = process.hgchefrontDigitizer # update the HCAL Endcap for BH geom. newFactors = cms.vdouble( 210.55, 197.93, 186.12, 189.64, 189.63, 189.96, 190.03, 190.11, 190.18, 190.25, 190.32, 190.40, 190.47, 190.54, 190.61, 190.69, 190.83, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94) process.mix.digitizers.hcal.he.samplingFactors = newFactors process.mix.digitizers.hcal.he.photoelectronsToAnalog = cms.vdouble( [10.] * len(newFactors)) # Also need to tell the MixingModule to make the correct collections available from # the pileup, even if not creating CrossingFrames. process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgceeDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgchebackDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgchefrontDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.subdets.append( process.hgceeDigitizer.hitCollection.value()) process.mix.mixObjects.mixCH.subdets.append( process.hgchebackDigitizer.hitCollection.value()) process.mix.mixObjects.mixCH.subdets.append( process.hgchefrontDigitizer.hitCollection.value()) return process
def cust_2023HGCal_common(process): process = customise_rpc(process) process = fixRPCConditions(process) process = customise_HcalPhase1(process) process = customisePhase1Tk(process) if hasattr(process,'L1simulation_step'): process.simEcalTriggerPrimitiveDigis.BarrelOnly = cms.bool(True) if hasattr(process,'digitisation_step'): if hasattr(process.mix.digitizers,'ecal'): process.mix.digitizers.ecal.doEE = cms.bool(False) process.mix.digitizers.ecal.doES = cms.bool(False) process.load('SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi') process.mix.digitizers.hgceeDigitizer=process.hgceeDigitizer process.mix.digitizers.hgchebackDigitizer=process.hgchebackDigitizer process.mix.digitizers.hgchefrontDigitizer=process.hgchefrontDigitizer # update the HCAL Endcap for BH geom. newFactors = cms.vdouble( 210.55, 197.93, 186.12, 189.64, 189.63, 189.96, 190.03, 190.11, 190.18, 190.25, 190.32, 190.40, 190.47, 190.54, 190.61, 190.69, 190.83, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94, 190.94) process.mix.digitizers.hcal.he.samplingFactors = newFactors process.mix.digitizers.hcal.he.photoelectronsToAnalog = cms.vdouble([10.]*len(newFactors)) # Also need to tell the MixingModule to make the correct collections available from # the pileup, even if not creating CrossingFrames. process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits",process.hgceeDigitizer.hitCollection.value()) ) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits",process.hgchebackDigitizer.hitCollection.value()) ) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits",process.hgchefrontDigitizer.hitCollection.value()) ) process.mix.mixObjects.mixCH.subdets.append( process.hgceeDigitizer.hitCollection.value() ) process.mix.mixObjects.mixCH.subdets.append( process.hgchebackDigitizer.hitCollection.value() ) process.mix.mixObjects.mixCH.subdets.append( process.hgchefrontDigitizer.hitCollection.value() ) return process
def cust_2023MuonOnly(process): process = customise_gem2023(process) process = customise_rpc(process) process = fixRPCConditions(process) return process
def cust_2023HGCalPandora_common(process): process = customisePostLS1(process) process = customiseBE5DPixel10D(process) process = customise_HcalPhase2(process) process = customise_ev_BE5DPixel10D(process) process = customise_gem2023(process) process = customise_rpc(process) process = jetCustoms.customise_jets(process) if hasattr(process, 'L1simulation_step'): process.simEcalTriggerPrimitiveDigis.BarrelOnly = cms.bool(True) if hasattr(process, 'digitisation_step'): process.mix.digitizers.ecal.accumulatorType = cms.string( 'EcalPhaseIIDigiProducer') process.load('SimGeneral.MixingModule.hgcalDigitizer_cfi') process.mix.digitizers.hgceeDigitizer = process.hgceeDigitizer process.mix.digitizers.hgchebackDigitizer = process.hgchebackDigitizer process.mix.digitizers.hgchefrontDigitizer = process.hgchefrontDigitizer # Also need to tell the MixingModule to make the correct collections available from # the pileup, even if not creating CrossingFrames. process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgceeDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgchebackDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.input.append( cms.InputTag("g4SimHits", process.hgchefrontDigitizer.hitCollection.value())) process.mix.mixObjects.mixCH.subdets.append( process.hgceeDigitizer.hitCollection.value()) process.mix.mixObjects.mixCH.subdets.append( process.hgchebackDigitizer.hitCollection.value()) process.mix.mixObjects.mixCH.subdets.append( process.hgchefrontDigitizer.hitCollection.value()) if hasattr(process, 'raw2digi_step'): process.ecalDigis.FEDs = cms.vint32( # EE-: #601, 602, 603, 604, 605, #606, 607, 608, 609, # EB-: 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, # EB+: 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, # EE+: #646, 647, 648, 649, 650, #651, 652, 653, 654 ) print "RAW2DIGI only for EB FEDs" if hasattr(process, 'reconstruction_step'): process.particleFlowRecHitHGCNoEB = cms.Sequence( process.particleFlowRecHitHGCEE + process.particleFlowRecHitHGCHEF) process.particleFlowClusterHGCNoEB = cms.Sequence( process.particleFlowClusterHGCEE + process.particleFlowClusterHGCHEF) process.particleFlowCluster += process.particleFlowRecHitHGCNoEB process.particleFlowCluster += process.particleFlowClusterHGCNoEB if hasattr(process, 'particleFlowSuperClusterECAL'): process.particleFlowSuperClusterHGCEE = process.particleFlowSuperClusterECAL.clone( ) process.particleFlowSuperClusterHGCEE.useHGCEmPreID = cms.bool( True) process.particleFlowSuperClusterHGCEE.PFClusters = cms.InputTag( 'particleFlowClusterHGCEE') process.particleFlowSuperClusterHGCEE.use_preshower = cms.bool( False) process.particleFlowSuperClusterHGCEE.PFSuperClusterCollectionEndcapWithPreshower = cms.string( '') process.particleFlowCluster += process.particleFlowSuperClusterHGCEE if hasattr(process, 'ecalDrivenElectronSeeds'): process.ecalDrivenElectronSeeds.endcapSuperClusters = cms.InputTag( 'particleFlowSuperClusterHGCEE') process.ecalDrivenElectronSeeds.SeedConfiguration.endcapHCALClusters = cms.InputTag( 'particleFlowClusterHGCHEF') process.ecalDrivenElectronSeeds.SeedConfiguration.hOverEMethodEndcap = cms.int32( 3) process.ecalDrivenElectronSeeds.SeedConfiguration.hOverEConeSizeEndcap = cms.double( 0.087) process.ecalDrivenElectronSeeds.SeedConfiguration.maxHOverEEndcaps = cms.double( 0.1) process.ecalDrivenElectronSeeds.SeedConfiguration.z2MinB = cms.double( -0.15) process.ecalDrivenElectronSeeds.SeedConfiguration.z2MaxB = cms.double( 0.15) if hasattr(process, 'ecalDrivenGsfElectrons'): process.ecalDrivenGsfElectrons.hOverEMethodEndcap = cms.int32( 3) process.ecalDrivenGsfElectrons.hOverEConeSizeEndcap = cms.double( 0.087) process.ecalDrivenGsfElectrons.maxDeltaEtaEndcaps = cms.double( 0.015) process.ecalDrivenGsfElectrons.hcalEndcapClusters = cms.InputTag( 'particleFlowClusterHGCHEF') if hasattr(process, 'gsfElectrons'): process.gsfElectrons.hOverEMethodEndcap = cms.int32(3) process.gsfElectrons.hOverEConeSizeEndcap = cms.double( 0.087) process.gsfElectrons.maxDeltaEtaEndcaps = cms.double( 0.015) process.gsfElectrons.hcalEndcapClusters = cms.InputTag( 'particleFlowClusterHGCHEF') # load pandora customization (note we have removed HGC clusters entirely from standard ParticleFlow # doing this) process.load( 'RecoParticleFlow.PandoraTranslator.HGCalTrackCollection_cfi') process.load('RecoParticleFlow.PandoraTranslator.runPandora_cfi') process.pandorapfanew.pf_electron_output_col = process.particleFlowTmp.pf_electron_output_col process.particleFlowBlock.elementImporters[5].source = cms.InputTag( 'HGCalTrackCollection:TracksNotInHGCal') process.pandoraSequence = cms.Sequence(process.HGCalTrackCollection * process.particleFlowBlock * process.pandorapfanew) process.particleFlowReco.replace(process.particleFlowBlock, process.pandoraSequence) process.particleFlowBarrel = process.particleFlowTmp.clone() process.particleFlowTmp = cms.EDProducer( "PFCandidateListMerger", src=cms.VInputTag("particleFlowBarrel", "pandorapfanew"), src1=cms.VInputTag( "particleFlowBarrel:" + str(process.particleFlowTmp.pf_electron_output_col), "pandorapfanew:" + str(process.particleFlowTmp.pf_electron_output_col)), label1=process.particleFlowTmp.pf_electron_output_col) process.mergedParticleFlowSequence = cms.Sequence( process.particleFlowBarrel * process.particleFlowTmp) process.particleFlowReco.replace(process.particleFlowTmp, process.mergedParticleFlowSequence) #mod event content process.load('RecoLocalCalo.Configuration.hgcalLocalReco_EventContent_cff') if hasattr(process, 'FEVTDEBUGHLTEventContent'): process.FEVTDEBUGHLTEventContent.outputCommands.extend( process.hgcalLocalRecoFEVT.outputCommands) process.FEVTDEBUGHLTEventContent.outputCommands.append( 'keep *_particleFlowSuperClusterHGCEE_*_*') process.FEVTDEBUGHLTEventContent.outputCommands.append( 'keep *_pandorapfanew_*_*') if hasattr(process, 'RECOSIMEventContent'): process.RECOSIMEventContent.outputCommands.extend( process.hgcalLocalRecoFEVT.outputCommands) process.RECOSIMEventContent.outputCommands.append( 'keep *_particleFlowSuperClusterHGCEE_*_*') process.RECOSIMEventContent.outputCommands.append( 'keep *_pandorapfanew_*_*') return process
def cust_2023MuonOnly(process): process=customise_gem2023(process) process=customise_rpc(process) process=fixRPCConditions(process) return process