diff --git a/CalibTracker/SiPixelESProducers/BuildFile.xml b/CalibTracker/SiPixelESProducers/BuildFile.xml
index db1e6be8279dc..d873bd7aa0bc0 100644
--- a/CalibTracker/SiPixelESProducers/BuildFile.xml
+++ b/CalibTracker/SiPixelESProducers/BuildFile.xml
@@ -1,4 +1,3 @@
-
@@ -6,7 +5,6 @@
-
diff --git a/CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTGPU.h b/CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTGPU.h
deleted file mode 100644
index aea0f4d8b0c63..0000000000000
--- a/CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTGPU.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef CalibTracker_SiPixelESProducers_interface_SiPixelGainCalibrationForHLTGPU_h
-#define CalibTracker_SiPixelESProducers_interface_SiPixelGainCalibrationForHLTGPU_h
-
-#include "CondFormats/SiPixelObjects/interface/SiPixelGainCalibrationForHLT.h"
-#include "HeterogeneousCore/CUDACore/interface/ESProduct.h"
-
-class SiPixelGainCalibrationForHLT;
-class SiPixelGainForHLTonGPU;
-struct SiPixelGainForHLTonGPU_DecodingStructure;
-class TrackerGeometry;
-
-class SiPixelGainCalibrationForHLTGPU {
-public:
- explicit SiPixelGainCalibrationForHLTGPU(const SiPixelGainCalibrationForHLT &gains, const TrackerGeometry &geom);
- ~SiPixelGainCalibrationForHLTGPU();
-
- const SiPixelGainForHLTonGPU *getGPUProductAsync(cudaStream_t cudaStream) const;
- const SiPixelGainForHLTonGPU *cpuProduct() const { return gainForHLTonHost_; }
- const SiPixelGainCalibrationForHLT *originalProduct() { return gains_; }
-
-private:
- const SiPixelGainCalibrationForHLT *gains_ = nullptr;
- SiPixelGainForHLTonGPU *gainForHLTonHost_ = nullptr;
- struct GPUData {
- ~GPUData();
- SiPixelGainForHLTonGPU *gainForHLTonGPU = nullptr;
- SiPixelGainForHLTonGPU_DecodingStructure *gainDataOnGPU = nullptr;
- };
- cms::cuda::ESProduct gpuData_;
-};
-
-#endif // CalibTracker_SiPixelESProducers_interface_SiPixelGainCalibrationForHLTGPU_h
diff --git a/CalibTracker/SiPixelESProducers/interface/SiPixelROCsStatusAndMappingWrapper.h b/CalibTracker/SiPixelESProducers/interface/SiPixelROCsStatusAndMappingWrapper.h
deleted file mode 100644
index f7555a75d9bec..0000000000000
--- a/CalibTracker/SiPixelESProducers/interface/SiPixelROCsStatusAndMappingWrapper.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef CalibTracker_SiPixelESProducers_interface_SiPixelROCsStatusAndMappingWrapper_h
-#define CalibTracker_SiPixelESProducers_interface_SiPixelROCsStatusAndMappingWrapper_h
-
-#include
-
-#include
-
-#include "CondFormats/SiPixelObjects/interface/SiPixelROCsStatusAndMapping.h"
-#include "HeterogeneousCore/CUDACore/interface/ESProduct.h"
-#include "HeterogeneousCore/CUDAUtilities/interface/HostAllocator.h"
-#include "HeterogeneousCore/CUDAUtilities/interface/device_unique_ptr.h"
-
-class SiPixelFedCablingMap;
-class TrackerGeometry;
-class SiPixelQuality;
-
-class SiPixelROCsStatusAndMappingWrapper {
-public:
- SiPixelROCsStatusAndMappingWrapper(SiPixelFedCablingMap const &cablingMap,
- TrackerGeometry const &trackerGeom,
- SiPixelQuality const *badPixelInfo);
- ~SiPixelROCsStatusAndMappingWrapper();
-
- bool hasQuality() const { return hasQuality_; }
-
- // returns pointer to GPU memory
- const SiPixelROCsStatusAndMapping *getGPUProductAsync(cudaStream_t cudaStream) const;
-
- // returns pointer to GPU memory
- const unsigned char *getModToUnpAllAsync(cudaStream_t cudaStream) const;
- cms::cuda::device::unique_ptr getModToUnpRegionalAsync(std::set const &modules,
- cudaStream_t cudaStream) const;
-
-private:
- const SiPixelFedCablingMap *cablingMap_;
- std::vector> modToUnpDefault;
- unsigned int size;
- bool hasQuality_;
-
- SiPixelROCsStatusAndMapping *cablingMapHost = nullptr; // pointer to struct in CPU
-
- struct GPUData {
- ~GPUData();
- SiPixelROCsStatusAndMapping *cablingMapDevice = nullptr; // pointer to struct in GPU
- };
- cms::cuda::ESProduct gpuData_;
-
- struct ModulesToUnpack {
- ~ModulesToUnpack();
- unsigned char *modToUnpDefault = nullptr; // pointer to GPU
- };
- cms::cuda::ESProduct modToUnp_;
-};
-
-#endif // CalibTracker_SiPixelESProducers_interface_SiPixelROCsStatusAndMappingWrapper_h
diff --git a/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml b/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml
index 8de546ff8856b..428d83de70a0b 100644
--- a/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml
+++ b/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml
@@ -12,7 +12,6 @@
-
diff --git a/CalibTracker/SiPixelESProducers/plugins/SiPixelGainCalibrationForHLTGPUESProducer.cc b/CalibTracker/SiPixelESProducers/plugins/SiPixelGainCalibrationForHLTGPUESProducer.cc
deleted file mode 100644
index 37055ea3e00ca..0000000000000
--- a/CalibTracker/SiPixelESProducers/plugins/SiPixelGainCalibrationForHLTGPUESProducer.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTGPU.h"
-#include "CalibTracker/Records/interface/SiPixelGainCalibrationForHLTGPURcd.h"
-#include "CondFormats/SiPixelObjects/interface/SiPixelGainCalibrationForHLT.h"
-#include "CondFormats/DataRecord/interface/SiPixelGainCalibrationForHLTRcd.h"
-#include "FWCore/Framework/interface/ESProducer.h"
-#include "FWCore/Framework/interface/EventSetup.h"
-#include "FWCore/Framework/interface/ESHandle.h"
-#include "FWCore/Framework/interface/ModuleFactory.h"
-#include "FWCore/ParameterSet/interface/ParameterSet.h"
-#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
-#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
-
-#include
-
-class SiPixelGainCalibrationForHLTGPUESProducer : public edm::ESProducer {
-public:
- explicit SiPixelGainCalibrationForHLTGPUESProducer(const edm::ParameterSet& iConfig);
- std::unique_ptr produce(const SiPixelGainCalibrationForHLTGPURcd& iRecord);
-
- static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
-
-private:
- edm::ESGetToken gainsToken_;
- edm::ESGetToken geometryToken_;
-};
-
-SiPixelGainCalibrationForHLTGPUESProducer::SiPixelGainCalibrationForHLTGPUESProducer(const edm::ParameterSet& iConfig) {
- auto cc = setWhatProduced(this);
- gainsToken_ = cc.consumes();
- geometryToken_ = cc.consumes();
-}
-
-void SiPixelGainCalibrationForHLTGPUESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
- edm::ParameterSetDescription desc;
- descriptions.add("siPixelGainCalibrationForHLTGPU", desc);
-}
-
-std::unique_ptr SiPixelGainCalibrationForHLTGPUESProducer::produce(
- const SiPixelGainCalibrationForHLTGPURcd& iRecord) {
- auto gains = iRecord.getHandle(gainsToken_);
- auto geom = iRecord.getHandle(geometryToken_);
- return std::make_unique(*gains, *geom);
-}
-
-#include "FWCore/Framework/interface/MakerMacros.h"
-#include "FWCore/Utilities/interface/typelookup.h"
-#include "FWCore/Framework/interface/eventsetuprecord_registration_macro.h"
-
-DEFINE_FWK_EVENTSETUP_MODULE(SiPixelGainCalibrationForHLTGPUESProducer);
diff --git a/CalibTracker/SiPixelESProducers/plugins/SiPixelROCsStatusAndMappingWrapperESProducer.cc b/CalibTracker/SiPixelESProducers/plugins/SiPixelROCsStatusAndMappingWrapperESProducer.cc
deleted file mode 100644
index 9c37860ca9ffe..0000000000000
--- a/CalibTracker/SiPixelESProducers/plugins/SiPixelROCsStatusAndMappingWrapperESProducer.cc
+++ /dev/null
@@ -1,68 +0,0 @@
-#include
-
-#include "CalibTracker/SiPixelESProducers/interface/SiPixelROCsStatusAndMappingWrapper.h"
-#include "CondFormats/DataRecord/interface/SiPixelFedCablingMapRcd.h"
-#include "CondFormats/DataRecord/interface/SiPixelQualityRcd.h"
-#include "FWCore/Framework/interface/ESProducer.h"
-#include "FWCore/Framework/interface/ESTransientHandle.h"
-#include "FWCore/Framework/interface/EventSetup.h"
-#include "FWCore/Framework/interface/ModuleFactory.h"
-#include "FWCore/ParameterSet/interface/ParameterSet.h"
-#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
-#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
-#include "RecoTracker/Record/interface/CkfComponentsRecord.h" // TODO: eventually use something more limited
-
-class SiPixelROCsStatusAndMappingWrapperESProducer : public edm::ESProducer {
-public:
- explicit SiPixelROCsStatusAndMappingWrapperESProducer(const edm::ParameterSet& iConfig);
- std::unique_ptr produce(const CkfComponentsRecord& iRecord);
-
- static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
-
-private:
- edm::ESGetToken cablingMapToken_;
- edm::ESGetToken qualityToken_;
- edm::ESGetToken geometryToken_;
- bool useQuality_;
-};
-
-SiPixelROCsStatusAndMappingWrapperESProducer::SiPixelROCsStatusAndMappingWrapperESProducer(
- const edm::ParameterSet& iConfig)
- : useQuality_(iConfig.getParameter("UseQualityInfo")) {
- auto const& component = iConfig.getParameter("ComponentName");
- auto cc = setWhatProduced(this, component);
- cablingMapToken_ = cc.consumes(edm::ESInputTag{"", iConfig.getParameter("CablingMapLabel")});
- if (useQuality_) {
- qualityToken_ = cc.consumes();
- }
- geometryToken_ = cc.consumes();
-}
-
-void SiPixelROCsStatusAndMappingWrapperESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
- edm::ParameterSetDescription desc;
- desc.add("ComponentName", "");
- desc.add("CablingMapLabel", "")->setComment("CablingMap label");
- desc.add("UseQualityInfo", false);
- descriptions.addWithDefaultLabel(desc);
-}
-
-std::unique_ptr SiPixelROCsStatusAndMappingWrapperESProducer::produce(
- const CkfComponentsRecord& iRecord) {
- auto cablingMap = iRecord.getTransientHandle(cablingMapToken_);
-
- const SiPixelQuality* quality = nullptr;
- if (useQuality_) {
- auto qualityInfo = iRecord.getTransientHandle(qualityToken_);
- quality = qualityInfo.product();
- }
-
- auto geom = iRecord.getTransientHandle(geometryToken_);
-
- return std::make_unique(*cablingMap, *geom, quality);
-}
-
-#include "FWCore/Framework/interface/MakerMacros.h"
-#include "FWCore/Utilities/interface/typelookup.h"
-#include "FWCore/Framework/interface/eventsetuprecord_registration_macro.h"
-
-DEFINE_FWK_EVENTSETUP_MODULE(SiPixelROCsStatusAndMappingWrapperESProducer);
diff --git a/CalibTracker/SiPixelESProducers/src/ES_SiPixelGainCalibrationForHLTGPU.cc b/CalibTracker/SiPixelESProducers/src/ES_SiPixelGainCalibrationForHLTGPU.cc
deleted file mode 100644
index 80932fb468f71..0000000000000
--- a/CalibTracker/SiPixelESProducers/src/ES_SiPixelGainCalibrationForHLTGPU.cc
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTGPU.h"
-#include "FWCore/Utilities/interface/typelookup.h"
-
-TYPELOOKUP_DATA_REG(SiPixelGainCalibrationForHLTGPU);
diff --git a/CalibTracker/SiPixelESProducers/src/ES_SiPixelROCsStatusAndMappingWrapper.cc b/CalibTracker/SiPixelESProducers/src/ES_SiPixelROCsStatusAndMappingWrapper.cc
deleted file mode 100644
index 45767102b5958..0000000000000
--- a/CalibTracker/SiPixelESProducers/src/ES_SiPixelROCsStatusAndMappingWrapper.cc
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "CalibTracker/SiPixelESProducers/interface/SiPixelROCsStatusAndMappingWrapper.h"
-#include "FWCore/Utilities/interface/typelookup.h"
-
-TYPELOOKUP_DATA_REG(SiPixelROCsStatusAndMappingWrapper);
diff --git a/CalibTracker/SiPixelESProducers/src/SiPixelGainCalibrationForHLTGPU.cc b/CalibTracker/SiPixelESProducers/src/SiPixelGainCalibrationForHLTGPU.cc
deleted file mode 100644
index 66b8d9594353b..0000000000000
--- a/CalibTracker/SiPixelESProducers/src/SiPixelGainCalibrationForHLTGPU.cc
+++ /dev/null
@@ -1,101 +0,0 @@
-#include
-
-#include "CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationForHLTGPU.h"
-#include "CondFormats/SiPixelObjects/interface/SiPixelGainCalibrationForHLT.h"
-#include "CondFormats/SiPixelObjects/interface/SiPixelGainForHLTonGPU.h"
-#include "FWCore/MessageLogger/interface/MessageLogger.h"
-#include "Geometry/CommonDetUnit/interface/GeomDetType.h"
-#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
-#include "HeterogeneousCore/CUDAUtilities/interface/cudaCheck.h"
-
-SiPixelGainCalibrationForHLTGPU::SiPixelGainCalibrationForHLTGPU(const SiPixelGainCalibrationForHLT& gains,
- const TrackerGeometry& geom)
- : gains_(&gains) {
- // bizzarre logic (looking for fist strip-det) don't ask
- auto const& dus = geom.detUnits();
- unsigned int n_detectors = dus.size();
- for (unsigned int i = 1; i < 7; ++i) {
- const auto offset = geom.offsetDU(GeomDetEnumerators::tkDetEnum[i]);
- if (offset != dus.size() && dus[offset]->type().isTrackerStrip()) {
- if (n_detectors > offset)
- n_detectors = offset;
- }
- }
-
- LogDebug("SiPixelGainCalibrationForHLTGPU")
- << "caching calibs for " << n_detectors << " pixel detectors of size " << gains.data().size() << '\n'
- << "sizes " << sizeof(char) << ' ' << sizeof(uint8_t) << ' ' << sizeof(SiPixelGainForHLTonGPU::DecodingStructure);
-
- cudaCheck(cudaMallocHost((void**)&gainForHLTonHost_, sizeof(SiPixelGainForHLTonGPU)));
- gainForHLTonHost_->v_pedestals_ =
- (SiPixelGainForHLTonGPU_DecodingStructure*)this->gains_->data().data(); // so it can be used on CPU as well...
-
- // do not read back from the (possibly write-combined) memory buffer
- auto minPed = gains.getPedLow();
- auto maxPed = gains.getPedHigh();
- auto minGain = gains.getGainLow();
- auto maxGain = gains.getGainHigh();
- auto nBinsToUseForEncoding = 253;
-
- // we will simplify later (not everything is needed....)
- gainForHLTonHost_->minPed_ = minPed;
- gainForHLTonHost_->maxPed_ = maxPed;
- gainForHLTonHost_->minGain_ = minGain;
- gainForHLTonHost_->maxGain_ = maxGain;
-
- gainForHLTonHost_->numberOfRowsAveragedOver_ = 80;
- gainForHLTonHost_->nBinsToUseForEncoding_ = nBinsToUseForEncoding;
- gainForHLTonHost_->deadFlag_ = 255;
- gainForHLTonHost_->noisyFlag_ = 254;
-
- gainForHLTonHost_->pedPrecision_ = static_cast(maxPed - minPed) / nBinsToUseForEncoding;
- gainForHLTonHost_->gainPrecision_ = static_cast(maxGain - minGain) / nBinsToUseForEncoding;
-
- LogDebug("SiPixelGainCalibrationForHLTGPU")
- << "precisions g " << gainForHLTonHost_->pedPrecision_ << ' ' << gainForHLTonHost_->gainPrecision_;
-
- // fill the index map
- auto const& ind = gains.getIndexes();
- LogDebug("SiPixelGainCalibrationForHLTGPU") << ind.size() << " " << n_detectors;
-
- for (auto i = 0U; i < n_detectors; ++i) {
- auto p = std::lower_bound(
- ind.begin(), ind.end(), dus[i]->geographicalId().rawId(), SiPixelGainCalibrationForHLT::StrictWeakOrdering());
- assert(p != ind.end() && p->detid == dus[i]->geographicalId());
- assert(p->iend <= gains.data().size());
- assert(p->iend >= p->ibegin);
- assert(0 == p->ibegin % 2);
- assert(0 == p->iend % 2);
- assert(p->ibegin != p->iend);
- assert(p->ncols > 0);
- gainForHLTonHost_->rangeAndCols_[i] = std::make_pair(SiPixelGainForHLTonGPU::Range(p->ibegin, p->iend), p->ncols);
- if (ind[i].detid != dus[i]->geographicalId())
- LogDebug("SiPixelGainCalibrationForHLTGPU") << ind[i].detid << "!=" << dus[i]->geographicalId();
- }
-}
-
-SiPixelGainCalibrationForHLTGPU::~SiPixelGainCalibrationForHLTGPU() { cudaCheck(cudaFreeHost(gainForHLTonHost_)); }
-
-SiPixelGainCalibrationForHLTGPU::GPUData::~GPUData() {
- cudaCheck(cudaFree(gainForHLTonGPU));
- cudaCheck(cudaFree(gainDataOnGPU));
-}
-
-const SiPixelGainForHLTonGPU* SiPixelGainCalibrationForHLTGPU::getGPUProductAsync(cudaStream_t cudaStream) const {
- const auto& data = gpuData_.dataForCurrentDeviceAsync(cudaStream, [this](GPUData& data, cudaStream_t stream) {
- cudaCheck(cudaMalloc((void**)&data.gainForHLTonGPU, sizeof(SiPixelGainForHLTonGPU)));
- cudaCheck(cudaMalloc((void**)&data.gainDataOnGPU, this->gains_->data().size()));
- // gains.data().data() is used also for non-GPU code, we cannot allocate it on aligned and write-combined memory
- cudaCheck(cudaMemcpyAsync(
- data.gainDataOnGPU, this->gains_->data().data(), this->gains_->data().size(), cudaMemcpyDefault, stream));
-
- cudaCheck(cudaMemcpyAsync(
- data.gainForHLTonGPU, this->gainForHLTonHost_, sizeof(SiPixelGainForHLTonGPU), cudaMemcpyDefault, stream));
- cudaCheck(cudaMemcpyAsync(&(data.gainForHLTonGPU->v_pedestals_),
- &(data.gainDataOnGPU),
- sizeof(SiPixelGainForHLTonGPU_DecodingStructure*),
- cudaMemcpyDefault,
- stream));
- });
- return data.gainForHLTonGPU;
-}
diff --git a/CalibTracker/SiPixelESProducers/src/SiPixelROCsStatusAndMappingWrapper.cc b/CalibTracker/SiPixelESProducers/src/SiPixelROCsStatusAndMappingWrapper.cc
deleted file mode 100644
index 3b7d9a84b91f1..0000000000000
--- a/CalibTracker/SiPixelESProducers/src/SiPixelROCsStatusAndMappingWrapper.cc
+++ /dev/null
@@ -1,171 +0,0 @@
-// C++ includes
-#include
-#include
-#include
-#include
-
-// CUDA includes
-#include
-
-// CMSSW includes
-#include "CalibTracker/SiPixelESProducers/interface/SiPixelROCsStatusAndMappingWrapper.h"
-#include "CondFormats/SiPixelObjects/interface/SiPixelFedCablingMap.h"
-#include "CondFormats/SiPixelObjects/interface/SiPixelFedCablingTree.h"
-#include "CondFormats/SiPixelObjects/interface/SiPixelQuality.h"
-#include "DataFormats/SiPixelClusterSoA/interface/ClusteringConstants.h"
-#include "FWCore/MessageLogger/interface/MessageLogger.h"
-#include "Geometry/CommonDetUnit/interface/GeomDetType.h"
-#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
-#include "HeterogeneousCore/CUDAUtilities/interface/cudaCheck.h"
-#include "HeterogeneousCore/CUDAUtilities/interface/device_unique_ptr.h"
-#include "HeterogeneousCore/CUDAUtilities/interface/host_unique_ptr.h"
-
-SiPixelROCsStatusAndMappingWrapper::SiPixelROCsStatusAndMappingWrapper(SiPixelFedCablingMap const& cablingMap,
- TrackerGeometry const& trackerGeom,
- SiPixelQuality const* badPixelInfo)
- : cablingMap_(&cablingMap), modToUnpDefault(pixelgpudetails::MAX_SIZE), hasQuality_(badPixelInfo != nullptr) {
- cudaCheck(cudaMallocHost(&cablingMapHost, sizeof(SiPixelROCsStatusAndMapping)));
-
- std::vector const& fedIds = cablingMap.fedIds();
- std::unique_ptr const& cabling = cablingMap.cablingTree();
-
- unsigned int startFed = *(fedIds.begin());
- unsigned int endFed = *(fedIds.end() - 1);
-
- sipixelobjects::CablingPathToDetUnit path;
- int index = 1;
-
- for (unsigned int fed = startFed; fed <= endFed; fed++) {
- for (unsigned int link = 1; link <= pixelgpudetails::MAX_LINK; link++) {
- for (unsigned int roc = 1; roc <= pixelgpudetails::MAX_ROC; roc++) {
- path = {fed, link, roc};
- const sipixelobjects::PixelROC* pixelRoc = cabling->findItem(path);
- cablingMapHost->fed[index] = fed;
- cablingMapHost->link[index] = link;
- cablingMapHost->roc[index] = roc;
- if (pixelRoc != nullptr) {
- cablingMapHost->rawId[index] = pixelRoc->rawId();
- cablingMapHost->rocInDet[index] = pixelRoc->idInDetUnit();
- modToUnpDefault[index] = false;
- if (badPixelInfo != nullptr)
- cablingMapHost->badRocs[index] = badPixelInfo->IsRocBad(pixelRoc->rawId(), pixelRoc->idInDetUnit());
- else
- cablingMapHost->badRocs[index] = false;
- } else { // store some dummy number
- cablingMapHost->rawId[index] = pixelClustering::invalidModuleId;
- cablingMapHost->rocInDet[index] = pixelClustering::invalidModuleId;
- cablingMapHost->badRocs[index] = true;
- modToUnpDefault[index] = true;
- }
- index++;
- }
- }
- } // end of FED loop
-
- // Given FedId, Link and idinLnk; use the following formula
- // to get the rawId and idinDU
- // index = (FedID-1200) * MAX_LINK* MAX_ROC + (Link-1)* MAX_ROC + idinLnk;
- // where, MAX_LINK = 48, MAX_ROC = 8 for Phase1 as mentioned Danek's email
- // FedID varies between 1200 to 1338 (In total 108 FED's)
- // Link varies between 1 to 48
- // idinLnk varies between 1 to 8
-
- for (int i = 1; i < index; i++) {
- if (cablingMapHost->rawId[i] == pixelClustering::invalidModuleId) {
- cablingMapHost->moduleId[i] = pixelClustering::invalidModuleId;
- } else {
- /*
- std::cout << cablingMapHost->rawId[i] << std::endl;
- */
- auto gdet = trackerGeom.idToDetUnit(cablingMapHost->rawId[i]);
- if (!gdet) {
- LogDebug("SiPixelROCsStatusAndMapping") << " Not found: " << cablingMapHost->rawId[i] << std::endl;
- continue;
- }
- cablingMapHost->moduleId[i] = gdet->index();
- }
- LogDebug("SiPixelROCsStatusAndMapping")
- << "----------------------------------------------------------------------------" << std::endl;
- LogDebug("SiPixelROCsStatusAndMapping")
- << i << std::setw(20) << cablingMapHost->fed[i] << std::setw(20) << cablingMapHost->link[i] << std::setw(20)
- << cablingMapHost->roc[i] << std::endl;
- LogDebug("SiPixelROCsStatusAndMapping")
- << i << std::setw(20) << cablingMapHost->rawId[i] << std::setw(20) << cablingMapHost->rocInDet[i]
- << std::setw(20) << cablingMapHost->moduleId[i] << std::endl;
- LogDebug("SiPixelROCsStatusAndMapping")
- << i << std::setw(20) << (bool)cablingMapHost->badRocs[i] << std::setw(20) << std::endl;
- LogDebug("SiPixelROCsStatusAndMapping")
- << "----------------------------------------------------------------------------" << std::endl;
- }
-
- cablingMapHost->size = index - 1;
-}
-
-SiPixelROCsStatusAndMappingWrapper::~SiPixelROCsStatusAndMappingWrapper() { cudaCheck(cudaFreeHost(cablingMapHost)); }
-
-const SiPixelROCsStatusAndMapping* SiPixelROCsStatusAndMappingWrapper::getGPUProductAsync(
- cudaStream_t cudaStream) const {
- const auto& data = gpuData_.dataForCurrentDeviceAsync(cudaStream, [this](GPUData& data, cudaStream_t stream) {
- // allocate
- cudaCheck(cudaMalloc(&data.cablingMapDevice, sizeof(SiPixelROCsStatusAndMapping)));
-
- // transfer
- cudaCheck(cudaMemcpyAsync(
- data.cablingMapDevice, this->cablingMapHost, sizeof(SiPixelROCsStatusAndMapping), cudaMemcpyDefault, stream));
- });
- return data.cablingMapDevice;
-}
-
-const unsigned char* SiPixelROCsStatusAndMappingWrapper::getModToUnpAllAsync(cudaStream_t cudaStream) const {
- const auto& data =
- modToUnp_.dataForCurrentDeviceAsync(cudaStream, [this](ModulesToUnpack& data, cudaStream_t stream) {
- cudaCheck(cudaMalloc((void**)&data.modToUnpDefault, pixelgpudetails::MAX_SIZE_BYTE_BOOL));
- cudaCheck(cudaMemcpyAsync(data.modToUnpDefault,
- this->modToUnpDefault.data(),
- this->modToUnpDefault.size() * sizeof(unsigned char),
- cudaMemcpyDefault,
- stream));
- });
- return data.modToUnpDefault;
-}
-
-cms::cuda::device::unique_ptr SiPixelROCsStatusAndMappingWrapper::getModToUnpRegionalAsync(
- std::set const& modules, cudaStream_t cudaStream) const {
- auto modToUnpDevice = cms::cuda::make_device_unique(pixelgpudetails::MAX_SIZE, cudaStream);
- auto modToUnpHost = cms::cuda::make_host_unique(pixelgpudetails::MAX_SIZE, cudaStream);
-
- std::vector const& fedIds = cablingMap_->fedIds();
- std::unique_ptr const& cabling = cablingMap_->cablingTree();
-
- unsigned int startFed = *(fedIds.begin());
- unsigned int endFed = *(fedIds.end() - 1);
-
- sipixelobjects::CablingPathToDetUnit path;
- int index = 1;
-
- for (unsigned int fed = startFed; fed <= endFed; fed++) {
- for (unsigned int link = 1; link <= pixelgpudetails::MAX_LINK; link++) {
- for (unsigned int roc = 1; roc <= pixelgpudetails::MAX_ROC; roc++) {
- path = {fed, link, roc};
- const sipixelobjects::PixelROC* pixelRoc = cabling->findItem(path);
- if (pixelRoc != nullptr) {
- modToUnpHost[index] = (not modules.empty()) and (modules.find(pixelRoc->rawId()) == modules.end());
- } else { // store some dummy number
- modToUnpHost[index] = true;
- }
- index++;
- }
- }
- }
-
- cudaCheck(cudaMemcpyAsync(modToUnpDevice.get(),
- modToUnpHost.get(),
- pixelgpudetails::MAX_SIZE * sizeof(unsigned char),
- cudaMemcpyHostToDevice,
- cudaStream));
- return modToUnpDevice;
-}
-
-SiPixelROCsStatusAndMappingWrapper::GPUData::~GPUData() { cudaCheck(cudaFree(cablingMapDevice)); }
-
-SiPixelROCsStatusAndMappingWrapper::ModulesToUnpack::~ModulesToUnpack() { cudaCheck(cudaFree(modToUnpDefault)); }
diff --git a/HLTrigger/Configuration/python/customizeHLTforCMSSW.py b/HLTrigger/Configuration/python/customizeHLTforCMSSW.py
index bf0bc345665ba..bfa9c2f94cb14 100644
--- a/HLTrigger/Configuration/python/customizeHLTforCMSSW.py
+++ b/HLTrigger/Configuration/python/customizeHLTforCMSSW.py
@@ -198,6 +198,18 @@ def customizeHLTfor49436(process):
return process
+
+def customizeHLTfor49799(process):
+ """Remove obsolete CUDA pixel ESProducers"""
+
+ if hasattr(process, "siPixelGainCalibrationForHLTGPU"):
+ del process.siPixelGainCalibrationForHLTGPU
+ if hasattr(process, "siPixelROCsStatusAndMappingWrapperESProducer"):
+ del process.siPixelROCsStatusAndMappingWrapperESProducer
+
+ return process
+
+
# CMSSW version specific customizations
def customizeHLTforCMSSW(process, menuType="GRun"):
@@ -207,4 +219,6 @@ def customizeHLTforCMSSW(process, menuType="GRun"):
# process = customizeHLTfor49436(process)
+ process = customizeHLTfor49799(process)
+
return process