CMS 3D CMS Logo

EcalRecHitBuilderKernels.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_EcalRecProducers_plugins_EcalRecHitBuilderKernels_h
2 #define RecoLocalCalo_EcalRecProducers_plugins_EcalRecHitBuilderKernels_h
3 
4 //
5 // Builder of ECAL RecHits on GPU
6 //
7 
11 
12 #include "DeclsForKernels.h"
13 
14 namespace ecal {
15  namespace rechit {
16 
18  // configuration
19  int const* ChannelStatusToBeExcluded,
20  uint32_t ChannelStatusToBeExcludedSize,
21  bool killDeadChannels,
22  bool const recoverEBIsolatedChannels,
23  bool const recoverEEIsolatedChannels,
24  bool const recoverEBVFE,
25  bool const recoverEEVFE,
26  bool const recoverEBFE,
27  bool const recoverEEFE,
28  // for flags setting
29  int const* expanded_v_DB_reco_flags,
30  uint32_t const* expanded_Sizes_v_DB_reco_flags,
31  uint32_t const* expanded_flagbit_v_DB_reco_flags,
32  uint32_t expanded_v_DB_reco_flagsSize,
33  uint32_t flagmask,
34  // conditions
35  float const* adc2gev,
36  float const* intercalib,
37  uint16_t const* status,
38  float const* apdpnrefs,
39  float const* alphas,
40  // input for transparency corrections
41  float const* p1,
42  float const* p2,
43  float const* p3,
44  edm::TimeValue_t const* t1,
45  edm::TimeValue_t const* t2,
46  edm::TimeValue_t const* t3,
47  // input for linear corrections
48  float const* lp1,
49  float const* lp2,
50  float const* lp3,
51  edm::TimeValue_t const* lt1,
52  edm::TimeValue_t const* lt2,
53  edm::TimeValue_t const* lt3,
54  // time, used for time dependent corrections
55  edm::TimeValue_t const event_time,
56  // input
57  uint32_t const* did_eb,
58  uint32_t const* did_ee,
59  ::ecal::reco::StorageScalarType const* amplitude_eb, // in adc counts
60  ::ecal::reco::StorageScalarType const* amplitude_ee, // in adc counts
61  ::ecal::reco::StorageScalarType const* time_eb,
62  ::ecal::reco::StorageScalarType const* time_ee,
63  ::ecal::reco::StorageScalarType const* chi2_eb,
64  ::ecal::reco::StorageScalarType const* chi2_ee,
65  uint32_t const* flags_eb,
66  uint32_t const* flags_ee,
67  // output
68  uint32_t* did,
69  ::ecal::reco::StorageScalarType* energy, // in energy [GeV]
72  uint32_t* flagBits,
73  uint32_t* extra,
74  int const nchannels,
75  uint32_t const nChannelsBarrel,
76  uint32_t const offsetForHashes);
77 
78  // host version, to be called by the plugin
79 
80  void create_ecal_rehit(EventInputDataGPU const& eventInputGPU,
81  EventOutputDataGPU& eventOutputGPU,
82  ConditionsProducts const& conditions,
83  ConfigurationParameters const& configParameters,
84  uint32_t const nChannelsBarrel,
85  edm::TimeValue_t const event_time,
86  cudaStream_t cudaStream);
87 
88  } // namespace rechit
89 
90 } // namespace ecal
91 
92 #endif // RecoLocalCalo_EcalRecProducers_plugins_EcalRecHitBuilderKernels_h
__global__ void kernel_create_ecal_rehit(int const *ChannelStatusToBeExcluded, uint32_t ChannelStatusToBeExcludedSize, bool killDeadChannels, bool const recoverEBIsolatedChannels, bool const recoverEEIsolatedChannels, bool const recoverEBVFE, bool const recoverEEVFE, bool const recoverEBFE, bool const recoverEEFE, int const *expanded_v_DB_reco_flags, uint32_t const *expanded_Sizes_v_DB_reco_flags, uint32_t const *expanded_flagbit_v_DB_reco_flags, uint32_t expanded_v_DB_reco_flagsSize, uint32_t flagmask, float const *adc2gev, float const *intercalib, uint16_t const *status, float const *apdpnrefs, float const *alphas, float const *p1, float const *p2, float const *p3, edm::TimeValue_t const *t1, edm::TimeValue_t const *t2, edm::TimeValue_t const *t3, float const *lp1, float const *lp2, float const *lp3, edm::TimeValue_t const *lt1, edm::TimeValue_t const *lt2, edm::TimeValue_t const *lt3, edm::TimeValue_t const event_time, uint32_t const *did_eb, uint32_t const *did_ee, ::ecal::reco::StorageScalarType const *amplitude_eb, ::ecal::reco::StorageScalarType const *amplitude_ee, ::ecal::reco::StorageScalarType const *time_eb, ::ecal::reco::StorageScalarType const *time_ee, ::ecal::reco::StorageScalarType const *chi2_eb, ::ecal::reco::StorageScalarType const *chi2_ee, uint32_t const *flags_eb, uint32_t const *flags_ee, uint32_t *did, ::ecal::reco::StorageScalarType *energy, ::ecal::reco::StorageScalarType *time, ::ecal::reco::StorageScalarType *chi2, uint32_t *flagBits, uint32_t *extra, int const nchannels, uint32_t const nChannelsBarrel, uint32_t const offsetForHashes)
#define __global__
Definition: cudaCompat.h:19
float StorageScalarType
Definition: RecoTypes.h:8
unsigned long long TimeValue_t
Definition: Timestamp.h:21
void create_ecal_rehit(EventInputDataGPU const &eventInputGPU, EventOutputDataGPU &eventOutputGPU, ConditionsProducts const &conditions, ConfigurationParameters const &configParameters, uint32_t const nChannelsBarrel, edm::TimeValue_t const event_time, cudaStream_t cudaStream)