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
RandomServiceHelper.t2
t2
Definition: RandomServiceHelper.py:257
HLT_FULL_cff.recoverEEVFE
recoverEEVFE
Definition: HLT_FULL_cff.py:8247
ecal::reco::StorageScalarType
float StorageScalarType
Definition: RecoTypes.h:8
mps_update.status
status
Definition: mps_update.py:69
protons_cff.time
time
Definition: protons_cff.py:39
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
ecal
Definition: ElectronicsMappingGPU.h:13
__global__
#define __global__
Definition: cudaCompat.h:19
HLT_FULL_cff.recoverEBVFE
recoverEBVFE
Definition: HLT_FULL_cff.py:8250
HLT_FULL_cff.recoverEEIsolatedChannels
recoverEEIsolatedChannels
Definition: HLT_FULL_cff.py:8260
RandomServiceHelper.t1
t1
Definition: RandomServiceHelper.py:256
p2
double p2[4]
Definition: TauolaWrapper.h:90
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
RandomServiceHelper.t3
t3
Definition: RandomServiceHelper.py:258
EcalRecHit.h
ecal::rechit::create_ecal_rehit
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)
EcalUncalibratedRecHit.h
ecal::rechit::kernel_create_ecal_rehit
__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)
Timestamp.h
HLT_FULL_cff.recoverEBFE
recoverEBFE
Definition: HLT_FULL_cff.py:8262
p1
double p1[4]
Definition: TauolaWrapper.h:89
HLT_FULL_cff.ChannelStatusToBeExcluded
ChannelStatusToBeExcluded
Definition: HLT_FULL_cff.py:8267
HLT_FULL_cff.recoverEBIsolatedChannels
recoverEBIsolatedChannels
Definition: HLT_FULL_cff.py:8249
HLT_FULL_cff.killDeadChannels
killDeadChannels
Definition: HLT_FULL_cff.py:8253
DeclsForKernels.h
submitPVValidationJobs.conditions
list conditions
Definition: submitPVValidationJobs.py:674
HLT_FULL_cff.recoverEEFE
recoverEEFE
Definition: HLT_FULL_cff.py:8271
p3
double p3[4]
Definition: TauolaWrapper.h:91
edm::TimeValue_t
unsigned long long TimeValue_t
Definition: Timestamp.h:28