Skip to content

Commit

Permalink
Double the size of the ECAL GPU buffers
Browse files Browse the repository at this point in the history
  • Loading branch information
fwyzard committed Jul 15, 2020
1 parent a1d9d5c commit 75a6da1
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 31 deletions.
2 changes: 1 addition & 1 deletion EventFilter/EcalRawToDigi/plugins/EcalRawToDigiGPU.cc
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ void EcalRawToDigiGPU::fillDescriptions(edm::ConfigurationDescriptions& confDesc
for (uint32_t i = 0; i < 54; ++i)
feds[i] = i + 601;
desc.add<std::vector<int>>("FEDs", feds);
desc.add<uint32_t>("maxChannels", 20000);
desc.add<uint32_t>("maxChannels", 40000);
desc.add<std::string>("digisLabelEB", "ebDigisGPU");
desc.add<std::string>("digisLabelEE", "eeDigisGPU");

Expand Down
7 changes: 4 additions & 3 deletions HLTrigger/Configuration/python/customizeHLTforPatatrack.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ def customise_gpu_ecal(process):
),
digisLabelEB = cms.string("ebDigis"),
digisLabelEE = cms.string("eeDigis"),
maxChannels = cms.uint32(20000)
maxChannels = cms.uint32(40000)
)

process.hltEcalDigis = cms.EDProducer("EcalCPUDigisProducer",
Expand All @@ -352,7 +352,8 @@ def customise_gpu_ecal(process):
from RecoLocalCalo.EcalRecProducers.ecalUncalibRecHitProducerGPU_cfi import ecalUncalibRecHitProducerGPU as _ecalUncalibRecHitProducerGPU
process.hltEcalUncalibRecHitGPU = _ecalUncalibRecHitProducerGPU.clone(
digisLabelEB = cms.InputTag("hltEcalDigisGPU", "ebDigis"),
digisLabelEE = cms.InputTag("hltEcalDigisGPU", "eeDigis")
digisLabelEE = cms.InputTag("hltEcalDigisGPU", "eeDigis"),
maxNumberHits = 40000
)

process.hltEcalUncalibRecHitSoA = cms.EDProducer("EcalCPUUncalibRecHitProducer",
Expand All @@ -378,7 +379,7 @@ def customise_gpu_ecal(process):
uncalibrecHitsInLabelEE = cms.InputTag("hltEcalUncalibRecHitGPU","EcalUncalibRecHitsEE"),
recHitsLabelEB = cms.string("EcalRecHitsEB"),
recHitsLabelEE = cms.string("EcalRecHitsEE"),
maxNumberHits = cms.uint32(20000),
maxNumberHits = cms.uint32(40000),
ChannelStatusToBeExcluded = cms.vstring(
"kDAC",
"kNoisy",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ void EcalRecHitProducerGPU::fillDescriptions(edm::ConfigurationDescriptions& con
desc.add<double>("EBLaserMAX", 30.0);
desc.add<double>("EELaserMAX", 30.0);

desc.add<uint32_t>("maxNumberHits", 20000);
desc.add<uint32_t>("maxNumberHits", 40000);
}

EcalRecHitProducerGPU::EcalRecHitProducerGPU(const edm::ParameterSet& ps) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ void EcalUncalibRecHitProducerGPU::fillDescriptions(edm::ConfigurationDescriptio
desc.add<double>("outOfTimeThresholdGain61mEE", 1000);
desc.add<double>("amplitudeThresholdEB", 10);
desc.add<double>("amplitudeThresholdEE", 10);
desc.add<uint32_t>("maxNumberHits", 20000); //---- AM TEST
desc.add<uint32_t>("maxNumberHits", 40000);
desc.add<std::vector<uint32_t>>("kernelMinimizeThreads", {32, 1, 1});
// ---- default false or true? It was set to true, but at HLT it is false
desc.add<bool>("shouldRunTimingComputation", false);
Expand Down
48 changes: 23 additions & 25 deletions RecoLocalCalo/EcalRecProducers/python/ecalRecHitGPU_cfi.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
import FWCore.ParameterSet.Config as cms

from RecoLocalCalo.EcalRecAlgos.ecalCleaningAlgo import cleaningAlgoConfig
from RecoLocalCalo.EcalRecAlgos.ecalCleaningAlgo import cleaningAlgoConfig

# rechit producer
ecalRecHitGPU = cms.EDProducer("EcalRecHitProducerGPU",

uncalibrecHitsInLabelEB = cms.InputTag("ecalUncalibRecHitProducerGPU","EcalUncalibRecHitsEB"),
uncalibrecHitsInLabelEE = cms.InputTag("ecalUncalibRecHitProducerGPU","EcalUncalibRecHitsEE"),

#recHitsLabelEB = cms.string("EcalRecHitsGPUEB"),
#recHitsLabelEE = cms.string("EcalRecHitsGPUEE"),
recHitsLabelEB = cms.string("EcalRecHitsEB"),
recHitsLabelEE = cms.string("EcalRecHitsEE"),
maxNumberHits = cms.uint32(20000), # FIXME AM

maxNumberHits = cms.uint32(40000),


#EErechitCollection = cms.string('EcalRecHitsEE'),
#EEuncalibRecHitCollection = cms.InputTag("ecalMultiFitUncalibRecHit","EcalUncalibRecHitsEE"),
#EBuncalibRecHitCollection = cms.InputTag("ecalMultiFitUncalibRecHit","EcalUncalibRecHitsEB"),
#EBrechitCollection = cms.string('EcalRecHitsEB'),

## db statuses to be exluded from reconstruction (some will be recovered)
ChannelStatusToBeExcluded = cms.vstring( 'kDAC',
'kNoisy',
Expand All @@ -42,26 +42,26 @@
#'kTPSaturated',
#'kL1SpikeFlag',
),

## avoid propagation of dead channels other than after recovery
killDeadChannels = cms.bool(True),
#algo = cms.string("EcalRecHitWorkerSimple"),

## define maximal and minimal values for the laser corrections

EBLaserMIN = cms.double(0.01), # EBLaserMIN = cms.double(0.5),
EELaserMIN = cms.double(0.01), # EELaserMIN = cms.double(0.5),

EBLaserMAX = cms.double(30.0), # EBLaserMAX = cms.double(3.0),
EELaserMAX = cms.double(30.0), # EELaserMAX = cms.double(8.0),


## useful if time is not calculated, as at HLT
#skipTimeCalib = cms.bool(False),
## useful if time is not calculated, as at HLT
#skipTimeCalib = cms.bool(False),

## apply laser corrections
#laserCorrection = cms.bool(True),

## reco flags association to DB flag
flagsMapDBReco = cms.PSet(
kGood = cms.vstring('kOk','kDAC','kNoLaser','kNoisy'),
Expand All @@ -71,8 +71,8 @@
'kDeadVFE'),
kTowerRecovered = cms.vstring('kDeadFE'),
kDead = cms.vstring('kNoDataNoTP')
),
),

#// flagmask_ |= 0x1 << EcalRecHit::kNeighboursRecovered;
#// flagmask_ |= 0x1 << EcalRecHit::kTowerRecovered;
#// flagmask_ |= 0x1 << EcalRecHit::kDead;
Expand All @@ -81,7 +81,7 @@
#// flagmask_ |= 0x1 << EcalRecHit::kL1SpikeFlag;



## for channel recovery
#algoRecover = cms.string("EcalRecHitWorkerRecover"),
recoverEBIsolatedChannels = cms.bool(False),
Expand All @@ -91,18 +91,18 @@
recoverEBFE = cms.bool(True),
recoverEEFE = cms.bool(True),

##db statuses for which recovery in EE/EB should not be attempted
##db statuses for which recovery in EE/EB should not be attempted
#dbStatusToBeExcludedEE = cms.vint32(
#14, # dead, no TP
#78, # dead, HV off
#142, # dead,LV off
#),
#),
#dbStatusToBeExcludedEB = cms.vint32(
#14, # dead, no TP
#78, # dead, HV off
#142, # dead,LV off
#),
#),

## --- logWarnings for saturated DeadFEs
## if the logWarningThreshold is negative the Algo will not try recovery (in EE is not tested we may need negative threshold e.g. -1.e+9)
## if you want to enable recovery but you don't wish to throw logWarnings put the logWarningThresholds very high e.g +1.e+9
Expand All @@ -124,9 +124,7 @@

#from Configuration.Eras.Modifier_fastSim_cff import fastSim
## no flags for bad channels in FastSim
#fastSim.toModify(ecalRecHit,
#fastSim.toModify(ecalRecHit,
#killDeadChannels = False,
#recoverEBFE = False,
#recoverEEFE = False)


0 comments on commit 75a6da1

Please sign in to comment.