CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes
ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits > Class Template Reference
Inheritance diagram for ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >:
ALPAKA_ACCELERATOR_NAMESPACE::stream::EDProducer<> edm::ProducerBase< edm::stream::EDProducer, Args... >

Public Member Functions

 CAHitNtupletAlpaka (const edm::ParameterSet &iConfig)
 
void produce (device::Event &iEvent, const device::EventSetup &es) override
 
 ~CAHitNtupletAlpaka () override=default
 
- Public Member Functions inherited from ALPAKA_ACCELERATOR_NAMESPACE::stream::EDProducer<>
void produce (edm::Event &iEvent, edm::EventSetup const &iSetup) final
 
- Public Member Functions inherited from edm::ProducerBase< edm::stream::EDProducer, Args... >
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Types

using Algo = CAHitNtupletGenerator< TrackerTraits >
 
using HitsConstView = TrackingRecHitSoAConstView< TrackerTraits >
 
using HitsOnDevice = TrackingRecHitsSoACollection< TrackerTraits >
 
using HitsOnHost = TrackingRecHitHost< TrackerTraits >
 
using TkSoADevice = TracksSoACollection< TrackerTraits >
 
using TkSoAHost = TracksHost< TrackerTraits >
 

Private Attributes

const device::ESGetToken< PixelCPEFastParams< TrackerTraits >, PixelCPEFastParamsRecordcpeToken_
 
Algo deviceAlgo_
 
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecordtokenField_
 
const device::EDGetToken< HitsOnDevicetokenHit_
 
const device::EDPutToken< TkSoADevicetokenTrack_
 

Additional Inherited Members

- Public Types inherited from edm::ProducerBase< edm::stream::EDProducer, Args... >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Protected Member Functions inherited from edm::ProducerBase< edm::stream::EDProducer, Args... >
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
BranchAliasSetterT< ProductType > produces ()
 
auto produces () noexcept
 
ProducesCollector producesCollector ()
 

Detailed Description

template<typename TrackerTraits>
class ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >

Definition at line 30 of file CAHitNtuplet.cc.

Member Typedef Documentation

◆ Algo

template<typename TrackerTraits >
using ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::Algo = CAHitNtupletGenerator<TrackerTraits>
private

Definition at line 38 of file CAHitNtuplet.cc.

◆ HitsConstView

template<typename TrackerTraits >
using ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::HitsConstView = TrackingRecHitSoAConstView<TrackerTraits>
private

Definition at line 31 of file CAHitNtuplet.cc.

◆ HitsOnDevice

template<typename TrackerTraits >
using ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::HitsOnDevice = TrackingRecHitsSoACollection<TrackerTraits>
private

Definition at line 32 of file CAHitNtuplet.cc.

◆ HitsOnHost

template<typename TrackerTraits >
using ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::HitsOnHost = TrackingRecHitHost<TrackerTraits>
private

Definition at line 33 of file CAHitNtuplet.cc.

◆ TkSoADevice

template<typename TrackerTraits >
using ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::TkSoADevice = TracksSoACollection<TrackerTraits>
private

Definition at line 36 of file CAHitNtuplet.cc.

◆ TkSoAHost

template<typename TrackerTraits >
using ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::TkSoAHost = TracksHost<TrackerTraits>
private

Definition at line 35 of file CAHitNtuplet.cc.

Constructor & Destructor Documentation

◆ CAHitNtupletAlpaka()

template<typename TrackerTraits >
ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::CAHitNtupletAlpaka ( const edm::ParameterSet iConfig)
explicit

Definition at line 56 of file CAHitNtuplet.cc.

