From 75f8119dacee043e7b3c2ce1d213923b7a0e4d83 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Thu, 12 Nov 2020 23:25:26 +0100 Subject: [PATCH] Move common ESProducer templates to ConvertingESProducer(WithDependencies)T (cms-patatrack#569) Move few similar implementations of templated ESProducers - EcalESProducerGPU - EcalRawESProducerGPU - HcalESProducerGPU - HcalESProducerGPUWithDependencies - HcalRawESProducerGPU to a common implementation under HeterogeneousCore/CUDACore/ . Adapt all client code accordingly. Do not use transient handles to avoid ESProducers taking references to transient memory objects. --- .../plugins/EcalRawESProducersGPUDefs.cc | 9 +-- .../plugins/EcalESProducersGPUDefs.cc | 73 +++++++++---------- 2 files changed, 36 insertions(+), 46 deletions(-) diff --git a/EventFilter/EcalRawToDigi/plugins/EcalRawESProducersGPUDefs.cc b/EventFilter/EcalRawToDigi/plugins/EcalRawESProducersGPUDefs.cc index 0133eb27d5c71..84fcc7b2b2952 100644 --- a/EventFilter/EcalRawToDigi/plugins/EcalRawESProducersGPUDefs.cc +++ b/EventFilter/EcalRawToDigi/plugins/EcalRawESProducersGPUDefs.cc @@ -1,12 +1,9 @@ -#include "EcalRawESProducerGPU.h" - #include "CondFormats/DataRecord/interface/EcalMappingElectronicsRcd.h" - #include "EventFilter/EcalRawToDigi/interface/ElectronicsMappingGPU.h" - -#include +#include "FWCore/Framework/interface/MakerMacros.h" +#include "HeterogeneousCore/CUDACore/interface/ConvertingESProducerT.h" using EcalElectronicsMappingGPUESProducer = - EcalRawESProducerGPU; + ConvertingESProducerT; DEFINE_FWK_EVENTSETUP_MODULE(EcalElectronicsMappingGPUESProducer); diff --git a/RecoLocalCalo/EcalRecProducers/plugins/EcalESProducersGPUDefs.cc b/RecoLocalCalo/EcalRecProducers/plugins/EcalESProducersGPUDefs.cc index c2f6de85ef5a3..3118d54c6a7e9 100644 --- a/RecoLocalCalo/EcalRecProducers/plugins/EcalESProducersGPUDefs.cc +++ b/RecoLocalCalo/EcalRecProducers/plugins/EcalESProducersGPUDefs.cc @@ -1,81 +1,74 @@ -#include "EcalESProducerGPU.h" - -// for uncalibrechit -#include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h" -#include "CondFormats/DataRecord/interface/EcalGainRatiosRcd.h" -#include "CondFormats/DataRecord/interface/EcalPulseShapesRcd.h" -#include "CondFormats/DataRecord/interface/EcalPulseCovariancesRcd.h" -#include "CondFormats/DataRecord/interface/EcalSamplesCorrelationRcd.h" -#include "CondFormats/DataRecord/interface/EcalTimeBiasCorrectionsRcd.h" -#include "CondFormats/DataRecord/interface/EcalTimeCalibConstantsRcd.h" -// for rechit #include "CondFormats/DataRecord/interface/EcalADCToGeVConstantRcd.h" -#include "CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h" #include "CondFormats/DataRecord/interface/EcalChannelStatusRcd.h" +#include "CondFormats/DataRecord/interface/EcalGainRatiosRcd.h" +#include "CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h" #include "CondFormats/DataRecord/interface/EcalLaserAPDPNRatiosRcd.h" #include "CondFormats/DataRecord/interface/EcalLaserAPDPNRatiosRefRcd.h" #include "CondFormats/DataRecord/interface/EcalLaserAlphasRcd.h" #include "CondFormats/DataRecord/interface/EcalLinearCorrectionsRcd.h" - -// for uncalibrechit -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalPedestalsGPU.h" +#include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h" +#include "CondFormats/DataRecord/interface/EcalPulseCovariancesRcd.h" +#include "CondFormats/DataRecord/interface/EcalPulseShapesRcd.h" +#include "CondFormats/DataRecord/interface/EcalSamplesCorrelationRcd.h" +#include "CondFormats/DataRecord/interface/EcalTimeBiasCorrectionsRcd.h" +#include "CondFormats/DataRecord/interface/EcalTimeCalibConstantsRcd.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "HeterogeneousCore/CUDACore/interface/ConvertingESProducerT.h" #include "RecoLocalCalo/EcalRecAlgos/interface/EcalGainRatiosGPU.h" -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalPulseShapesGPU.h" -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalPulseCovariancesGPU.h" -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSamplesCorrelationGPU.h" -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalTimeBiasCorrectionsGPU.h" -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalTimeCalibConstantsGPU.h" -// for rechit -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalRechitADCToGeVConstantGPU.h" #include "RecoLocalCalo/EcalRecAlgos/interface/EcalIntercalibConstantsGPU.h" -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalRechitChannelStatusGPU.h" #include "RecoLocalCalo/EcalRecAlgos/interface/EcalLaserAPDPNRatiosGPU.h" #include "RecoLocalCalo/EcalRecAlgos/interface/EcalLaserAPDPNRatiosRefGPU.h" #include "RecoLocalCalo/EcalRecAlgos/interface/EcalLaserAlphasGPU.h" #include "RecoLocalCalo/EcalRecAlgos/interface/EcalLinearCorrectionsGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalPedestalsGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalPulseCovariancesGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalPulseShapesGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalRechitADCToGeVConstantGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalRechitChannelStatusGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSamplesCorrelationGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalTimeBiasCorrectionsGPU.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalTimeCalibConstantsGPU.h" -#include - -using EcalPedestalsGPUESProducer = EcalESProducerGPU; +using EcalPedestalsGPUESProducer = ConvertingESProducerT; -using EcalGainRatiosGPUESProducer = EcalESProducerGPU; +using EcalGainRatiosGPUESProducer = ConvertingESProducerT; -using EcalPulseShapesGPUESProducer = EcalESProducerGPU; +using EcalPulseShapesGPUESProducer = ConvertingESProducerT; using EcalPulseCovariancesGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalSamplesCorrelationGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalTimeBiasCorrectionsGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalTimeCalibConstantsGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalRechitADCToGeVConstantGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalIntercalibConstantsGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalRechitChannelStatusGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalLaserAPDPNRatiosGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; using EcalLaserAPDPNRatiosRefGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; -using EcalLaserAlphasGPUESProducer = EcalESProducerGPU; +using EcalLaserAlphasGPUESProducer = ConvertingESProducerT; using EcalLinearCorrectionsGPUESProducer = - EcalESProducerGPU; + ConvertingESProducerT; // -// This below also creates the .py config files, as described in "EcalESProducerGPU.h" +// This below also creates the .py config files, as described in HeterogeneousCore/CUDACore/interface/ConvertingESProducerT.h // DEFINE_FWK_EVENTSETUP_MODULE(EcalPedestalsGPUESProducer);