Project

General

Profile

Database Parameters » History » Version 49

Sean Jeffas, 06/29/2023 02:47 PM

1 1 Sean Jeffas
h1. Database Parameters
2 2 Sean Jeffas
3
{{toc}}
4
5
h1. Naming Convention
6 1 Sean Jeffas
7 47 Sean Jeffas
All variables follow a naming convention based on a hierarchy of detectors. A period (.) will separate the hierarchy in the variables name. Therefore a name would look like *detector.subdetector.subsubdetector.variable*. For example one such variable is named *bb.gem.modules*. This means we are looking at the *bb* detector and the *gem* detector in BB and the *modules* variable.
8 2 Sean Jeffas
9
h1. GEM DB Variables
10 1 Sean Jeffas
11 48 Sean Jeffas
All gem variables will have the prefix *gem*. There are GEMs on both sides of the SBS program so the full prefix may be *bb.gem* or *sbs.gem* depending on what you want. The GEM modules are listed iteratively as m0, m1, m2, etc. Therefore the DB parameters that are specific to modules will also follow this labeling. To simplify things here we will list DB parameters with *m#* to denote that this parameter is set for each module. 
12 15 Sean Jeffas
13 48 Sean Jeffas
* *modules* - Defines the number of individual GEM modules in the entire tracking stack. List them in the form "m0 m1 m2 . . . mn"
14
* *m#.layer* - Assign layer(tracking plane) number for each and every GEM module (m#). Just like with module numbers, layer numbers start from 0 and goes up until #layers-1. m0 should be assigned 0.
15
* *m#.position* - Position of the center of the module relative to the first module in the stack (m0) in meters. The coordinate system used is +x - vertical down, +y - beam left direction, and +z - downstream/direction of particle motion.
16
* *m#.angle* - Angle of the module with respect to the m0.
17
* *m#.size* - Dimensions of the the module in meters. Uses the same coordinates as the bb.gem.m#.position parameter.
18
* *m#.apvmap* - APV channel to r/o board mapping is different for different types of GEM modules. Use 0 = INFN, 1 = UVA X/Y, 2 = UVA U/V.
19
* *pedestalmode* - Set to 1 if the data is taken in pedestal mode and to 0 if online common-mode and zero suppression was enabled. (Usually does not need to worry and gets overridden by SBS-offline after looking at the state of the data?)
20 26 Anuruddha Rathnayake Mudiyanselage
* All the common mode parameters ...
21 48 Sean Jeffas
* *m#.modulegain* - 
22
* *m#.ugain* - 
23
* *m#.vgain* - 
24
* *m#.uangle* - Angle of the u strips w.r.t +x direction. Use 150.0 for UVA U/V, 0.0 for UVA X/Y, and 180.0 for INFN X/Y.
25
* *m#.vangle* - Angle of the v strips w.r.t +x direction. This parameter takes care of the layer flipping!. For a case where the readout-board faces the incoming particles (particles first pass through r/o and exits from the gas-window side), use -150.0 for UVA U/V, -90.0 for UVA X/Y, and -90.0 for INFN X/Y. Reverse the sign to account for the case of particles hitting gas-window first.
26
* *m#.uoffset* - u strip offset (from the module center? need to confirm). Put 0.0108 for UVA U/V and 0.0 for UVA X/Y and INFN X/Y.
27
* *m#.voffset* - v strip offset (from the module center? need to confirm). Put 0.0108 for UVA U/V and 0.0 for UVA X/Y and INFN X/Y.
28
* *m#.nstripsu* - Number of u strips in the GEM module.
29
* *m#.nstripsv* - Number of v strips in the GEM module.
30
* *upitch* - The pitch between the consecutive strips for the u strips in meters. Always 400 micrometers (0.0004) in all of our GEM r/o boards.
31
* *vpitch* - The pitch between the consecutive strips for the v strips in meters. Always 400 micrometers (0.0004) in all of our GEM r/o boards.
32
* *m#.chanmap* - The channel map that is used for data decoding. Has the entries: "crate   slot   fiber/mpd  gemid  adc_ch   i2c   pos     invert   axis" for each and every APV card connected to the GEM module. This information in conjunction with the parameters defined above uniquely maps all the ADC channels (corresponding to each and every r/o channel in the GEMs) in the raw data to the correct location in 3D physical space.
33
* *m#.maxstrip_t0* - Mean time where good strips are expected. This is only applied to the maximum strip.
34
* *m#.maxstrip_tcut* - Cut around mean time (above) where good strip times are expected. i.e. good strips will have a time that is within t0 ± tcut. This is only applied to the maximum strip.
35
* *addstrip_tcut* - When forming clusters all strips in the cluster must have a time difference between them and the max strip that is less than this value.
36
* *addstrip_ccor cut* - ADC correlation between strips and the max strips in a cluster must be greater than this number.
37
* *m#.threshold_sample* - Maximum ADC time sample for a strip must be above this threshold.
38
* *m#.threshold_stripsum* - Strip time sample ADC sum must be above this threshold.
39
* *m#.threshold_clustersum* - ADC sum of all strip sums in a cluster must be above this threshold.
40
* *m#.ugain* - Gain of each APV card on the U axis of this module.
41
* *m#.vgain* - Gain of each APV card on the V axis of this module.
42 14 Sean Jeffas
* *bb.frontconstraint_x0* - Calorimeter front constraint mean x position.
43
* *bb.frontconstraint_y0* - Calorimeter front constraint mean y position.
44
* *bb.backconstraint_x0* - Calorimeter back constraint mean x position.
45
* *bb.backconstraint_y0* - Calorimeter back constraint mean y position.
46
* *bb.frontconstraintwidth_x* - Calorimeter front constraint x width.
47
* *bb.frontconstraintwidth_y* - Calorimeter front constraint y width.
48
* *bb.backconstraintwidth_x* - Calorimeter back constraint x width.
49
* *bb.backconstraintwidth_x* - Calorimeter back constraint y width.
50 35 Sebastian Seeds
51 49 Sean Jeffas
52
h2. Still to be organized
53
54
* *plot_event_info* - Unknown right now
55
* *commonmode_flag* - 0 =sorting, 1 = "Danning method", 2 = histogramming method cm subtraction
56
* *commonmode_online_flag* -  3 = Danning method during GMn, 4 = Danning method during GEn
57
* *commonmode_nstriplo* - For sorting algorithm
58
* *commonmode_nstriphi* - For sorting algorithm
59
* *commonmode_niter* 
60
* *commonmode_minstrips*
61
* *plot_common_mode*
62
* *pedsub_online*
63
* *dump_geometry_info*
64
* *efficiency_bin_width_1D*
65
* *efficiency_bin_width_2D*
66
* *commonmode_range_nsigma*
67
* *commonmode_danning_nsigma_cut*
68
* *commonmode_binwidth_nsigma*
69
* *commonmode_scanrange_nsigma*
70
* *commonmode_stepsize_nsigma*
71
* *correct_common_mode*
72
* *correct_common_mode_minstrips*
73
* *correct_common_mode_nsigma*
74
* *use_commonmode_rolling_average*
75
* *commonmode_nevents_lookback*
76
77 38 Sebastian Seeds
h1. Calorimeter DB Variables
78 37 Sebastian Seeds
79 38 Sebastian Seeds
All variables that follow appear in the database files $SBS_REPLAY/DB/db_sbs.hcal.dat (HCal), $SBS_REPLAY/DB/db_bb.ps.dat (BBCal preshower), $SBS_REPLAY/DB/db_bb.sh.dat (BBCal shower), and $SBS_REPLAY/DB/db_bb.ts.dat (BBCal total shower). For the purposes of this list, only active variables (as of 6.22.23) are included. It is worthy to mention that many of the following variables will not appear in all of the above database files either owing to adequate default values or hardware differences rendering the variable obsolete.
80 1 Sean Jeffas
81 38 Sebastian Seeds
Note the following prepends:
82
* HCal: *sbs.hcal.*
83
* BBCal Preshower: *bb.ps.*
84
* BBCal Shower: *bb.sh.*
85
* BBCal Total Shower: *bb.ts.*
86
87
The variable appends and definitions follow:
88 39 Sebastian Seeds
* *detmap* - ADC map. Logic maps channels to slots and slots to crates as follows: *crate* *slot* *start_channel* *end_channel* *ref_channel*(0:HCal cosmic, 2:Beam)
89 38 Sebastian Seeds
* *ledmap* - 
90
* *start_chanmap* - 
91
* *chanmap* - 
92
* *position* - 
93
* *size* - 
94
* *nrows* - 
95
* *ncols* - 
96
* *xyz* - 
97
* *dxdydz* - 
98
* *ypos* - 
99
* *xpos* - 
100
* *emin* - 
101
* *tmax* - 
102 1 Sean Jeffas
* *tdc.GoodTimeCut* - 
103 39 Sebastian Seeds
* *tdc.offset* - 
104
* *tdc.calib* - 
105
* *tdc.tw* - 
106
* *adc.conv* - 
107
* *adc.thres* - 
108
* *adc.NpedBin* - 
109
* *adc.NSB* - 
110
* *adc.NSA* - 
111
* *adc.FixThresBin* - 
112
* *adc.timeoffset* - 
113
* *adc.gain* - 
114
* *adc.emin_clSeed* - 
115 38 Sebastian Seeds
* *ncols* - 
116
* *ncols* - 
117 40 Gary Penman
118
h1. Timing Hodoscope DB Variables
119
120
There are 3 database files for the hodoscope. Each is listed and the variables within have the associated prepend:
121
+db_bb.hodo.dat:+ *bb.hodo.*
122
* *nchan*
123
* *is_mc*
124
* *detmap*
125
* *nbars*
126
* *nrows*
127
* *ncols*
128
* *position*
129
* *xyz*
130 42 Gary Penman
* *dxdydz*
131 40 Gary Penman
* *size*
132
* *angle*
133
* *hit_acceptance*
134
* *speed_of_light*
135
* *attenuation*
136
* *bar_geom*
137
* *ref_ch_res*
138
* *left_calib*
139
* *left_gain*
140
* *left_toff*
141
* *left_walkcor*
142
* *left_walkexp*
143
* *left_pedestal*
144
* *right_calib*
145
* *right_gain*
146
* *right_toff*
147
* *right_walkcor*
148
* *right_walkexp*
149
* *right_pedestal*
150
* *tdc.offset*
151
* *tdc.cal*
152
153
+db_bb.hodotdc.dat:+ *bb.hodotdc.*
154
* *detmap*
155
* *chamap*
156
* *position*
157
* *ypos*
158
* *size*
159
* *ncols*
160
* *nrows*
161
* *xyz*
162
* *dxdydz*
163
* *tdcwindowmin*
164
* *tdcwindowmax*
165
* *tdctotmin*
166
* *tdctotmax*
167
* *horizposbarcut*
168
* *timeref*
169
* *timebarcut*
170
* *maxclussize*
171
* *maxyposdiff_clus*
172
* *maxtimediff_clus*
173
* *trackmatchcutX*
174
* *reftdc.GoodTimeCut*
175
* *reftdc.calib*
176
* *reftdc.offset*
177
* *tdc.GoodTimeCut*
178
* *tdc.calib*
179
* *tdc.offset*
180
* *tdcbaroffset*
181
* *timewalk0map*
182
* *timewalk1map*
183
* *vscint*
184
* *tdiffoffset*
185
186
+db_bb.hodoadc.dat:+ *bb.hodoadc.*
187 41 Gary Penman
* *detmap*
188
* *chanmap*
189
* *position*
190
* *ypos*
191
* *size*
192
* *ncols*
193
* *nrows*
194
* *xyz*
195
* *dxdydz*
196
* *adcbaroffset*
197
* *adc.conv*
198
* *adc.thres*
199
* *adc.NPedBin*
200
* *adc.NSB*
201
* *adc.NSA*
202
* *adc.FixThresBin*
203
* *adc.gain*
204
* *adc.pedestal*
205
* *timewalk0map*
206
* *timewalk1map*