|
 |
STAR SSD
|
- OFFLINE
|
Old Table
The old table that stored the rms and pedestals values has the following scheme :
/* Table: ssdStripCalib
* description: ssdStripCalib
* tables containing the pedestal, rms and state of each ssd strip.
* id_strip goes from 1 to 768
* id_side goes from 0 (p-side) to 1 (n-side)
* id_wafer goes from 7101 to 8620
*/
struct ssdStripCalib {
long id; /* 10000*(10*id_strip+id_side)+id_wafer */
octet pedestals; /* 0-255*/
octet rms; /* 0-255*/
};
Features : to recall, we have 491520 strips in the SSD. Then for each strips we wrote the id, noise and pedestal values.
As a result each entry of this table (1 entry correponds to one pedestale file) has a sixe of half a million of entries.
During the run 5, we processed almost 300 pedestal files then we had to put in db 300 * 0.5 M entries.
We had to change this scheme because :
- it takes too many entries
- it takes a long time to retrieve from db
New Table
The new table has the following scheme :
/* ssdNoise.idl
* Table: ssdNoise
* description: SSD noise (new table)
*/
struct ssdNoise {
long id;
octet rmsp[768]; /*array of noise for strips in a wafer p-side*/
octet rmsn[768]; /*array of noise for strips in a wafer n-side*/
};
The main change are :
- the lower level of description is no more the strip but the wafer.
- we don't store anymore the pedestal because in real data it is not used. For the simulation I set it to a constant (pedestal = 150 adc) but one can improve it (gaussian with a mean and width depending on real pedestal value, depending on the side)
- the rms value are separetely written in arrays
id stands for wafer numbering : from 0 to 319
It is coded as :
- iWaf goes from 0 to 15 in a given ladder
- iLad goes from 0 to 19
- id = iLad*NWaferPerLadder + iWaf
Jonathan.Bouchet