Project

General

Profile

Database Parameters » History » Version 56

Sean Jeffas, 06/29/2023 03:48 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 50 Sean Jeffas
h2. Set once and never change
14
15
These variables describe things like the GEM dimensions which should never be changed unless the GEMs are physically reorganized for different experiments.
16
17 26 Anuruddha Rathnayake Mudiyanselage
* *modules* - Defines the number of individual GEM modules in the entire tracking stack. List them in the form "m0 m1 m2 . . . mn"
18 48 Sean Jeffas
* *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.
19
* *m#.size* - Dimensions of the the module in meters. Uses the same coordinates as the bb.gem.m#.position parameter.
20
* *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.
21
* *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.
22
* *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.
23 1 Sean Jeffas
* *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.
24
* *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.
25
* *m#.nstripsu* - Number of u strips in the GEM module.
26
* *m#.nstripsv* - Number of v strips in the GEM module.
27
* *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.
28
* *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.
29
* *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.
30 50 Sean Jeffas
31 51 Sean Jeffas
h2. Common Mode and Pedestal Related
32 50 Sean Jeffas
33 52 Sean Jeffas
* *pedestalmode* - Set to 1 if the data is taken in pedestal mode and to 0 if online common-mode and zero suppression was enabled. This parameter is now outdated and should never be used. I'll probably delete it.
34 53 Sean Jeffas
* *onlinezerosuppress* - 1 if zero suppression is done online. This parameter is now outdated and should never be used. I'll probably delete it.
35 55 Sean Jeffas
* *pedsub_online* - 1 if pedestals are already subtracted online.  This parameter is now outdated and should never be used. I'll probably delete it.
36 53 Sean Jeffas
* *zerosuppress*
37
* *zerosuppress_nsigma*
38 51 Sean Jeffas
* *commonmode_flag* - 0 =sorting, 1 = "Danning method", 2 = histogramming method cm subtraction
39
* *commonmode_online_flag* -  3 = Danning method during GMn, 4 = Danning method during GEn
40
* *commonmode_nstriplo* - For sorting algorithm
41
* *commonmode_nstriphi* - For sorting algorithm
42
* *commonmode_niter* 
43
* *commonmode_minstrips*
44
* *plot_common_mode*
45
* *pedsub_online*
46
* *commonmode_range_nsigma*
47
* *commonmode_danning_nsigma_cut*
48
* *commonmode_binwidth_nsigma*
49
* *commonmode_scanrange_nsigma*
50
* *commonmode_stepsize_nsigma*
51
* *correct_common_mode*
52
* *correct_common_mode_minstrips*
53
* *correct_common_mode_nsigma*
54
* *use_commonmode_rolling_average*
55
* *commonmode_nevents_lookback*
56
57 52 Sean Jeffas
h2. Thresholds Related
58 50 Sean Jeffas
59 52 Sean Jeffas
* *m#.modulegain* -
60
* *m#.ugain* - Gain of each APV card on the U axis of this module.
61
* *m#.vgain* - Gain of each APV card on the V axis of this module.
62 1 Sean Jeffas
* *m#.maxstrip_t0* - Mean time where good strips are expected. This is only applied to the maximum strip.
63
* *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.
64
* *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.
65
* *addstrip_ccor cut* - ADC correlation between strips and the max strips in a cluster must be greater than this number.
66
* *m#.threshold_sample* - Maximum ADC time sample for a strip must be above this threshold.
67
* *m#.threshold_stripsum* - Strip time sample ADC sum must be above this threshold.
68
* *m#.threshold_clustersum* - ADC sum of all strip sums in a cluster must be above this threshold.
69 52 Sean Jeffas
70
h2. Tracking Related
71
* *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.
72 1 Sean Jeffas
* *m#.angle* - Angle of the module with respect to the m0.
73 56 Sean Jeffas
* *minhitsontrack* - Number of layers needed to form a track.
74
* *maxhitcombos* - Maximum number of hit combinations allowed between the two outer layer grid bins.
75
* *maxhitcombos_inner* - Maximum number of hit combinations allowed from the inner layers
76
* *maxhitcombos_total* - Maximum number of hit combinations allowed from all layers
77
* *tryfasttrack*
78
* *gridbinwidthx*
79
* *gridbinwidthy*
80
* *gridedgetolerancex*
81
* *gridedgetolerancey*
82
* *trackchi2cut*
83
* *useconstraint
84
* *useslopeconstraint*
85
* *useopticsconstraint*
86
* *useforwardopticsconstraint
87
* *sigmahitpos
88
* *do_efficiencies*
89
* *dump_geometry_info*
90
* *efficiency_bin_width_1D*
91
* *efficiency_bin_width_2D*
92 52 Sean Jeffas
93
h2. Still to be organized
94
95
96 1 Sean Jeffas
* *bb.frontconstraint_x0* - Calorimeter front constraint mean x position.
97
* *bb.frontconstraint_y0* - Calorimeter front constraint mean y position.
98
* *bb.backconstraint_x0* - Calorimeter back constraint mean x position.
99
* *bb.backconstraint_y0* - Calorimeter back constraint mean y position.
100
* *bb.frontconstraintwidth_x* - Calorimeter front constraint x width.
101
* *bb.frontconstraintwidth_y* - Calorimeter front constraint y width.
102
* *bb.backconstraintwidth_x* - Calorimeter back constraint x width.
103
* *bb.backconstraintwidth_x* - Calorimeter back constraint y width.
104
* *plot_event_info* - Unknown right now
105
* *dump_geometry_info*
106
* *efficiency_bin_width_1D*
107
* *efficiency_bin_width_2D*
108 52 Sean Jeffas
* *ADCasym_cut* 
109
* *deltat_cut*
110
* *corrcoeff_cut*
111
* *filterflag1D*
112
* *filterflag2D*
113
* *peakprominence_minsigma*
114
* *peakprominence_minfraction*
115
* *maxnu_charge*
116
* *maxnv_charge*
117
* *maxnu_pos*
118
* *maxnv_pos*
119
* *sigmahitshape*
120 54 Sean Jeffas
* *do_neg_signal_study*
121
* *plot_common_mode*
122
* *plot_event_info*
123
* *max2Dhits*
124
* *usestriptimingcut*
125
* *useTSchi2cut*
126 49 Sean Jeffas
127 38 Sebastian Seeds
h1. Calorimeter DB Variables
128 37 Sebastian Seeds
129 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.
130 1 Sean Jeffas
131 38 Sebastian Seeds
Note the following prepends:
132
* HCal: *sbs.hcal.*
133
* BBCal Preshower: *bb.ps.*
134
* BBCal Shower: *bb.sh.*
135
* BBCal Total Shower: *bb.ts.*
136
137
The variable appends and definitions follow:
138 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)
139 38 Sebastian Seeds
* *ledmap* - 
140
* *start_chanmap* - 
141
* *chanmap* - 
142
* *position* - 
143
* *size* - 
144
* *nrows* - 
145
* *ncols* - 
146
* *xyz* - 
147
* *dxdydz* - 
148
* *ypos* - 
149
* *xpos* - 
150
* *emin* - 
151
* *tmax* - 
152 1 Sean Jeffas
* *tdc.GoodTimeCut* - 
153 39 Sebastian Seeds
* *tdc.offset* - 
154
* *tdc.calib* - 
155
* *tdc.tw* - 
156
* *adc.conv* - 
157
* *adc.thres* - 
158
* *adc.NpedBin* - 
159
* *adc.NSB* - 
160
* *adc.NSA* - 
161
* *adc.FixThresBin* - 
162
* *adc.timeoffset* - 
163
* *adc.gain* - 
164
* *adc.emin_clSeed* - 
165 38 Sebastian Seeds
* *ncols* - 
166
* *ncols* - 
167 40 Gary Penman
168
h1. Timing Hodoscope DB Variables
169
170
There are 3 database files for the hodoscope. Each is listed and the variables within have the associated prepend:
171
+db_bb.hodo.dat:+ *bb.hodo.*
172
* *nchan*
173
* *is_mc*
174
* *detmap*
175
* *nbars*
176
* *nrows*
177
* *ncols*
178
* *position*
179
* *xyz*
180 42 Gary Penman
* *dxdydz*
181 40 Gary Penman
* *size*
182
* *angle*
183
* *hit_acceptance*
184
* *speed_of_light*
185
* *attenuation*
186
* *bar_geom*
187
* *ref_ch_res*
188
* *left_calib*
189
* *left_gain*
190
* *left_toff*
191
* *left_walkcor*
192
* *left_walkexp*
193
* *left_pedestal*
194
* *right_calib*
195
* *right_gain*
196
* *right_toff*
197
* *right_walkcor*
198
* *right_walkexp*
199
* *right_pedestal*
200
* *tdc.offset*
201
* *tdc.cal*
202
203
+db_bb.hodotdc.dat:+ *bb.hodotdc.*
204
* *detmap*
205
* *chamap*
206
* *position*
207
* *ypos*
208
* *size*
209
* *ncols*
210
* *nrows*
211
* *xyz*
212
* *dxdydz*
213
* *tdcwindowmin*
214
* *tdcwindowmax*
215
* *tdctotmin*
216
* *tdctotmax*
217
* *horizposbarcut*
218
* *timeref*
219
* *timebarcut*
220
* *maxclussize*
221
* *maxyposdiff_clus*
222
* *maxtimediff_clus*
223
* *trackmatchcutX*
224
* *reftdc.GoodTimeCut*
225
* *reftdc.calib*
226
* *reftdc.offset*
227
* *tdc.GoodTimeCut*
228
* *tdc.calib*
229
* *tdc.offset*
230
* *tdcbaroffset*
231
* *timewalk0map*
232
* *timewalk1map*
233
* *vscint*
234
* *tdiffoffset*
235
236
+db_bb.hodoadc.dat:+ *bb.hodoadc.*
237 41 Gary Penman
* *detmap*
238
* *chanmap*
239
* *position*
240
* *ypos*
241
* *size*
242
* *ncols*
243
* *nrows*
244
* *xyz*
245
* *dxdydz*
246
* *adcbaroffset*
247
* *adc.conv*
248
* *adc.thres*
249
* *adc.NPedBin*
250
* *adc.NSB*
251
* *adc.NSA*
252
* *adc.FixThresBin*
253
* *adc.gain*
254
* *adc.pedestal*
255
* *timewalk0map*
256
* *timewalk1map*