layerView=cms.bool(True), ringView=cms.bool(False), ), TH1ClusterSymmEtaCC=cms.PSet(Nbinx=cms.int32(120), xmin=cms.double(-0.1), xmax=cms.double(1.1)), TH1ClusterWidthCC=cms.PSet(Nbinx=cms.int32(10), xmin=cms.double(-0.5), xmax=cms.double(9.5)), TH1ClusterEstimatorCC=cms.PSet(Nbinx=cms.int32(120), xmin=cms.double(-0.1), xmax=cms.double(1.1)), TProfileClusterPGV=cms.PSet(Nbinx=cms.int32(20), xmin=cms.double(-10.0), xmax=cms.double(10.0), Nbiny=cms.int32(20), ymin=cms.double(-0.1), ymax=cms.double(1.2)), Trending=cms.PSet(Nbins=cms.int32(2400), xmin=cms.double(0.0), xmax=cms.double(150)), TH1ClusterChargePerCM=cms.PSet(layerView=cms.bool(False), ringView=cms.bool(True), Nbinx=cms.int32(100), xmin=cms.double(-0.5), xmax=cms.double(9999.5)), UseDCSFiltering=cms.bool(True)) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(SiStripMonitorTrack, TH1nClustersOn=dict(xmax=5999.5))
from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal phase2_hgcal.toModify( theDigitizers, hgceeDigitizer = cms.PSet(hgceeDigitizer), hgchebackDigitizer = cms.PSet(hgchebackDigitizer), hgchefrontDigitizer = cms.PSet(hgchefrontDigitizer), ) from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hfnoseDigitizer from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose phase2_hfnose.toModify( theDigitizers, hfnoseDigitizer = cms.PSet(hfnoseDigitizer), ) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify( theDigitizers, castor = None ) from SimGeneral.MixingModule.ecalTimeDigitizer_cfi import ecalTimeDigitizer from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer phase2_timing.toModify( theDigitizers, ecalTime = ecalTimeDigitizer.clone() ) from SimFastTiming.Configuration.SimFastTiming_cff import fastTimeDigitizer phase2_timing_layer.toModify( theDigitizers, fastTimingLayer = fastTimeDigitizer.clone() ) from SimFastTiming.Configuration.SimFastTiming_cff import mtdDigitizer from Configuration.Eras.Modifier_phase2_timing_layer_tile_cff import phase2_timing_layer_tile from Configuration.Eras.Modifier_phase2_timing_layer_bar_cff import phase2_timing_layer_bar (phase2_timing_layer_tile | phase2_timing_layer_bar).toModify( theDigitizers,
# Lookup tables for the CSC TP emulator from CalibMuon.CSCCalibration.CSCL1TPLookupTableEP_cff import * # CSC TPG from L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigis_cfi import * valCscStage2Digis = cscTriggerPrimitiveDigis.clone( CSCComparatorDigiProducer="muonCSCDigis:MuonCSCComparatorDigi", CSCWireDigiProducer="muonCSCDigis:MuonCSCWireDigi", GEMPadDigiClusterProducer="", commonParam=dict(runME11ILT=False)) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(valCscStage2Digis, keepShowers=True, commonParam=dict(run3=True, runCCLUT_OTMB=True, runPhase2=True, runME11Up=True, runME21Up=True, runME31Up=True, runME41Up=True)) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toModify(valCscStage2Digis, GEMPadDigiClusterProducer="valMuonGEMPadDigiClusters", commonParam=dict(runME11ILT=True)) # EMTF from L1Trigger.L1TMuonEndCap.simEmtfDigis_cfi import * valEmtfStage2Digis = simEmtfDigis.clone(CSCInput="emtfStage2Digis", RPCInput="muonRPCDigis", GEMInput='valMuonGEMPadDigiClusters')
# --- Only for 2018 data & MC _run2_HCAL_2018_extraCommands = [ "keep *_packedPFCandidates_hcalDepthEnergyFractions_*" ] from Configuration.Eras.Modifier_run2_HCAL_2018_cff import run2_HCAL_2018 run2_HCAL_2018.toModify(MicroEventContent, outputCommands=MicroEventContent.outputCommands + _run2_HCAL_2018_extraCommands) _run3_common_extraCommands = [ "drop *_packedPFCandidates_hcalDepthEnergyFractions_*" ] from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(MicroEventContent, outputCommands=MicroEventContent.outputCommands + _run3_common_extraCommands) # --- _pp_on_AA_extraCommands = [ 'keep patPackedCandidates_hiPixelTracks_*_*', 'keep patPackedCandidates_packedPFCandidatesRemoved_*_*', 'keep *_packedCandidateMuonID_*_*', 'keep *_slimmedJets_pfCandidates_*', 'keep floatedmValueMap_packedPFCandidateTrackChi2_*_*', 'keep floatedmValueMap_lostTrackChi2_*_*', 'keep recoCentrality_hiCentrality_*_*', 'keep int_centralityBin_*_*', 'keep recoHFFilterInfo_hiHFfilters_*_*', 'keep recoClusterCompatibility_hiClusterCompatibility_*_*', 'keep *_offlineSlimmedPrimaryVerticesRecovery_*_*',
## no sorting/selecting in MPC from Configuration.Eras.Modifier_run2_common_cff import run2_common run2_common.toModify(cscTriggerPrimitiveDigis, debugParameters=True, checkBadChambers=False, commonParam=dict(gangedME1a=False), mpcParam=auxPSets.mpcParamRun2.clone()) ## turn on upgrade CSC algorithm without GEMs ## originally intended for Phase-2, but moved up to Run-3 from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(cscTriggerPrimitiveDigis, keepShowers=True, commonParam=dict(run3=True, runCCLUT_OTMB=True, runPhase2=True, runME11Up=True, runME21Up=True, runME31Up=True, runME41Up=True)) ## GEM-CSC integrated local trigger in ME1/1 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toModify( cscTriggerPrimitiveDigis, GEMPadDigiClusterProducer=cms.InputTag("simMuonGEMPadDigiClusters"), commonParam=dict(runME11ILT=True)) ## GEM-CSC integrated local trigger in ME2/1 ## enable the Phase-2 ALCT processors from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
# AlCaReco for track based alignment using MinBias events OutALCARECOTkAlMinBias_noDrop = cms.PSet( SelectEvents=cms.untracked.PSet( SelectEvents=cms.vstring('pathALCARECOTkAlMinBias')), outputCommands=cms.untracked.vstring( 'keep *_ALCARECOTkAlMinBias_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', 'keep DcsStatuss_scalersRawToDigi_*_*', 'keep *_offlinePrimaryVertices_*_*', 'keep *_offlineBeamSpot_*_*')) import copy OutALCARECOTkAlMinBias = copy.deepcopy(OutALCARECOTkAlMinBias_noDrop) OutALCARECOTkAlMinBias.outputCommands.insert(0, "drop *") # in Run3, SCAL digis replaced by onlineMetaDataDigis _run3_common_removedCommands = OutALCARECOTkAlMinBias.outputCommands _run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') _run3_common_extraCommands = [ 'keep DCSRecord_onlineMetaDataDigis_*_*', 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*' ] from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlMinBias, outputCommands=_run3_common_removedCommands + _run3_common_extraCommands)
ClusWidthVsAmpTH2=cms.PSet(Nbinsx=cms.int32(2000), xmin=cms.double(0.), xmax=cms.double(2000.), Nbinsy=cms.int32(100), ymin=cms.double(0.), ymax=cms.double(100.), globalswitchon=cms.bool(True), subdetswitchon=cms.bool(False), layerswitchon=cms.bool(False), moduleswitchon=cms.bool(False)), Mod_On=cms.bool(True), ClusterHisto=cms.bool(False), HistoryProducer=cms.InputTag("consecutiveHEs"), ApvPhaseProducer=cms.InputTag("APVPhases"), UseDCSFiltering=cms.bool(True), ShowControlView=cms.bool(False), ShowReadoutView=cms.bool(False)) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(SiStripMonitorCluster, TH1NClusPx=dict(xmax=39999.5)) run3_common.toModify(SiStripMonitorCluster, TH1NClusStrip=dict(xmax=299999.5)) run3_common.toModify(SiStripMonitorCluster, TProfNClusStrip=dict(ymax=299999.5)) run3_common.toModify(SiStripMonitorCluster, TProfNClusPixel=dict(ymax=39999.5)) run3_common.toModify(SiStripMonitorCluster, TProfNClustersFED=dict(ymax=299999.5)) run3_common.toModify(SiStripMonitorCluster, TH2CStripVsCpixel=dict(xmax=299999.5, ymax=39999.5)) run3_common.toModify(SiStripMonitorCluster, TH1TotalNumberOfClusters=dict(xmax=44999.5))
castor = cms.PSet( castorDigitizer ), puVtx = cms.PSet( pileupVtxDigitizer ), mergedtruth = cms.PSet( trackingParticles ) ) theDigitizersMixPreMix.strip.Noise = cms.bool(False) # will be added in DataMixer theDigitizersMixPreMix.strip.PreMixingMode = cms.bool(True) #Special mode to save all hit strips theDigitizersMixPreMix.strip.FedAlgorithm = cms.int32(5) # special ZS mode: accept adc>0 theDigitizersMixPreMix.pixel.AddPixelInefficiency = cms.bool(False) # will be added in DataMixer from Configuration.Eras.Modifier_fastSim_cff import fastSim if fastSim.isChosen(): # fastsim does not model castor delattr(theDigitizersMixPreMix,"castor") # fastsim does not digitize pixel and strip hits delattr(theDigitizersMixPreMix,"pixel") delattr(theDigitizersMixPreMix,"strip") from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify( theDigitizersMixPreMix, castor = None ) theDigitizersMixPreMixValid = cms.PSet( theDigitizersMixPreMix ) theDigitizersMixPreMix.mergedtruth.select.signalOnlyTP = cms.bool(True)
def customisePixelLocalReconstruction(process): if not 'HLTDoLocalPixelSequence' in process.__dict__: return process # FIXME replace the Sequences with empty ones to avoid expanding them during the (re)definition of Modules and EDAliases process.HLTDoLocalPixelSequence = cms.Sequence() # Event Setup process.load( "CalibTracker.SiPixelESProducers.siPixelGainCalibrationForHLTGPU_cfi" ) # this should be used only on GPUs, will crash otherwise process.load( "CalibTracker.SiPixelESProducers.siPixelROCsStatusAndMappingWrapperESProducer_cfi" ) # this should be used only on GPUs, will crash otherwise process.load("RecoLocalTracker.SiPixelRecHits.PixelCPEFastESProducer_cfi") # Modules and EDAliases # referenced in HLTDoLocalPixelTask # transfer the beamspot to the gpu from RecoVertex.BeamSpotProducer.offlineBeamSpotToCUDA_cfi import offlineBeamSpotToCUDA as _offlineBeamSpotToCUDA process.hltOnlineBeamSpotToCUDA = _offlineBeamSpotToCUDA.clone( src="hltOnlineBeamSpot") # reconstruct the pixel digis and clusters on the gpu from RecoLocalTracker.SiPixelClusterizer.siPixelRawToClusterCUDA_cfi import siPixelRawToClusterCUDA as _siPixelRawToClusterCUDA process.hltSiPixelClustersCUDA = _siPixelRawToClusterCUDA.clone( # use the same thresholds as the legacy module clusterThreshold_layer1=process.hltSiPixelClusters.ClusterThreshold_L1, clusterThreshold_otherLayers=process.hltSiPixelClusters. ClusterThreshold) # use the pixel channel calibrations scheme for Run 3 run3_common.toModify(process.hltSiPixelClustersCUDA, isRun2=False) # copy the pixel digis errors to the host from EventFilter.SiPixelRawToDigi.siPixelDigiErrorsSoAFromCUDA_cfi import siPixelDigiErrorsSoAFromCUDA as _siPixelDigiErrorsSoAFromCUDA process.hltSiPixelDigiErrorsSoA = _siPixelDigiErrorsSoAFromCUDA.clone( src="hltSiPixelClustersCUDA") # copy the pixel digis (except errors) and clusters to the host from EventFilter.SiPixelRawToDigi.siPixelDigisSoAFromCUDA_cfi import siPixelDigisSoAFromCUDA as _siPixelDigisSoAFromCUDA process.hltSiPixelDigisSoA = _siPixelDigisSoAFromCUDA.clone( src="hltSiPixelClustersCUDA") # reconstruct the pixel digis on the cpu process.hltSiPixelDigisLegacy = process.hltSiPixelDigis.clone() # SwitchProducer wrapping a subset of the legacy pixel digis producer, or the conversion of the pixel digis errors to the legacy format from EventFilter.SiPixelRawToDigi.siPixelDigiErrorsFromSoA_cfi import siPixelDigiErrorsFromSoA as _siPixelDigiErrorsFromSoA process.hltSiPixelDigis = SwitchProducerCUDA( # legacy producer cpu=cms.EDAlias(hltSiPixelDigisLegacy=cms.VPSet( cms.PSet(type=cms.string("DetIdedmEDCollection")), cms.PSet(type=cms.string("SiPixelRawDataErroredmDetSetVector")), cms.PSet(type=cms.string("PixelFEDChanneledmNewDetSetVector")))), # conversion from SoA to legacy format cuda=_siPixelDigiErrorsFromSoA.clone( digiErrorSoASrc="hltSiPixelDigiErrorsSoA", UsePhase1=True)) # reconstruct the pixel clusters on the cpu process.hltSiPixelClustersLegacy = process.hltSiPixelClusters.clone( src="hltSiPixelDigisLegacy") # SwitchProducer wrapping a subset of the legacy pixel cluster producer, or the conversion of the pixel digis (except errors) and clusters to the legacy format from RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoA_cfi import siPixelDigisClustersFromSoA as _siPixelDigisClustersFromSoA process.hltSiPixelClusters = SwitchProducerCUDA( # legacy producer cpu=cms.EDAlias(hltSiPixelClustersLegacy=cms.VPSet( cms.PSet(type=cms.string("SiPixelClusteredmNewDetSetVector")))), # conversion from SoA to legacy format cuda=_siPixelDigisClustersFromSoA.clone( src="hltSiPixelDigisSoA", produceDigis=False, storeDigis=False, # use the same thresholds as the legacy module clusterThreshold_layer1=process.hltSiPixelClusters. ClusterThreshold_L1, clusterThreshold_otherLayers=process.hltSiPixelClusters. ClusterThreshold)) # reconstruct the pixel rechits on the gpu from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDA_cfi import siPixelRecHitCUDA as _siPixelRecHitCUDA process.hltSiPixelRecHitsCUDA = _siPixelRecHitCUDA.clone( src="hltSiPixelClustersCUDA", beamSpot="hltOnlineBeamSpotToCUDA") # SwitchProducer wrapping the legacy pixel rechit producer or the transfer of the pixel rechits to the host and the conversion from SoA from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDA_cfi import siPixelRecHitFromCUDA as _siPixelRecHitFromCUDA process.hltSiPixelRecHits = SwitchProducerCUDA( # legacy producer cpu=process.hltSiPixelRecHits, # conversion from SoA to legacy format cuda=_siPixelRecHitFromCUDA.clone( pixelRecHitSrc="hltSiPixelRecHitsCUDA", src="hltSiPixelClusters")) # Tasks and Sequences process.HLTDoLocalPixelTask = cms.Task( process.hltOnlineBeamSpotToCUDA, # transfer the beamspot to the gpu process. hltSiPixelClustersCUDA, # reconstruct the pixel digis and clusters on the gpu process. hltSiPixelRecHitsCUDA, # reconstruct the pixel rechits on the gpu process. hltSiPixelDigisSoA, # copy the pixel digis (except errors) and clusters to the host process. hltSiPixelDigiErrorsSoA, # copy the pixel digis errors to the host process.hltSiPixelDigisLegacy, # legacy pixel digis producer process. hltSiPixelDigis, # SwitchProducer wrapping a subset of the legacy pixel digis producer, or the conversion of the pixel digis errors from SoA process.hltSiPixelClustersLegacy, # legacy pixel cluster producer process. hltSiPixelClusters, # SwitchProducer wrapping a subset of the legacy pixel cluster producer, or the conversion of the pixel digis (except errors) and clusters from SoA process. hltSiPixelClustersCache, # legacy module, used by the legacy pixel quadruplet producer process.hltSiPixelRecHits ) # SwitchProducer wrapping the legacy pixel rechit producer or the transfer of the pixel rechits to the host and the conversion from SoA process.HLTDoLocalPixelSequence = cms.Sequence(process.HLTDoLocalPixelTask) # workaround for AlCa paths if 'AlCa_LumiPixelsCounts_Random_v1' in process.__dict__: if "HLTSchedule" in process.__dict__: ind = process.HLTSchedule.index( process.AlCa_LumiPixelsCounts_Random_v1) process.HLTSchedule.remove(process.AlCa_LumiPixelsCounts_Random_v1) # redefine the path to use the HLTDoLocalPixelSequence process.AlCa_LumiPixelsCounts_Random_v1 = cms.Path( process.HLTBeginSequenceRandom + process.hltScalersRawToDigi + process.hltPreAlCaLumiPixelsCountsRandom + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence) if "HLTSchedule" in process.__dict__: process.HLTSchedule.insert(ind, process.AlCa_LumiPixelsCounts_Random_v1) if 'AlCa_LumiPixelsCounts_ZeroBias_v1' in process.__dict__: if "HLTSchedule" in process.__dict__: ind = process.HLTSchedule.index( process.AlCa_LumiPixelsCounts_ZeroBias_v1) process.HLTSchedule.remove( process.AlCa_LumiPixelsCounts_ZeroBias_v1) # redefine the path to use the HLTDoLocalPixelSequence process.AlCa_LumiPixelsCounts_ZeroBias_v1 = cms.Path( process.HLTBeginSequence + process.hltScalersRawToDigi + process.hltL1sZeroBias + process.hltPreAlCaLumiPixelsCountsZeroBias + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence) if "HLTSchedule" in process.__dict__: process.HLTSchedule.insert( ind, process.AlCa_LumiPixelsCounts_ZeroBias_v1) # done return process
etaPSet=cms.PSet( nbins=cms.int32(60), xmin=cms.double(-3.), xmax=cms.double(3.), ), LxyPSet=cms.PSet( nbins=cms.int32(350), xmin=cms.double(0.), xmax=cms.double(70.), ), chi2oNDFPSet=cms.PSet( nbins=cms.int32(100), xmin=cms.double(0.), xmax=cms.double(30.), ), puPSet=cms.PSet( nbins=cms.int32(100), xmin=cms.double(-0.5), xmax=cms.double(99.5), ), lsPSet=cms.PSet( nbins=cms.int32(2000), xmin=cms.double(0.), xmax=cms.double(2000.), ), ), ) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(v0Monitor, forceSCAL=False)
# .groupBy("PXBarrel/FED", "EXTEND_X").save(), Specification(PerReadout).groupBy("PXForward/FED/Channel").groupBy( "PXForward/FED", "EXTEND_X").save(), #Specification(PerReadout).groupBy("PXForward/FED/Channel/RocInLink") # .groupBy("PXForward/FED/Channel", "EXTEND_Y") # .groupBy("PXForward/FED", "EXTEND_X").save(), Specification(PerReadout).groupBy("PXBarrel/FED").groupBy( "PXBarrel", "EXTEND_X").save(), Specification(PerReadout).groupBy("PXForward/FED").groupBy( "PXForward", "EXTEND_X").save(), )) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(SiPixelPhase1ClustersNdigisInclusive, range_max=150000, range_nbins=150) # This has to match the order of the names in the C++ enum. SiPixelPhase1DigisConf = cms.VPSet( SiPixelPhase1DigisADC, SiPixelPhase1DigisNdigis, SiPixelPhase1ClustersNdigisInclusive, SiPixelPhase1DigisNdigisPerFED, SiPixelPhase1DigisNdigisPerFEDtrend, SiPixelPhase1DigisEvents, SiPixelPhase1DigisHitmap, SiPixelPhase1DigisOccupancy, ) from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
# Reconstruction algorithm configuration data to fetch from DB, if any algoConfigClass=cms.string(""), # Turn rechit status bit setters on/off setNegativeFlagsQIE8=cms.bool(True), setNegativeFlagsQIE11=cms.bool(False), setNoiseFlagsQIE8=cms.bool(True), setNoiseFlagsQIE11=cms.bool(False), setPulseShapeFlagsQIE8=cms.bool(True), setPulseShapeFlagsQIE11=cms.bool(False), setLegacyFlagsQIE8=cms.bool(True), setLegacyFlagsQIE11=cms.bool(False), # Parameter sets configuring rechit status bit setters flagParametersQIE8=cms.PSet(hbheStatusFlag.qie8Config), flagParametersQIE11=cms.PSet(), pulseShapeParametersQIE8=cms.PSet(pulseShapeFlag.qie8Parameters), pulseShapeParametersQIE11=cms.PSet()) # Disable the "triangle peak fit" and the corresponding HBHETriangleNoise flag hbheprereco.pulseShapeParametersQIE8.TrianglePeakTS = 10000 from Configuration.Eras.Modifier_run2_HE_2017_cff import run2_HE_2017 run2_HE_2017.toModify(hbheprereco, saveEffectivePedestal=True) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(hbheprereco, algorithm=dict(applyLegacyHBMCorrection=False, useM3=False))
import FWCore.ParameterSet.Config as cms # Turn on the PCC update which synchronize timePhase in PCC as in SIM PCCUpdate = cms.PSet(applyFixPCC=cms.bool(False)) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(PCCUpdate, applyFixPCC=True)
hb = dict( doSiPMSmearing = cms.bool(True), threshold_currentTDC = cms.double(18.7), sipmTau = cms.double(10.), ) ) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify( hcalSimParameters, hb = dict( readoutFrameSize = cms.int32(10), binOfMaximum = cms.int32(6) ), he = dict( readoutFrameSize = cms.int32(10), binOfMaximum = cms.int32(6) ), hf1 = dict( samplingFactor = 0.35, timePhase = -6.0 ), hf2 = dict( samplingFactor = 0.35, timePhase = -7.0 ) ) _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,
dedxTruncated40 = dedxHarmonic2.clone(estimator='truncated') dedxMedian = dedxHarmonic2.clone(estimator='median') dedxUnbinned = dedxHarmonic2.clone(estimator='unbinnedFit') dedxDiscrimProd = dedxHarmonic2.clone(estimator='productDiscrim') dedxDiscrimBTag = dedxHarmonic2.clone(estimator='btagDiscrim') dedxDiscrimSmi = dedxHarmonic2.clone(estimator='smirnovDiscrim') dedxDiscrimASmi = dedxHarmonic2.clone(estimator='asmirnovDiscrim') doAlldEdXEstimatorsTask = cms.Task(dedxTruncated40, dedxHarmonic2, dedxPixelHarmonic2, dedxPixelAndStripHarmonic2T085, dedxHitInfo) doAlldEdXEstimators = cms.Sequence(doAlldEdXEstimatorsTask) fastSim.toReplaceWith(doAlldEdXEstimatorsTask, cms.Task(dedxHarmonic2, dedxPixelHarmonic2)) # use only the strips for Run-3 from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(dedxHitInfo, lowPtTracksEstimatorParameters=dict(fraction=0., exponent=-2.0, truncate=False), usePixelForPrescales=False)
covarianceVersion = cms.int32(0), #so far: 0 is Phase0, 1 is Phase1 # covariancePackingSchemas = cms.vint32(1,257,513,769,0), # a cheaper schema in kb/ev covariancePackingSchemas = cms.vint32(8,264,520,776,0), # more accurate schema +0.6kb/ev pfCandidateTypesForHcalDepth = cms.vint32(), storeHcalDepthEndcapOnly = cms.bool(False), # switch to store info only for endcap storeTiming = cms.bool(False) ) from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel phase1Pixel.toModify(packedPFCandidates, covarianceVersion =1 ) from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy run2_miniAOD_80XLegacy.toModify(packedPFCandidates, chargedHadronIsolation = "" ) from Configuration.Eras.Modifier_run2_HCAL_2018_cff import run2_HCAL_2018 run2_HCAL_2018.toModify(packedPFCandidates, pfCandidateTypesForHcalDepth = [130,11,22,211,13], # PF cand types for adding Hcal depth energy frac information # (130: neutral h, 11: ele, 22: photon, 211: charged h, 13: mu) # excluding e.g. 1:h_HF, 2:egamma_HF storeHcalDepthEndcapOnly = True ) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(packedPFCandidates, pfCandidateTypesForHcalDepth = [], # For now, no PF cand type is considered for addition of Hcal depth energy frac storeHcalDepthEndcapOnly = False ) from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing phase2_timing.toModify(packedPFCandidates, storeTiming = cms.bool(True))
import FWCore.ParameterSet.Config as cms # AlCaReco for track based alignment using MuonIsolated events OutALCARECOTkAlMuonIsolated_noDrop = cms.PSet( SelectEvents=cms.untracked.PSet( SelectEvents=cms.vstring('pathALCARECOTkAlMuonIsolated')), outputCommands=cms.untracked.vstring( 'keep *_ALCARECOTkAlMuonIsolated_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep *_TriggerResults_*_*', 'keep DcsStatuss_scalersRawToDigi_*_*', 'keep *_offlinePrimaryVertices_*_*')) import copy OutALCARECOTkAlMuonIsolated = copy.deepcopy(OutALCARECOTkAlMuonIsolated_noDrop) OutALCARECOTkAlMuonIsolated.outputCommands.insert(0, "drop *") # in Run3, SCAL digis replaced by onlineMetaDataDigis _run3_common_removedCommands = OutALCARECOTkAlMuonIsolated.outputCommands _run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') _run3_common_extraCommands = ['keep DCSRecord_onlineMetaDataDigis_*_*'] from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOTkAlMuonIsolated, outputCommands=_run3_common_removedCommands + _run3_common_extraCommands)
import FWCore.ParameterSet.Config as cms from RecoLocalTracker.SiPixelRecHits._generic_default_cfi import _generic_default PixelCPEGenericESProducer = _generic_default.clone() # This customizes the Run3 Pixel CPE generic reconstruction in order to activate the IrradiationBiasCorrection # because of the expected resolution loss due to radiation damage from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(PixelCPEGenericESProducer, IrradiationBiasCorrection=True) # customize the Pixel CPE generic producer for phase2 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toModify( PixelCPEGenericESProducer, UseErrorsFromTemplates=True, LoadTemplatesFromDB=True, NoTemplateErrorsWhenNoTrkAngles=True, TruncatePixelCharge=False, IrradiationBiasCorrection=False, # set IBC off DoCosmics=False, Upgrade=True # use 'upgrade' version of hardcoded CPE errors ) # customize the Pixel CPE generic producer in order not to use any template information from Configuration.ProcessModifiers.phase2_PixelCPEGeneric_cff import phase2_PixelCPEGeneric phase2_PixelCPEGeneric.toModify( PixelCPEGenericESProducer, UseErrorsFromTemplates=False, # no GenErrors LoadTemplatesFromDB=False, # do not load templates )
# FGThreshold=cms.uint32(12) # ), #vdouble weights = { -1, -1, 1, 1} //low lumi algo # Input digi label (_must_ be without zero-suppression!) inputLabel=cms.VInputTag(cms.InputTag('simHcalUnsuppressedDigis'), cms.InputTag('simHcalUnsuppressedDigis')), inputUpgradeLabel=cms.VInputTag( cms.InputTag('simHcalUnsuppressedDigis:HBHEQIE11DigiCollection'), cms.InputTag('simHcalUnsuppressedDigis:HFQIE10DigiCollection')), InputTagFEDRaw=cms.InputTag("rawDataCollector"), overrideDBweightsAndFilterHB=cms.bool(False), overrideDBweightsAndFilterHE=cms.bool(False), RunZS=cms.bool(False), FrontEndFormatError=cms.bool( False), # Front End Format Error, for real data only PeakFinderAlgorithm=cms.int32(2), tpScales=tpScales, ) run2_HE_2017.toModify(simHcalTriggerPrimitiveDigis, upgradeHE=cms.bool(True)) run2_HF_2017.toModify(simHcalTriggerPrimitiveDigis, upgradeHF=cms.bool(True), numberOfSamplesHF=cms.int32(2), numberOfPresamplesHF=cms.int32(1)) run2_HF_2017.toModify(tpScales.HF, NCTShift=cms.int32(2)) run3_HB.toModify(simHcalTriggerPrimitiveDigis, upgradeHB=cms.bool(True)) run3_common.toModify(simHcalTriggerPrimitiveDigis, applySaturationFix=cms.bool(True)) run3_HB.toModify(tpScales.HBHE, LSBQIE11Overlap=cms.double(1 / 16.))
he=dict(readoutFrameSize=cms.int32(8), binOfMaximum=cms.int32(4), threshold_currentTDC=cms.double(18.7))) from Configuration.Eras.Modifier_run3_HB_cff import run3_HB run3_HB.toModify(hcalSimParameters, hb=dict( doSiPMSmearing=cms.bool(True), threshold_currentTDC=cms.double(18.7), sipmTau=cms.double(10.), )) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(hcalSimParameters, hb=dict(readoutFrameSize=cms.int32(10), binOfMaximum=cms.int32(6)), he=dict(readoutFrameSize=cms.int32(10), binOfMaximum=cms.int32(6))) _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, 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, 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)
"gedelectron_EEUncertainty_offline_v1" ], combinationRegressionWeightLabels=["gedelectron_p4combination_offline"], #Activate the evaluation of Egamma PFID DNN EleDNNPFid= dict(modelsFiles=[ "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/lowpT/lowpT_modelDNN.pb", "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEB/highpTEB_modelDNN.pb", "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEE/highpTEE_modelDNN.pb" ], scalersFiles=[ "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/lowpT/lowpT_scaler.txt", "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEB/highpTEB_scaler.txt", "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEE/highpTEE_scaler.txt" ])) from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA pp_on_AA.toModify(gedGsfElectronsTmp.preselection, minSCEtBarrel=15.0) pp_on_AA.toModify(gedGsfElectronsTmp.preselection, minSCEtEndcaps=15.0) from Configuration.ProcessModifiers.egamma_lowPt_exclusive_cff import egamma_lowPt_exclusive egamma_lowPt_exclusive.toModify(gedGsfElectronsTmp.preselection, minSCEtBarrel=1.0, minSCEtEndcaps=1.0) egamma_lowPt_exclusive.toModify(gedGsfElectronsTmp, applyPreselection=False) # Activate the Egamma PFID dnn only for Run3 from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(gedGsfElectronsTmp.EleDNNPFid, enabled=True)
SiPixelPhase1TrackEfficiencyVertices = DefaultHistoTrack.clone( name="num_vertices", title="PrimaryVertices", xlabel="# Vertices", dimensions=1, range_min=-0.5, range_max=100.5, range_nbins=101, specs=VPSet( Specification().groupBy("").save(), Specification().groupBy("/Lumisection").reduce("MEAN").groupBy( "", "EXTEND_X").save())) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(SiPixelPhase1TrackEfficiencyVertices, range_max=150.5, range_nbins=151) SiPixelPhase1TrackEfficiencyConf = cms.VPSet( SiPixelPhase1TrackEfficiencyValid, SiPixelPhase1TrackEfficiencyMissing, SiPixelPhase1TrackEfficiencyInactive, SiPixelPhase1TrackEfficiencyEfficiency, SiPixelPhase1TrackEfficiencyVertices) from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer SiPixelPhase1TrackEfficiencyAnalyzer = DQMEDAnalyzer( 'SiPixelPhase1TrackEfficiency', clusters=cms.InputTag("siPixelClusters"), tracks=cms.InputTag("generalTracks"), trajectoryInput=cms.InputTag("refittedForPixelDQM"), primaryvertices=cms.InputTag("offlinePrimaryVertices"),
## ## Change the HFShowerLibrary file from Run 2 ## from Configuration.Eras.Modifier_run2_common_cff import run2_common ## ## Change HCAL numbering scheme in 2017 ## from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017 run2_HCAL_2017.toModify( g4SimHits, HCalSD = dict( TestNumberingScheme = True ) ) ## ## Disable Castor from Run 3 ## from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify( g4SimHits, CastorSD = dict( useShowerLibrary = False ) ) ## ## Change ECAL time slices ## from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing phase2_timing.toModify( g4SimHits.ECalSD, StoreLayerTimeSim = cms.untracked.bool(True), TimeSliceUnit = cms.double(0.001) ) ## ## Change CALO Thresholds ## from Configuration.Eras.Modifier_h2tb_cff import h2tb h2tb.toModify(g4SimHits.CaloSD, EminHits = cms.vdouble(0.0,0.0,0.0,0.0,0.0), TmaxHits = cms.vdouble(1000.0,1000.0,1000.0,1000.0,2000.0) )
OutALCARECOSiStripCalCosmics_noDrop = cms.PSet( SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('pathALCARECOSiStripCalCosmics') ), outputCommands = cms.untracked.vstring( 'keep *_ALCARECOSiStripCalCosmics_*_*', 'keep *_siStripClusters_*_*', 'keep *_siPixelClusters_*_*', 'keep DetIdedmEDCollection_siStripDigis_*_*', 'keep L1AcceptBunchCrossings_*_*_*', 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', 'keep LumiScalerss_scalersRawToDigi_*_*', 'keep DcsStatuss_scalersRawToDigi_*_*', 'keep *_TriggerResults_*_*') ) # in Run3, SCAL digis replaced by onlineMetaDataDigis import copy _run3_common_removedCommands = OutALCARECOSiStripCalCosmics_noDrop.outputCommands.copy() _run3_common_removedCommands.remove('keep LumiScalerss_scalersRawToDigi_*_*') _run3_common_removedCommands.remove('keep DcsStatuss_scalersRawToDigi_*_*') _run3_common_extraCommands = ['keep DCSRecord_onlineMetaDataDigis_*_*', 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*'] from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(OutALCARECOSiStripCalCosmics_noDrop, outputCommands = _run3_common_removedCommands + _run3_common_extraCommands) OutALCARECOSiStripCalCosmics=OutALCARECOSiStripCalCosmics_noDrop.clone() OutALCARECOSiStripCalCosmics.outputCommands.insert(0,"drop *")
name="cluster_ratio", title="Pixel to Strip clusters ratio", xlabel="ratio", dimensions=1, specs=VPSet( Specification().groupBy("PXAll").save(100, 0, 1), Specification().groupBy("PXAll/LumiBlock").reduce("MEAN").groupBy( "PXAll", "EXTEND_X").save(), Specification().groupBy("PXAll/BX").reduce("MEAN").groupBy( "PXAll", "EXTEND_X").save(), )) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(SiPixelPhase1ClustersNClustersInclusive, range_max=40000, range_nbins=200) SiPixelPhase1ClustersConf = cms.VPSet( SiPixelPhase1ClustersCharge, SiPixelPhase1ClustersBigPixelCharge, SiPixelPhase1ClustersNotBigPixelCharge, SiPixelPhase1ClustersSize, SiPixelPhase1ClustersSizeX, SiPixelPhase1ClustersSizeY, SiPixelPhase1ClustersNClusters, SiPixelPhase1ClustersNClustersInclusive, SiPixelPhase1ClustersEventrate, SiPixelPhase1ClustersPositionB, SiPixelPhase1ClustersPositionF, SiPixelPhase1ClustersPositionXZ, SiPixelPhase1ClustersPositionYZ, SiPixelPhase1ClustersSizeVsEta, SiPixelPhase1ClustersReadoutCharge, SiPixelPhase1ClustersReadoutNClusters, SiPixelPhase1ClustersPixelToStripRatio) from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
theDigitizers, hgceeDigitizer=cms.PSet(hgceeDigitizer), hgchebackDigitizer=cms.PSet(hgchebackDigitizer), hgchefrontDigitizer=cms.PSet(hgchefrontDigitizer), ) from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hfnoseDigitizer from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose phase2_hfnose.toModify( theDigitizers, hfnoseDigitizer=cms.PSet(hfnoseDigitizer), ) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(theDigitizers, castor=None) from SimGeneral.MixingModule.ecalTimeDigitizer_cfi import ecalTimeDigitizer from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing phase2_timing.toModify(theDigitizers, ecalTime=ecalTimeDigitizer.clone()) from SimFastTiming.Configuration.SimFastTiming_cff import mtdDigitizer from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer phase2_timing_layer.toModify(theDigitizers, fastTimingLayer=mtdDigitizer.clone()) premix_stage2.toModify( theDigitizers, ecal=None, hcal=None, )
def customisePixelTrackReconstruction(process): if not 'HLTRecoPixelTracksSequence' in process.__dict__: return process hasHLTPixelVertexReco = 'HLTRecopixelvertexingSequence' in process.__dict__ # FIXME replace the Sequences with empty ones to avoid expanding them during the (re)definition of Modules and EDAliases process.HLTRecoPixelTracksSequence = cms.Sequence() if hasHLTPixelVertexReco: process.HLTRecopixelvertexingSequence = cms.Sequence() # Modules and EDAliases # referenced in process.HLTRecoPixelTracksTask # cpu only: convert the pixel rechits from legacy to SoA format from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacy_cfi import siPixelRecHitSoAFromLegacy as _siPixelRecHitSoAFromLegacy process.hltSiPixelRecHitSoA = _siPixelRecHitSoAFromLegacy.clone( src="hltSiPixelClusters", beamSpot="hltOnlineBeamSpot", convertToLegacy=True) # build pixel ntuplets and pixel tracks in SoA format on gpu from RecoPixelVertexing.PixelTriplets.pixelTracksCUDA_cfi import pixelTracksCUDA as _pixelTracksCUDA process.hltPixelTracksCUDA = _pixelTracksCUDA.clone( idealConditions=False, pixelRecHitSrc="hltSiPixelRecHitsCUDA", onGPU=True) # use quality cuts tuned for Run 2 ideal conditions for all Run 3 workflows run3_common.toModify(process.hltPixelTracksCUDA, idealConditions=True) # SwitchProducer providing the pixel tracks in SoA format on cpu from RecoPixelVertexing.PixelTrackFitting.pixelTracksSoA_cfi import pixelTracksSoA as _pixelTracksSoA process.hltPixelTracksSoA = SwitchProducerCUDA( # build pixel ntuplets and pixel tracks in SoA format on cpu cpu=_pixelTracksCUDA.clone(idealConditions=False, pixelRecHitSrc="hltSiPixelRecHitSoA", onGPU=False), # transfer the pixel tracks in SoA format to the host cuda=_pixelTracksSoA.clone(src="hltPixelTracksCUDA")) # use quality cuts tuned for Run 2 ideal conditions for all Run 3 workflows run3_common.toModify(process.hltPixelTracksSoA.cpu, idealConditions=True) # convert the pixel tracks from SoA to legacy format from RecoPixelVertexing.PixelTrackFitting.pixelTrackProducerFromSoA_cfi import pixelTrackProducerFromSoA as _pixelTrackProducerFromSoA process.hltPixelTracks = _pixelTrackProducerFromSoA.clone( beamSpot="hltOnlineBeamSpot", pixelRecHitLegacySrc="hltSiPixelRecHits", trackSrc="hltPixelTracksSoA") # referenced in process.HLTRecopixelvertexingTask if hasHLTPixelVertexReco: # build pixel vertices in SoA format on gpu from RecoPixelVertexing.PixelVertexFinding.pixelVerticesCUDA_cfi import pixelVerticesCUDA as _pixelVerticesCUDA process.hltPixelVerticesCUDA = _pixelVerticesCUDA.clone( pixelTrackSrc="hltPixelTracksCUDA", onGPU=True) # build or transfer pixel vertices in SoA format on cpu from RecoPixelVertexing.PixelVertexFinding.pixelVerticesSoA_cfi import pixelVerticesSoA as _pixelVerticesSoA process.hltPixelVerticesSoA = SwitchProducerCUDA( # build pixel vertices in SoA format on cpu cpu=_pixelVerticesCUDA.clone(pixelTrackSrc="hltPixelTracksSoA", onGPU=False), # transfer the pixel vertices in SoA format to cpu cuda=_pixelVerticesSoA.clone(src="hltPixelVerticesCUDA")) # convert the pixel vertices from SoA to legacy format from RecoPixelVertexing.PixelVertexFinding.pixelVertexFromSoA_cfi import pixelVertexFromSoA as _pixelVertexFromSoA process.hltPixelVertices = _pixelVertexFromSoA.clone( src="hltPixelVerticesSoA", TrackCollection="hltPixelTracks", beamSpot="hltOnlineBeamSpot") # Tasks and Sequences process.HLTRecoPixelTracksTask = cms.Task( process.hltPixelTracksTrackingRegions, # from the original sequence process.hltSiPixelRecHitSoA, # pixel rechits on cpu, converted to SoA process.hltPixelTracksCUDA, # pixel ntuplets on gpu, in SoA format process.hltPixelTracksSoA, # pixel ntuplets on cpu, in SoA format process.hltPixelTracks) # pixel tracks on cpu, in legacy format process.HLTRecoPixelTracksSequence = cms.Sequence( process.HLTRecoPixelTracksTask) if hasHLTPixelVertexReco: process.HLTRecopixelvertexingTask = cms.Task( process.HLTRecoPixelTracksTask, process. hltPixelVerticesCUDA, # pixel vertices on gpu, in SoA format process. hltPixelVerticesSoA, # pixel vertices on cpu, in SoA format process. hltPixelVertices, # pixel vertices on cpu, in legacy format process.hltTrimmedPixelVertices) # from the original sequence process.HLTRecopixelvertexingSequence = cms.Sequence( process.hltPixelTracksFitter + # not used here, kept for compatibility with legacy sequences process. hltPixelTracksFilter, # not used here, kept for compatibility with legacy sequences process.HLTRecopixelvertexingTask) # done return process
cms.PSet(type=cms.string('PixelDigiSimLinkedmDetSetVector'))) simSiPixelDigis = cms.EDAlias( mix=_pixelCommon + [cms.PSet(type=cms.string('PixelFEDChanneledmNewDetSetVector'))]) simSiStripDigis = cms.EDAlias( mix=cms.VPSet(cms.PSet(type=cms.string('SiStripDigiedmDetSetVector')), cms.PSet(type=cms.string('SiStripRawDigiedmDetSetVector')), cms.PSet( type=cms.string('StripDigiSimLinkedmDetSetVector')))) #mergedtruth = cms.EDAlias( # mix = cms.VPSet( # cms.PSet(type = cms.string('TrackingParticles')), # cms.PSet(type = cms.string('TrackingVertexs')) # ) #) genPUProtons = cms.EDAlias( mixData=cms.VPSet(cms.PSet(type=cms.string('recoGenParticles')))) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(simCastorDigis, mix=None) from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toModify(simSiPixelDigis, mix=_pixelCommon) # no castor,pixel,strip digis in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toModify(simCastorDigis, mix=None) fastSim.toModify(simSiPixelDigis, mix=None) fastSim.toModify(simSiStripDigis, mix=None)
def customisePixelLocalReconstruction(process): if not 'HLTDoLocalPixelSequence' in process.__dict__: return process # FIXME replace the Sequences with empty ones to avoid expanding them during the (re)definition of Modules and EDAliases process.HLTDoLocalPixelSequence = cms.Sequence() # Event Setup process.load( "CalibTracker.SiPixelESProducers.siPixelGainCalibrationForHLTGPU_cfi" ) # this should be used only on GPUs, will crash otherwise process.load( "CalibTracker.SiPixelESProducers.siPixelROCsStatusAndMappingWrapperESProducer_cfi" ) # this should be used only on GPUs, will crash otherwise process.load("RecoLocalTracker.SiPixelRecHits.PixelCPEFastESProducer_cfi") # Modules and EDAliases # referenced in HLTDoLocalPixelTask # transfer the beamspot to the gpu from RecoVertex.BeamSpotProducer.offlineBeamSpotToCUDA_cfi import offlineBeamSpotToCUDA as _offlineBeamSpotToCUDA process.hltOnlineBeamSpotToCUDA = _offlineBeamSpotToCUDA.clone( src="hltOnlineBeamSpot") # reconstruct the pixel digis and clusters on the gpu from RecoLocalTracker.SiPixelClusterizer.siPixelRawToClusterCUDA_cfi import siPixelRawToClusterCUDA as _siPixelRawToClusterCUDA process.hltSiPixelClustersCUDA = _siPixelRawToClusterCUDA.clone() # use the pixel channel calibrations scheme for Run 3 run3_common.toModify(process.hltSiPixelClustersCUDA, isRun2=False) # copy the pixel digis errors to the host from EventFilter.SiPixelRawToDigi.siPixelDigiErrorsSoAFromCUDA_cfi import siPixelDigiErrorsSoAFromCUDA as _siPixelDigiErrorsSoAFromCUDA process.hltSiPixelDigiErrorsSoA = _siPixelDigiErrorsSoAFromCUDA.clone( src="hltSiPixelClustersCUDA") # convert the pixel digis errors to the legacy format from EventFilter.SiPixelRawToDigi.siPixelDigiErrorsFromSoA_cfi import siPixelDigiErrorsFromSoA as _siPixelDigiErrorsFromSoA process.hltSiPixelDigiErrors = _siPixelDigiErrorsFromSoA.clone( digiErrorSoASrc="hltSiPixelDigiErrorsSoA", UsePhase1=True) # copy the pixel digis (except errors) and clusters to the host from EventFilter.SiPixelRawToDigi.siPixelDigisSoAFromCUDA_cfi import siPixelDigisSoAFromCUDA as _siPixelDigisSoAFromCUDA process.hltSiPixelDigisSoA = _siPixelDigisSoAFromCUDA.clone( src="hltSiPixelClustersCUDA") # convert the pixel digis (except errors) and clusters to the legacy format from RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoA_cfi import siPixelDigisClustersFromSoA as _siPixelDigisClustersFromSoA process.hltSiPixelDigisClusters = _siPixelDigisClustersFromSoA.clone( src="hltSiPixelDigisSoA") # SwitchProducer wrapping the legacy pixel digis producer or an alias combining the pixel digis information converted from SoA process.hltSiPixelDigis = SwitchProducerCUDA( # legacy producer cpu=process.hltSiPixelDigis, # alias used to access products from multiple conversion modules cuda=cms.EDAlias( hltSiPixelDigisClusters=cms.VPSet( cms.PSet(type=cms.string("PixelDigiedmDetSetVector"))), hltSiPixelDigiErrors=cms.VPSet( cms.PSet(type=cms.string("DetIdedmEDCollection")), cms.PSet( type=cms.string("SiPixelRawDataErroredmDetSetVector")), cms.PSet( type=cms.string("PixelFEDChanneledmNewDetSetVector"))))) # SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA process.hltSiPixelClusters = SwitchProducerCUDA( # legacy producer cpu=process.hltSiPixelClusters, # alias used to access products from multiple conversion modules cuda=cms.EDAlias(hltSiPixelDigisClusters=cms.VPSet( cms.PSet(type=cms.string("SiPixelClusteredmNewDetSetVector"))))) # reconstruct the pixel rechits on the gpu from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDA_cfi import siPixelRecHitCUDA as _siPixelRecHitCUDA process.hltSiPixelRecHitsCUDA = _siPixelRecHitCUDA.clone( src="hltSiPixelClustersCUDA", beamSpot="hltOnlineBeamSpotToCUDA") # SwitchProducer wrapping the legacy pixel rechit producer or the transfer of the pixel rechits to the host and the conversion from SoA from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDA_cfi import siPixelRecHitFromCUDA as _siPixelRecHitFromCUDA process.hltSiPixelRecHits = SwitchProducerCUDA( # legacy producer cpu=process.hltSiPixelRecHits, # converter to legacy format cuda=_siPixelRecHitFromCUDA.clone( pixelRecHitSrc="hltSiPixelRecHitsCUDA", src="hltSiPixelClusters")) # Tasks and Sequences process.HLTDoLocalPixelTask = cms.Task( process.hltOnlineBeamSpotToCUDA, # transfer the beamspot to the gpu process. hltSiPixelClustersCUDA, # reconstruct the pixel digis and clusters on the gpu process. hltSiPixelRecHitsCUDA, # reconstruct the pixel rechits on the gpu process. hltSiPixelDigisSoA, # copy the pixel digis (except errors) and clusters to the host process. hltSiPixelDigisClusters, # convert the pixel digis (except errors) and clusters to the legacy format process. hltSiPixelDigiErrorsSoA, # copy the pixel digis errors to the host process. hltSiPixelDigiErrors, # convert the pixel digis errors to the legacy format process. hltSiPixelDigis, # SwitchProducer wrapping the legacy pixel digis producer or an alias combining the pixel digis information converted from SoA process. hltSiPixelClusters, # SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA process. hltSiPixelClustersCache, # legacy module, used by the legacy pixel quadruplet producer process.hltSiPixelRecHits ) # SwitchProducer wrapping the legacy pixel rechit producer or the transfer of the pixel rechits to the host and the conversion from SoA process.HLTDoLocalPixelSequence = cms.Sequence(process.HLTDoLocalPixelTask) # done return process
import FWCore.ParameterSet.Config as cms from SimMuon.GEMDigitizer.simMuonGEMDigisDef_cfi import * simMuonGEMDigis = simMuonGEMDigisDef.clone() from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2 premix_stage2.toModify(simMuonGEMDigis, mixLabel="mixData") from Configuration.Eras.Modifier_run2_common_cff import run2_common run2_common.toModify(simMuonGEMDigis, instLumi=1.5, bx0filter=True) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(simMuonGEMDigis, instLumi=2.0, bx0filter=True) from Configuration.Eras.Modifier_phase2_common_cff import phase2_common phase2_common.toModify(simMuonGEMDigis, instLumi=5, bx0filter=False)
def customisePixelLocalReconstruction(process): if not 'HLTDoLocalPixelSequence' in process.__dict__: return process # FIXME replace the Sequences with empty ones to avoid expanding them during the (re)definition of Modules and EDAliases process.HLTDoLocalPixelSequence = cms.Sequence() # Event Setup _load_if_missing(process, 'PixelCPEFastESProducer', 'RecoLocalTracker.SiPixelRecHits.PixelCPEFastESProducer_cfi') # these 2 modules should be used only on GPUs, will crash otherwise _load_if_missing(process, 'siPixelGainCalibrationForHLTGPU', 'CalibTracker.SiPixelESProducers.siPixelGainCalibrationForHLTGPU_cfi') _load_if_missing(process, 'siPixelROCsStatusAndMappingWrapperESProducer', 'CalibTracker.SiPixelESProducers.siPixelROCsStatusAndMappingWrapperESProducer_cfi') # Modules and EDAliases # referenced in HLTDoLocalPixelTask # transfer the beamspot to the gpu _clone_if_missing(process, 'hltOnlineBeamSpotToCUDA', 'RecoVertex.BeamSpotProducer.offlineBeamSpotToCUDA_cfi', 'offlineBeamSpotToCUDA', src = 'hltOnlineBeamSpot' ) if 'hltSiPixelClustersCUDA' not in process.__dict__: # reconstruct the pixel digis and clusters on the gpu _hltSiPixelClustersLegacyLabel = 'hltSiPixelClustersLegacy' if 'hltSiPixelClustersLegacy' in process.__dict__ else 'hltSiPixelClusters' _clone(process, 'hltSiPixelClustersCUDA', 'RecoLocalTracker.SiPixelClusterizer.siPixelRawToClusterCUDA_cfi', 'siPixelRawToClusterCUDA', # use the same thresholds as the legacy module clusterThreshold_layer1 = getattr(process, _hltSiPixelClustersLegacyLabel).ClusterThreshold_L1, clusterThreshold_otherLayers = getattr(process, _hltSiPixelClustersLegacyLabel).ClusterThreshold, ) # use the pixel channel calibrations scheme for Run 3 run3_common.toModify(process.hltSiPixelClustersCUDA, isRun2 = False) # copy the pixel digis errors to the host _clone_if_missing(process, 'hltSiPixelDigiErrorsSoA', 'EventFilter.SiPixelRawToDigi.siPixelDigiErrorsSoAFromCUDA_cfi', 'siPixelDigiErrorsSoAFromCUDA', src = 'hltSiPixelClustersCUDA' ) # copy the pixel digis (except errors) and clusters to the host _clone_if_missing(process, 'hltSiPixelDigisSoA', 'EventFilter.SiPixelRawToDigi.siPixelDigisSoAFromCUDA_cfi', 'siPixelDigisSoAFromCUDA', src = 'hltSiPixelClustersCUDA' ) # SwitchProducer: hltSiPixelDigis if not isinstance(process.hltSiPixelDigis, SwitchProducerCUDA): if 'hltSiPixelDigisLegacy' not in process.__dict__: # reconstruct the pixel digis on the cpu process.hltSiPixelDigisLegacy = process.hltSiPixelDigis.clone() # SwitchProducer wrapping a subset of the legacy pixel digis producer, or the conversion of the pixel digis errors to the legacy format process.hltSiPixelDigis = SwitchProducerCUDA( # legacy producer cpu = cms.EDAlias( hltSiPixelDigisLegacy = cms.VPSet( cms.PSet(type = cms.string("DetIdedmEDCollection")), cms.PSet(type = cms.string("SiPixelRawDataErroredmDetSetVector")), cms.PSet(type = cms.string("PixelFEDChanneledmNewDetSetVector")) ) ) ) elif not hasattr(process.hltSiPixelDigis, 'cpu'): raise Exception('unsupported configuration: "process.hltSiPixelDigis" is a SwitchProducerCUDA, but does not have a "cpu" branch') # conversion from SoA to legacy format _clone_if_missing(process.hltSiPixelDigis, 'cuda', 'EventFilter.SiPixelRawToDigi.siPixelDigiErrorsFromSoA_cfi', 'siPixelDigiErrorsFromSoA', digiErrorSoASrc = "hltSiPixelDigiErrorsSoA", UsePhase1 = True ) # SwitchProducer: hltSiPixelClusters if not isinstance(process.hltSiPixelClusters, SwitchProducerCUDA): if 'hltSiPixelClustersLegacy' not in process.__dict__: # reconstruct the pixel clusters on the cpu process.hltSiPixelClustersLegacy = process.hltSiPixelClusters.clone( src = "hltSiPixelDigisLegacy" ) # SwitchProducer wrapping a subset of the legacy pixel cluster producer, or the conversion of the pixel digis (except errors) and clusters to the legacy format process.hltSiPixelClusters = SwitchProducerCUDA( # legacy producer cpu = cms.EDAlias( hltSiPixelClustersLegacy = cms.VPSet( cms.PSet(type = cms.string("SiPixelClusteredmNewDetSetVector")) ) ) ) elif not hasattr(process.hltSiPixelClusters, 'cpu'): raise Exception('unsupported configuration: "process.hltSiPixelClusters" is a SwitchProducerCUDA, but does not have a "cpu" branch') # conversion from SoA to legacy format _clone_if_missing(process.hltSiPixelClusters, 'cuda', 'RecoLocalTracker.SiPixelClusterizer.siPixelDigisClustersFromSoA_cfi', 'siPixelDigisClustersFromSoA', src = 'hltSiPixelDigisSoA', produceDigis = False, storeDigis = False, # use the same thresholds as the legacy module clusterThreshold_layer1 = process.hltSiPixelClustersLegacy.ClusterThreshold_L1, clusterThreshold_otherLayers = process.hltSiPixelClustersLegacy.ClusterThreshold ) # reconstruct the pixel rechits on the gpu _clone_if_missing(process, 'hltSiPixelRecHitsCUDA', 'RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDA_cfi', 'siPixelRecHitCUDA', src = 'hltSiPixelClustersCUDA', beamSpot = 'hltOnlineBeamSpotToCUDA' ) # cpu only: produce the pixel rechits in SoA and legacy format, from the legacy clusters _clone_if_missing(process, 'hltSiPixelRecHitSoA', 'RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacy_cfi', 'siPixelRecHitSoAFromLegacy', src = 'hltSiPixelClusters', beamSpot = 'hltOnlineBeamSpot', convertToLegacy = True ) # SwitchProducer: hltSiPixelRecHits if not isinstance(process.hltSiPixelRecHits, SwitchProducerCUDA): # SwitchProducer wrapping the legacy pixel rechit producer or the transfer of the pixel rechits to the host and the conversion from SoA process.hltSiPixelRecHits = SwitchProducerCUDA( # legacy producer cpu = cms.EDAlias( hltSiPixelRecHitSoA = cms.VPSet( cms.PSet(type = cms.string("SiPixelRecHitedmNewDetSetVector")), cms.PSet(type = cms.string("uintAsHostProduct")) ) ) ) elif not hasattr(process.hltSiPixelRecHits, 'cpu'): raise Exception('unsupported configuration: "process.hltSiPixelRecHits" is a SwitchProducerCUDA, but does not have a "cpu" branch') # conversion from SoA to legacy format _clone_if_missing(process.hltSiPixelRecHits, 'cuda', 'RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDA_cfi', 'siPixelRecHitFromCUDA', pixelRecHitSrc = 'hltSiPixelRecHitsCUDA', src = 'hltSiPixelClusters' ) # Tasks and Sequences if 'HLTDoLocalPixelTask' not in process.__dict__: process.HLTDoLocalPixelTask = cms.Task( process.hltOnlineBeamSpotToCUDA, # transfer the beamspot to the gpu process.hltSiPixelClustersCUDA, # reconstruct the pixel digis and clusters on the gpu process.hltSiPixelRecHitsCUDA, # reconstruct the pixel rechits on the gpu process.hltSiPixelDigisSoA, # copy the pixel digis (except errors) and clusters to the host process.hltSiPixelDigiErrorsSoA, # copy the pixel digis errors to the host process.hltSiPixelDigisLegacy, # legacy pixel digis producer process.hltSiPixelDigis, # SwitchProducer wrapping a subset of the legacy pixel digis producer, or the conversion of the pixel digis errors from SoA process.hltSiPixelClustersLegacy, # legacy pixel cluster producer process.hltSiPixelClusters, # SwitchProducer wrapping a subset of the legacy pixel cluster producer, or the conversion of the pixel digis (except errors) and clusters from SoA process.hltSiPixelClustersCache, # legacy module, used by the legacy pixel quadruplet producer process.hltSiPixelRecHitSoA, # pixel rechits on cpu, in SoA & legacy format process.hltSiPixelRecHits, # SwitchProducer wrapping the legacy pixel rechit producer or the transfer of the pixel rechits to the host and the conversion from SoA ) elif not isinstance(process.HLTDoLocalPixelTask, cms.Task): raise Exception('unsupported configuration: "process.HLTDoLocalPixelTask" already exists, but it is not a Task') # redefine HLTDoLocalPixelSequence (it was emptied at the start of this function) process.HLTDoLocalPixelSequence = cms.Sequence(process.HLTDoLocalPixelTask) # workaround for old version of AlCa_LumiPixelsCounts paths for AlCaPathName in ['AlCa_LumiPixelsCounts_Random_v1', 'AlCa_LumiPixelsCounts_ZeroBias_v1']: if AlCaPathName in process.__dict__: AlCaPath = getattr(process, AlCaPathName) # replace hltSiPixelDigis+hltSiPixelClusters with HLTDoLocalPixelSequence hasSiPixelDigis, hasSiPixelClusters = False, False for (itemLabel, itemName) in AlCaPath.directDependencies(): if itemLabel != 'modules': continue if itemName == 'hltSiPixelDigis': hasSiPixelDigis = True elif itemName == 'hltSiPixelClusters': hasSiPixelClusters = True if hasSiPixelDigis and hasSiPixelClusters: AlCaPath.remove(process.hltSiPixelClusters) AlCaPath.replace(process.hltSiPixelDigis, process.HLTDoLocalPixelSequence) # done return process
## ## Change the HFShowerLibrary file from Run 2 ## from Configuration.Eras.Modifier_run2_common_cff import run2_common ## ## Change HCAL numbering scheme in 2017 ## from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017 run2_HCAL_2017.toModify( g4SimHits, HCalSD = dict( TestNumberingScheme = True ) ) ## ## Disable Castor from Run 3, enable PPS (***temporarily disable PPS***) ## from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify( g4SimHits, CastorSD = dict( useShowerLibrary = False ) ) run3_common.toModify( g4SimHits, LHCTransport = True ) ## ## Disable PPS from Run 3 PbPb runs ## from Configuration.Eras.Modifier_pp_on_PbPb_run3_cff import pp_on_PbPb_run3 pp_on_PbPb_run3.toModify( g4SimHits, LHCTransport = False ) ## ## Change ECAL time slices ## from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing phase2_timing.toModify( g4SimHits, ECalSD = dict( StoreLayerTimeSim = True, TimeSliceUnit = 0.001 )
def customisePixelTrackReconstruction(process): if not 'HLTRecoPixelTracksSequence' in process.__dict__: return process hasHLTPixelVertexReco = 'HLTRecopixelvertexingSequence' in process.__dict__ # FIXME replace the Sequences with empty ones to avoid expanding them during the (re)definition of Modules and EDAliases process.HLTRecoPixelTracksSequence = cms.Sequence() if hasHLTPixelVertexReco: process.HLTRecopixelvertexingSequence = cms.Sequence() # Modules and EDAliases # referenced in process.HLTRecoPixelTracksTask # SwitchProducer: hltPixelTracksSoA if not ('hltPixelTracksSoA' in process.__dict__ and isinstance(process.hltPixelTracksSoA, SwitchProducerCUDA)): # build pixel ntuplets and pixel tracks in SoA format on gpu _clone(process, 'hltPixelTracksCUDA', 'RecoPixelVertexing.PixelTriplets.pixelTracksCUDA_cfi', 'pixelTracksCUDA', pixelRecHitSrc = 'hltSiPixelRecHitsCUDA', onGPU = True, idealConditions = False ) # use quality cuts tuned for Run-2 ideal conditions for all Run-3 workflows run3_common.toModify(process.hltPixelTracksCUDA, idealConditions = True) process.hltPixelTracksSoA = SwitchProducerCUDA( # build pixel ntuplets and pixel tracks in SoA format on cpu cpu = process.hltPixelTracksCUDA.clone( pixelRecHitSrc = 'hltSiPixelRecHitSoA', onGPU = False ) ) elif hasattr(process.hltPixelTracksSoA, 'cpu'): # if cpu branch of SwitchProducerCUDA exists, take hltPixelTracksCUDA (gpu) # from hltPixelTracksSoA.cpu (cpu) to enforce same configuration parameters process.hltPixelTracksCUDA = process.hltPixelTracksSoA.cpu.clone( pixelRecHitSrc = "hltSiPixelRecHitsCUDA", onGPU = True ) else: raise Exception('unsupported configuration: "process.hltPixelTracksSoA" is a SwitchProducerCUDA, but does not have a "cpu" branch') # transfer the pixel tracks in SoA format to cpu _clone_if_missing(process.hltPixelTracksSoA, 'cuda', 'RecoPixelVertexing.PixelTrackFitting.pixelTracksSoA_cfi', 'pixelTracksSoA', src = 'hltPixelTracksCUDA' ) # convert the pixel tracks from SoA to legacy format if process.hltPixelTracks.type_() != 'PixelTrackProducerFromSoA': _clone(process, 'hltPixelTracks', 'RecoPixelVertexing.PixelTrackFitting.pixelTrackProducerFromSoA_cfi', 'pixelTrackProducerFromSoA', beamSpot = 'hltOnlineBeamSpot', pixelRecHitLegacySrc = 'hltSiPixelRecHits', trackSrc = 'hltPixelTracksSoA' ) # referenced in process.HLTRecopixelvertexingTask if hasHLTPixelVertexReco: # SwitchProducer: hltPixelVerticesSoA if not ('hltPixelVerticesSoA' in process.__dict__ and isinstance(process.hltPixelVerticesSoA, SwitchProducerCUDA)): # build pixel vertices in SoA format on gpu _clone(process, 'hltPixelVerticesCUDA', 'RecoPixelVertexing.PixelVertexFinding.pixelVerticesCUDA_cfi', 'pixelVerticesCUDA', pixelTrackSrc = 'hltPixelTracksCUDA', onGPU = True ) # build or transfer pixel vertices in SoA format on cpu process.hltPixelVerticesSoA = SwitchProducerCUDA( # build pixel vertices in SoA format on cpu cpu = process.hltPixelVerticesCUDA.clone( pixelTrackSrc = 'hltPixelTracksSoA', onGPU = False ) ) elif hasattr(process.hltPixelVerticesSoA, 'cpu'): # if cpu branch of SwitchProducerCUDA exists, take hltPixelVerticesCUDA (gpu) # from hltPixelVerticesSoA.cpu (cpu) to enforce same configuration parameters process.hltPixelVerticesCUDA = process.hltPixelVerticesSoA.cpu.clone( pixelTrackSrc = 'hltPixelTracksCUDA', onGPU = True ) else: raise Exception('unsupported configuration: "process.hltPixelVerticesSoA" is a SwitchProducerCUDA, but does not have a "cpu" branch') # transfer the pixel vertices in SoA format to cpu _clone_if_missing(process.hltPixelVerticesSoA, 'cuda', 'RecoPixelVertexing.PixelVertexFinding.pixelVerticesSoA_cfi', 'pixelVerticesSoA', src = 'hltPixelVerticesCUDA' ) # convert the pixel vertices from SoA to legacy format if process.hltPixelVertices.type_() != 'PixelVertexProducerFromSoA': _clone(process, 'hltPixelVertices', 'RecoPixelVertexing.PixelVertexFinding.pixelVertexFromSoA_cfi', 'pixelVertexFromSoA', src = 'hltPixelVerticesSoA', TrackCollection = 'hltPixelTracks', beamSpot = 'hltOnlineBeamSpot' ) # Tasks and Sequences if 'HLTRecoPixelTracksTask' not in process.__dict__: process.HLTRecoPixelTracksTask = cms.Task( process.hltPixelTracksTrackingRegions, # from the original sequence process.hltPixelTracksCUDA, # pixel ntuplets on gpu, in SoA format process.hltPixelTracksSoA, # pixel ntuplets on cpu, in SoA format process.hltPixelTracks, # pixel tracks on cpu, in legacy format ) elif not isinstance(process.HLTRecoPixelTracksTask, cms.Task): raise Exception('unsupported configuration: "process.HLTRecoPixelTracksTask" already exists, but it is not a Task') # redefine HLTRecoPixelTracksSequence (it was emptied at the start of this function) process.HLTRecoPixelTracksSequence = cms.Sequence(process.HLTRecoPixelTracksTask) if hasHLTPixelVertexReco: if 'HLTRecopixelvertexingTask' not in process.__dict__: process.HLTRecopixelvertexingTask = cms.Task( process.HLTRecoPixelTracksTask, process.hltPixelVerticesCUDA, # pixel vertices on gpu, in SoA format process.hltPixelVerticesSoA, # pixel vertices on cpu, in SoA format process.hltPixelVertices, # pixel vertices on cpu, in legacy format process.hltTrimmedPixelVertices, # from the original sequence ) elif not isinstance(process.HLTRecopixelvertexingTask, cms.Task): raise Exception('unsupported configuration: "process.HLTRecopixelvertexingTask" already exists, but it is not a Task') # redefine HLTRecopixelvertexingSequence (it was emptied at the start of this function) process.HLTRecopixelvertexingSequence = cms.Sequence( process.hltPixelTracksFitter + # not used here, kept for compatibility with legacy sequences process.hltPixelTracksFilter, # not used here, kept for compatibility with legacy sequences process.HLTRecopixelvertexingTask, ) # done return process
) ) simSiStripDigis = cms.EDAlias( mix = cms.VPSet( cms.PSet(type = cms.string('SiStripDigiedmDetSetVector')), cms.PSet(type = cms.string('SiStripRawDigiedmDetSetVector')), cms.PSet(type = cms.string('StripDigiSimLinkedmDetSetVector')) ) ) #mergedtruth = cms.EDAlias( # mix = cms.VPSet( # cms.PSet(type = cms.string('TrackingParticles')), # cms.PSet(type = cms.string('TrackingVertexs')) # ) #) genPUProtons = cms.EDAlias( mixData = cms.VPSet( cms.PSet( type = cms.string('recoGenParticles') ) ) ) # no castor,pixel,strip digis in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toModify(simCastorDigis, mix = None) fastSim.toModify(simSiPixelDigis, mix = None) fastSim.toModify(simSiStripDigis, mix = None) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(simCastorDigis, mix = None)
'keep recoGsfTracks_lowPtGsfEleGsfTracks_*_*', 'keep floatedmValueMap_lowPtGsfElectronSeedValueMaps_*_*', 'keep floatedmValueMap_lowPtGsfElectronID_*_*', 'keep *_lowPtGsfLinks_*_*', 'keep *_gsfTracksOpenConversions_*_*', ] bParking.toModify(MicroEventContent, outputCommands = MicroEventContent.outputCommands + _bParking_extraCommands) # --- Only for 2018 data & MC _run2_HCAL_2018_extraCommands = ["keep *_packedPFCandidates_hcalDepthEnergyFractions_*"] from Configuration.Eras.Modifier_run2_HCAL_2018_cff import run2_HCAL_2018 run2_HCAL_2018.toModify(MicroEventContent, outputCommands = MicroEventContent.outputCommands + _run2_HCAL_2018_extraCommands) _run3_common_extraCommands = ["drop *_packedPFCandidates_hcalDepthEnergyFractions_*"] from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toModify(MicroEventContent, outputCommands = MicroEventContent.outputCommands + _run3_common_extraCommands) # --- MicroEventContentMC = cms.PSet( outputCommands = cms.untracked.vstring(MicroEventContent.outputCommands) ) MicroEventContentMC.outputCommands += MicroEventContentGEN.outputCommands MicroEventContentMC.outputCommands += [ 'keep PileupSummaryInfos_slimmedAddPileupInfo_*_*', # RUN 'keep L1GtTriggerMenuLite_l1GtTriggerMenuLite__*' ] MiniAODOverrideBranchesSplitLevel = cms.untracked.VPSet( [ cms.untracked.PSet(branch = cms.untracked.string("patPackedCandidates_packedPFCandidates__*"),splitLevel=cms.untracked.int32(99)),