ATLAS Offline Software
Args.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ISF_FASTCALOGPU_GPUARGS_H
6 #define ISF_FASTCALOGPU_GPUARGS_H
7 
8 #include "FH_structs.h"
9 #include "GpuGeneral_structs.h"
10 
11 #define MAXHITS 200000
12 #define MAXBINS 1024
13 #define MAXHITCT 2000
14 
15 struct GeoGpu;
16 
17 typedef struct Chain0_Args {
18 
19  bool debug;
20 
29 
30  float extrapWeight;
31  float E;
32 
33  int pdgId;
34  double charge;
35  int cs;
37  float* rand;
38  int nhits;
39  void* rd4h;
40 
41  FH1D* fh1d;//for energy reweigth
43  FHs* fhs;
44  FH1D fh1d_h; // for energy reweight
45  FH2D fh2d_h; // host struct so we have info
46  FHs fhs_h; // host struct
47 
49 
50  bool is_first; // first event
51  bool is_last; // last event
52 
53  int* hitcells_ct; // GPU pointer for number of uniq hit cells
54  unsigned long ncells;
55  unsigned int maxhitct;
56 
57  float* cells_energy; // big, all cells, ~ 200K array
58  Cell_E* hitcells_E; // array with only hit cells (Mem maxhitct )
59  Cell_E* hitcells_E_h; // host array
60 
61  unsigned int* hitcounts_b; // GPU pointer for interm blockwise result of hit counts
62 
63  unsigned int ct; // cells got hit for the event
64 
65  int reweight; // 1: use gaus log weight for pion, 0: no reweight
66 
68 
69 #endif
Chain0_Args::geo
GeoGpu * geo
Definition: Args.h:48
Chain0_Args::is_last
bool is_last
Definition: Args.h:51
Chain0_Args::hitcells_E
Cell_E * hitcells_E
Definition: Args.h:58
Chain0_Args::fh2d_h
FH2D fh2d_h
Definition: Args.h:45
Chain0_Args::charge
double charge
Definition: Args.h:34
Chain0_Args::extrapol_r_ext
double extrapol_r_ext
Definition: Args.h:27
Chain0_Args::ct
unsigned int ct
Definition: Args.h:63
Chain0_Args::E
float E
Definition: Args.h:31
Chain0_Args::cs
int cs
Definition: Args.h:35
Chain0_Args::is_first
bool is_first
Definition: Args.h:50
Chain0_Args::nhits
int nhits
Definition: Args.h:38
FH1D
Definition: FH_structs.h:22
Chain0_Args::is_phi_symmetric
bool is_phi_symmetric
Definition: Args.h:36
Chain0_Args::fhs
FHs * fhs
Definition: Args.h:43
Chain0_Args::cells_energy
float * cells_energy
Definition: Args.h:57
Chain0_Args::extrapol_phi_ent
double extrapol_phi_ent
Definition: Args.h:22
GeoGpu
Definition: GeoGpu_structs.h:15
Chain0_Args::extrapol_eta_ent
double extrapol_eta_ent
Definition: Args.h:21
GpuGeneral_structs.h
Chain0_Args
struct Chain0_Args Chain0_Args
Chain0_Args::fhs_h
FHs fhs_h
Definition: Args.h:46
Chain0_Args
Definition: Args.h:17
Chain0_Args::extrapol_eta_ext
double extrapol_eta_ext
Definition: Args.h:25
Chain0_Args::extrapol_z_ext
double extrapol_z_ext
Definition: Args.h:28
Chain0_Args::fh1d
FH1D * fh1d
Definition: Args.h:41
Chain0_Args::extrapol_phi_ext
double extrapol_phi_ext
Definition: Args.h:26
Chain0_Args::extrapol_r_ent
double extrapol_r_ent
Definition: Args.h:23
Chain0_Args::reweight
int reweight
Definition: Args.h:65
Chain0_Args::fh1d_h
FH1D fh1d_h
Definition: Args.h:44
Chain0_Args::debug
bool debug
Definition: Args.h:19
Chain0_Args::rd4h
void * rd4h
Definition: Args.h:39
Chain0_Args::pdgId
int pdgId
Definition: Args.h:33
Chain0_Args::hitcounts_b
unsigned int * hitcounts_b
Definition: Args.h:61
Chain0_Args::ncells
unsigned long ncells
Definition: Args.h:54
Chain0_Args::fh2d
FH2D * fh2d
Definition: Args.h:42
FH_structs.h
Chain0_Args::extrapol_z_ent
double extrapol_z_ent
Definition: Args.h:24
FH2D
Definition: FH_structs.h:29
Chain0_Args::hitcells_ct
int * hitcells_ct
Definition: Args.h:53
Chain0_Args::maxhitct
unsigned int maxhitct
Definition: Args.h:55
FHs
Definition: FH_structs.h:10
Chain0_Args::hitcells_E_h
Cell_E * hitcells_E_h
Definition: Args.h:59
Cell_E
Definition: GpuGeneral_structs.h:9
Chain0_Args::extrapWeight
float extrapWeight
Definition: Args.h:30
Chain0_Args::rand
float * rand
Definition: Args.h:37