59  tokenHit_(consumes(iConfig.getParameter<edm::InputTag>("pixelRecHitSrc"))),
61  deviceAlgo_(iConfig) {}
const device::EDGetToken< HitsOnDevice > tokenHit_
Definition: CAHitNtuplet.cc:49
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const device::EDPutToken< TkSoADevice > tokenTrack_
Definition: CAHitNtuplet.cc:50
const device::ESGetToken< PixelCPEFastParams< TrackerTraits >, PixelCPEFastParamsRecord > cpeToken_
Definition: CAHitNtuplet.cc:48
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tokenField_
Definition: CAHitNtuplet.cc:47
auto produces(std::string instanceName) noexcept
declare what type of product will make and with which optional label

◆ ~CAHitNtupletAlpaka()

template<typename TrackerTraits >
ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::~CAHitNtupletAlpaka ( )
overridedefault

Member Function Documentation

◆ fillDescriptions()

template<typename TrackerTraits >
void ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 64 of file CAHitNtuplet.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, reco::modules::fillPSetDescription(), ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

64  {
66 
67  desc.add<edm::InputTag>("pixelRecHitSrc", edm::InputTag("siPixelRecHitsPreSplittingAlpaka"));
68 
69  std::string cpe = "PixelCPEFastParams";
70  cpe += TrackerTraits::nameModifier;
71  desc.add<std::string>("CPE", cpe);
72 
74  descriptions.addWithDefaultLabel(desc);
75  }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void fillPSetDescription(edm::ParameterSetDescription &desc)

◆ produce()

template<typename TrackerTraits >
void ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::produce ( device::Event iEvent,
const device::EventSetup es 
)
overridevirtual

Implements ALPAKA_ACCELERATOR_NAMESPACE::stream::EDProducer<>.

Definition at line 78 of file CAHitNtuplet.cc.

References ALPAKA_ACCELERATOR_NAMESPACE::device::EventSetup::getData(), hfClusterShapes_cfi::hits, and iEvent.

78  {
79  auto bf = 1. / es.getData(tokenField_).inverseBzAtOriginInGeV();
80 
81  auto& fcpe = es.getData(cpeToken_);
82 
83  auto const& hits = iEvent.get(tokenHit_);
84 
85  iEvent.emplace(tokenTrack_, deviceAlgo_.makeTuplesAsync(hits, fcpe.const_buffer().data(), bf, iEvent.queue()));
86  }
const device::EDGetToken< HitsOnDevice > tokenHit_
Definition: CAHitNtuplet.cc:49
const device::EDPutToken< TkSoADevice > tokenTrack_
Definition: CAHitNtuplet.cc:50
const device::ESGetToken< PixelCPEFastParams< TrackerTraits >, PixelCPEFastParamsRecord > cpeToken_
Definition: CAHitNtuplet.cc:48
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tokenField_
Definition: CAHitNtuplet.cc:47
int iEvent
Definition: GenABIO.cc:224
TkSoADevice makeTuplesAsync(HitsOnDevice const &hits_d, ParamsOnDevice const *cpeParams, float bfield, Queue &queue) const

Member Data Documentation

◆ cpeToken_

template<typename TrackerTraits >
const device::ESGetToken<PixelCPEFastParams<TrackerTraits>, PixelCPEFastParamsRecord> ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::cpeToken_
private

Definition at line 48 of file CAHitNtuplet.cc.

◆ deviceAlgo_

template<typename TrackerTraits >
Algo ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::deviceAlgo_
private

Definition at line 52 of file CAHitNtuplet.cc.

◆ tokenField_

template<typename TrackerTraits >
const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::tokenField_
private

Definition at line 47 of file CAHitNtuplet.cc.

◆ tokenHit_

template<typename TrackerTraits >
const device::EDGetToken<HitsOnDevice> ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::tokenHit_
private

Definition at line 49 of file CAHitNtuplet.cc.

◆ tokenTrack_

template<typename TrackerTraits >
const device::EDPutToken<TkSoADevice> ALPAKA_ACCELERATOR_NAMESPACE::CAHitNtupletAlpaka< TrackerTraits >::tokenTrack_
private

Definition at line 50 of file CAHitNtuplet.cc.