The file read in two SQLite databases, the data file and the map file.
In the ADCdf table, each of the entry is the signal trace for each of the 253 channel of the chamber.
The first preliminary filter is that for each signal trace, there are two threshold, 1. must be larger than the 20% of the larget amplitude; 2 must be larger than 20. Each of the time bin must be larger than both of the threshold.
A list of positions are extract from the traces (R,z), R is radial of the centroid of the pad , z is the number of the time bin.
The four quadrants are used to construct two images using each opposite pairs. The overlapping score (a overlapping on the edge (y=0 or 300) yield larger score than a overlapping in the center (y=150) ) is calculated to determine the direction of aligning the two images.
A enlarged reconstructed image is presented below
Besides that, as the image is fully contaminated by noisy data and disconnected points. The prepossessing steps consist GaussianBlur, threshold, erode and dilate.
__init__(self,data_path,map_path): initialization of DataFactory
data_path (str): the relative path to the data file
map_path (str): the relative path to the ATTPC map file
this module loads the ADC table into pandas spreadsheet. Then the function iterate through all channels to see at which time bin the signal amplitude is above threshold and store all the filtered signals into t3.
ConstructImage(self,EID):
EID (int): the EventID of the event for constructing the image
This function takes the spreadsheet t3 from __init__ function, and then produce an image using the positions for each “EventID”.