Sophronia
From ancient Greek: sensible, prudent.
This city processes each S2 signal previously selected as pmaps in irene assuming a unique S1 within an event to produce a set of reconstructed energy depositions (Hits). Hits consist of three dimensional coordinates with an associated energy (PMT signal) and charge (SiPM signal). The city contains a peak/event filter, which can be configured to find events with a certain number of S1/S2 signals that satisfy certain properties. Currently, the city is designed to accept only 1 S1 signal. If the configuration allows for more than one S1, the first one will be used to estimate z. Furthermore, hits can be optionally corrected for geometrical and lifetime effects. Besides hits, the city also stores the global (x, y) position of each S2 signal. The tasks performed are:
Classify peaks according to the filter.
Filter out events that do not satisfy the selector conditions.
Resample S2 signals.
Compute a set of hits for each slice in the resampled S2 signal.
If there are more than one hit per slice, share the energy according to the charge recorded in the tracking plane.
If correction maps are provided, apply corrections to hits.
Input
/Run/events: Table containing the event number and timestamps
/Run/runInfo: Table containing the run number for each event
/PMAPS/S1: Table containing S1 pmt-summed peak information
/PMAPS/S2: Table containing the S2 pmt-summed peak information
/PMAPS/S2Si: Table containing the S2 sipm peak information
Output
/DST/Events: summary of the S1 and S2 information of the reconstructed events. See Dorothea for more details
/RECO/Events: list of hit data for each event
/Filters/s12_selector: flag for whether an event passed the S1 and S2 selections
/Filters/valid_hit: flag for whether an event passed the empty pmap filter
Config
Besides the Common arguments to every city, Sophronia has the following arguments:
Parameter |
Type |
Description |
|---|---|---|
|
|
Drift velocity. Used to calculate the z position from the drift time |
|
|
Selection criteria for S1 signals (see Peak filtering) |
|
|
Selection criteria for S2 signals (see Peak filtering) |
|
|
Reconstruction algorithm applied to entire peaks (kDST) |
|
|
Configuration parameters for the global recontruction algorithm |
|
|
Level of resampling or grouping of consecutive samples for reconstruction. Must be \(\geq\) 1 |
|
|
Resampling method (usually stride) |
|
|
Charge threshold to be applied to the SiPMs |
|
|
Type of SiPM charge to use (usually raw) |
|
|
Controls whether invalid hits can only be merged with other hits from the same peak |
|
|
Path to the file holding the correction maps |
|
|
Whether to apply temporal corrections (in general, False in MC, True in data) |
Workflow
Sophronia performs the following data transformations:
Peak filtering
Irene finds peaks in the waveform with general characteristics,
but does not impose strong requirements on them. Sophronia, however,
can be more specific and selects S1 and S2 signals based on the
following peak properties: width, height, and integral. These
quantities are calculated based on a (low) threshold applied to the
PMT waveform of the peak. For S2 signals, the number of SiPMs with
some signal is also taken into account [1]. The variables that
control this filtering are provided in the parameters
{s1,s2}_params and are defined as follows:
{s1,s2}_w{min,max}: minimum/maximum width of S1/S2 peaks{s1,s2}_h{min,max}: minimum/maximum height of S1/S2 peaks in a 1-\(\mu\)s sample{s1,s2}_e{min,max}: minimum/maximum integral of S1/S2 peaks{s1,s2}_ethr: threshold applied to the PMT-summed waveform to compute the quantities aboves2_nsipm{min,max}: minimum/maximum number of SiPMs with signal in an S2 peak{s1,s2}_n{min,max}: minimum/maximum number of S1/S2 peaks that satisfy all of the criteria above for given event
Build event summary
This part of the processing is equivalent to Dorothea using
global_reco_algo and global_reco_params. See that city’s
documentation for more details.
Resampling and hit creation
In numerous occasions, the energy deposition in a 1-\(\mu\)s
sample is not enough to produce a significant signal in the SiPMs,
which results in poor reconstruction. It is therefore useful to be
able to resample the waveforms and increase the sampling period (lower
sampling rate). The variable that controls this resampling is
rebin and it specifies how many consecutive 1-\(\mu\)s
slices are added up together. A value of rebin = 1 means no
resampling is performed. Only integer values greater than or equal to
1 are accepted.
Unlike Penthesilea, Sophronia considers the response of a SiPM in a single (resampled) slice a Hit. Hits are defined as the aggregation of the absolute position of the SiPM, the time difference between the slice and the S1 peak time [2], the amplitude of the SiPM waveform (charge) and the energy corresponding to said charge. The corresponding energy is defined as
where \(Q_i\) and \(E_i\) are the charge and corresponding energy of SiPM \(i\), respectivly; \(N\) is the number of SiPMs with signal in the slice and \(E_{slice}\) is the energy of the slice, given by the amplitude of the PMT-summed waveform in the slice.
This information is used to obtain the z position of the hit by
dividing the time difference by the drift velocity
(drift_v).
Hit merging
In some occasions, a time slice might have no SiPMs recorded. This
means that all SiPM waveforms have been disregarded in Irene or
that no SiPM has a charge above q_thr in such slice. However,
because the slice is considered part of a peak, there is some energy
associated to it, which should not be discarded. In these cases,
Sophronia generates a fake hit (a.k.a. NN-hits) with no charge and
no position associated [3].
After all hits are generated, a second step is performed, in which the
fake hits are merged with existing valid hits. This operation searches
for the hits that are closest (in z) to the fake one. Each fake hit’s
energy is shared among its neighbours and added to the neighbouring
slice energy. The energy is not share homogeneously, but
proportionally to the charge of each hit. The parameter same_peak
controls whether only slices from the same peak are taken into account
or if other peaks might also be taken into consideration.
Actually, the algorithm associates an unphysical charge (NN = -999999) and a position \(x = y = 0\).
Hit correction
If a correction map is provided (corrections_file), the
geometrical and lifetime corrections are applied. These corrections
are composed of three factors:
geometrical: accounts for different light collection efficiencies in x,y
lifetime: accounts for the loss of electrons (and therefore signal) due to electron attachment during the drift
temporal: changes in the previous two corrections over time. This is applied only in data, as MC has no temporal dependence.
The geometrical correction is a 2d-function: given the hit position in x,y, we obtain a factor that normalizes the response to the center of the chamber. It may also scale the response to different units (pes-to-keV, for instance).
The lifetime correction is a 3d-function: given the hit position in x,y,z we obtain the correction factor that normalizes the response to that of z=0.
The temporal correction is a 1d-function: given the time since the
start of the run, we estimate variations in the geometrical and
lifetime corrections that normalize the response to that of the
beginning of the run. This correction is only applied if
apply_temp is set to True.