From 3a22e5058941a6d72982b88ddd88cbadd2bf0dbd Mon Sep 17 00:00:00 2001 From: Miryam Date: Mon, 7 Nov 2022 11:57:40 +0100 Subject: [PATCH 1/7] Create berenice doc. --- docs/source/berenice.rst | 191 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 189 insertions(+), 2 deletions(-) diff --git a/docs/source/berenice.rst b/docs/source/berenice.rst index fed5af2..c295ab8 100644 --- a/docs/source/berenice.rst +++ b/docs/source/berenice.rst @@ -1,5 +1,192 @@ Berenice ========== -.. caution:: - This page is currently not created, we are working on it. If you would like to contribute on this documentation, reach `me `_! +*From Βερενíκη, Ancient Macedonian form of the Attic Greek, Φερενíκη: she, who brings victory.* + +This city produces the spectrum of dark noise of the SiPMs. This is achieved by binning either the pe or ADC content of each raw WF sample. Some slices will have only electronic noise while others will contain one or more dark counts. The resulting spectra give a representation of the SiPM charge in the absence of external light above detector ambient conditions. + +.. _Berenice input: + +Input +----- + + * ``/Run/events`` + * ``/Run/runInfo`` + * ``/RD/sipmrwf`` + +.. _Berenice output: + +Output +------ + + * ``/PMAPS/S1``: the sliced PMT-summed waveform for each S1 peak. 4 columns: event number, peak number, time (:math:`\mu`\ s) and amplitude (pes) + * ``/PMAPS/S1Pmt``: the sliced individual PMT waveforms for each S1 peak. 4 columns: event number, peak number, pmt id and amplitude (pes) + * ``/PMAPS/S2``: the sliced PMT-summed waveform for each S2 peak. 4 columns: event number, peak number, time (:math:`\mu`\ s) and amplitude (pes) + * ``/PMAPS/S2Pmt``: the sliced individual PMT waveforms for each S2 peak. 4 columns: event number, peak number, pmt id and amplitude (pes) + * ``/PMAPS/S2Si``: the sliced individual SiPM waveforms for each S2 peak. 4 columns: event number, peak number, sipm id and amplitude (pes) + * ``/Filters/empty_pmap``: flag for whether an event passed the empty pmap filter + * ``/Filters/s12_indices``: flag for whether an event passed the s12 indices filter + +.. _Irene config: + +Config +------ + +Besides the :ref:`Common arguments to every city`, *Irene* has the following arguments: + +.. list-table:: + :widths: 50 40 120 + :header-rows: 1 + + * - **Parameter** + - **Type** + - **Description** + + * - ``n_baseline`` + - ``int`` + - Number of waveform samples to compute the baseline. + + * - ``n_mau`` + - ``int`` + - Number of waveform samples to compute the mau. + + * - ``thr_mau`` + - ``float`` + - Threshold for mau calculation in pes. + + * - ``thr_sipm`` + - ``float`` + - Threshold for individual SiPM samples. Can be absolute (pes) or relative (unitless), depending on ``thr_sipm_type``. + + * - ``thr_sipm_type`` + - ``ThresholdSiPM`` + - Thresholding mode for individual SiPM samples. ``common`` applies the same absolute threshold value to all SiPMs. ``individual`` uses a relative value based on the noise spectrum for each SiPM. + + * - ``s1|s2_lmin|lmax`` + - ``int`` + - Lower/upper limits to the width of S1/S2 signals expressed in number of samples. + + * - ``s1|s2_tmin|tmax`` + - ``float`` + - Lower/upper limits of the search window for S1/S2 signals. + + * - ``s1|s2_rebin_stride`` + - ``int`` + - Rebin factor for S1/S2 signals. Rarely changed. 1 for S1 and 40 for S2 signals. + + * - ``s1|s2_stride`` + - ``int`` + - Allowed range of signal fluctuations below threshold for peak merging expressed in number of samples. + + * - ``thr_csum_s1|s2`` + - ``float`` + - Threshold applied to the PMT-summed waveform in order to find S1/S2 peaks. + + * - ``thr_sipm_s2`` + - ``float`` + - Threshold applied to the time-integrated signal of each SiPM to discard SiPMs with only dark counts. + + * - ``pmt_samp_wid`` + - ``float`` + - Sampling period of PMTs. Should be removed. + + * - ``sipm_samp_wid`` + - ``float`` + - Sampling period of SiPMs. Should be removed. + + +.. _Irene workflow: + +Workflow +-------- + +Irene performs a number of data transformations in order to obtain a **PMap**. These operations can be grouped in four main tasks, performed in the following order: + + * :ref:`Deconvolution of PMT waveforms ` + * :ref:`Baseline subtraction of SiPM waveforms ` + * :ref:`Waveform calibration ` + * :ref:`Peak finding and matching of PMT and SiPM signals ` + + +.. _Deconvolution of PMT waveforms: + +Deconvolution of PMT waveforms +:::::::::::::::::::::::::::::: + +Due to the bias configuration of the PMTs, the PMT waveform does not represent the actual signal produced by the PMT, but its derivative (for details see [1]_). The typical PMT **RWF** for a Kr event looks like this: + + .. image:: images/irene/pmt_rwf.png + :width: 850 + +This waveform needs to be transformed into a unipolar (positive-defined) zero-baseline waveform whose area is proportional to the number of photons detected. The part of the waveform corresponding to when the PMT doesn't receive any light is just a gaussianly-distributed noise around a baseline value. This value is estimated using the first few microseconds of the waveform; the amplitude is averaged over this time frame and subtracted from the entire waveform to produce a baseline-subtracted waveform. + +The resulting waveform is still bipolar. This is addressed by the deconvolution algorithm (BLR). This process is fairly complex, but in simple terms, it consists of a high-pass filter and a signal accumulator, which inverts the effect of the PMT electronics. For greater detail on the PMT electronics and the recovery algorithm see [1]_. Finally, the polarity of the waveform is inverted to make it positive. + +All the aforementioned steps are performed for each PMT separately. The output of this algorithm are the so-called *Corrected waveforms* (**CWF**\ s). + +The city :doc:`isidora` allows the user to run just this stage of the reconstruction and store the **CWF**\ s for further study. Irene however, does not store them and they are fed directly into the rest of the PMap-building algorithm. The **CWF** corresponding to the **RWF** shown above is: + + .. image:: images/irene/pmt_cwf.png + :width: 850 + + +.. _Baseline subtraction of SiPM waveforms: + +Baseline subtraction of SiPM waveforms +:::::::::::::::::::::::::::::::::::::: + +Unlike PMTs, SiPM waveforms are already unipolar and positive-defined. The baseline computation for SiPMs is slightly different. Instead of averaging a fraction of the waveform, the mode [#]_ of the entire waveform is used. The baseline is estimated and substracted on an event-by-event basis and for each SiPM independently. The following figure shows a comparison between a SiPM **RWF** and a baseline-subtracted SiPM waveform. + + .. image:: images/irene/sipm_rwf.png + :width: 850 + + +.. _Waveform calibration: + +Waveform calibration +:::::::::::::::::::: + +The production and manufacturing of the sensors and other electronic components does not guarantee a homogeneous response among all sensors. Thus, the waveforms are calibrated to equalize their response. The calibration consists of a constant for each sensor indicating the number of ADC corresponding to a photoelectron (calibration constant), which is a physical quantity common to all of them. The calibration technique is similar for PMTs and SiPMs. For details about the calibration procedure see the calibration cities: :doc:`berenice`, :doc:`phyllis` and :doc:`trude`. + +The calibration constants are measured regularly while the detector is in operation. The calibration constants are fetched from the database automatically and indexed by run number. + +The calibration step is rather simple. The **CWF** of each PMT and the baseline-subtracted waveform of each SiPM are scaled up according to their corresponding calibration constants. The resulting set of waveforms are sometimes called **CCWF**\ s (*Calibrated Corrected Waveforms*). + + +.. _Peak finding and matching of PMT and SiPM signals: + +Peak finding and matching of PMT and SiPM signals +::::::::::::::::::::::::::::::::::::::::::::::::: + +The peak finding and waveform slicing is arguably the most complex part of the **RWF** processing. The algorithm must be able to find two very different types of signals (S1 and S2), while accurately establishing the limits on those peaks to maintain the energy resolution capabilities of the detector. + +In order to optimize the peak search, PMT **CCWF**\ s are used as they have a higher sampling rate and therefore better time resolution. On top of that, these waveforms are PMT-summed to increase the signal-over-noise ratio [#]_. S1 and S2 signals are searched independently. + +The PMT-summed waveform is searched for samples above a certain threshold (``thr_csum_sX``), which may depend on the event type. The samples below the threshold are initially ignored. However, fluctuations in the PMT signal close to the threshold can lead to a split in an otherwise continuous peak. This is particularly relevant for S1 signals due to their small amplitude in low-energy events. +To minimize this effect, signal regions separated by a short time (configurable via the ``sX_stride`` arguments) are joined back together. This stride may also depend on the event type. +In order to reduce the amount of spurious or unphysical peaks, the search can be restricted to certain time spans (``sX_tmin``, ``sX_tmax``) in the waveform. +Furthermore, the resulting peaks are filtered based on their width (via ``sX_lmin``, ``sX_lmax``), improving the efficiency of finding peaks corresponding to a true signal. +The beginning and end of the signal region is kept for each peak. This information is then used to slice each PMT and SiPM waveforms. + +To create a S2 peak, the sliced PMT waveforms are resampled according to ``s2_rebin_stride``. By default, this resamples from 40 MHz (25 ns) to 1 MHz (1 :math:`\mu`\ s) to match the sampling rate of SiPMs. Also, SiPMs are noisier than PMTs, producing spurious photoelectron pulses. In order to minimize this effect, a threshold ``thr_sipm`` is applied to each sample of each SiPM, suppressing values below it. This threshold can be ``common`` to all SiPMs, or applied to each ``individual`` SiPM, based on their measured noise spectrum. This behaviour can be controlled via the ``thr_sipm_type`` argument. Finally, due to the characteristics of the tracking plane, most SiPMs don't contain signal. Hence, another threshold ``the_sipm_s2`` is applied to the time-integrated signal of each SiPM for a given peak [#]_. +The resulting PMT and SiPM waveforms are then time-matched and stored in a single object (``Peak``). + +S1 signals on the other hand, are weak enough to be detected only by PMTs, therefore the SiPMs are ignored during the S1 search. The waveforms can also be resampled using the ``s1_rebin_stride``, however this parameter is usually set to 1 to keep the optimal time resolution of S1 signals. + +The following figure shows the performance of this algorithm on a typical Kr event. + + .. image:: images/irene/s1_identification.png + :width: 32% + .. image:: images/irene/s2_identification_pmt.png + :width: 32% + .. image:: images/irene/s2_identification_sipm.png + :width: 32% + +Finally all peaks are stored in a single ``PMap`` object. A ``PMap`` contains a list S1 peaks and a list of S2 peaks. Each Peak contains the times of the samples within the peak and a ``SensorResponse`` object for PMTs a ``SensorResponse`` object for SiPMs. Each ``SensorResponse`` object contains the IDs and the sliced waveforms of each sensor that contains signal in an event. + +These data are stored in an hdf5 file in 5 separate tables under a common group ``PMAPS``. See the :ref:`output ` section for a full description. + + .. [1] `The electronics of the energy plane of the NEXT-White detector `_ + .. [#] The waveform at this point is in ADC, therefore, they are integer values. + .. [#] The noise in the PMT waveforms is gaussianly distributed around the baseline with a standard deviation :math:`\sigma_{PMT}`. Assuming similar values of :math:`\sigma_{PMT}`, the addition of the PMT waveforms results in a waveform with a standard deviation :math:`\sqrt{n_{PMT}}\ \sigma_{PMT}`. However, the signal increases linearly with the number of sensors and therefore the signal-to-noise ratio improves as :math:`\sqrt{n_{PMT}}` + .. [#] These two thresholds together reduce the data stored by a factor ~100. From 4af72061f6d979bd603033b4f8d487b3a0abd849 Mon Sep 17 00:00:00 2001 From: Miryam Date: Wed, 3 May 2023 17:52:31 +0200 Subject: [PATCH 2/7] Complete city documentation. --- docs/source/berenice.rst | 165 +++++----------------- docs/source/images/berenice/sliced_wf.png | Bin 0 -> 24119 bytes 2 files changed, 36 insertions(+), 129 deletions(-) create mode 100644 docs/source/images/berenice/sliced_wf.png diff --git a/docs/source/berenice.rst b/docs/source/berenice.rst index c295ab8..ccc78e4 100644 --- a/docs/source/berenice.rst +++ b/docs/source/berenice.rst @@ -10,29 +10,28 @@ This city produces the spectrum of dark noise of the SiPMs. This is achieved by Input ----- - * ``/Run/events`` - * ``/Run/runInfo`` - * ``/RD/sipmrwf`` + * ``/Run/events``:list of the ``evt_number` and the correspondent ``timestamp``. + * ``/Run/runInfo``: stores the ``run_number`. + * ``/RD/sipmrwf``: stores the raw waveform itself. It indicates the number of ADCs per time bin for each event and SiPM. .. _Berenice output: Output ------ - * ``/PMAPS/S1``: the sliced PMT-summed waveform for each S1 peak. 4 columns: event number, peak number, time (:math:`\mu`\ s) and amplitude (pes) - * ``/PMAPS/S1Pmt``: the sliced individual PMT waveforms for each S1 peak. 4 columns: event number, peak number, pmt id and amplitude (pes) - * ``/PMAPS/S2``: the sliced PMT-summed waveform for each S2 peak. 4 columns: event number, peak number, time (:math:`\mu`\ s) and amplitude (pes) - * ``/PMAPS/S2Pmt``: the sliced individual PMT waveforms for each S2 peak. 4 columns: event number, peak number, pmt id and amplitude (pes) - * ``/PMAPS/S2Si``: the sliced individual SiPM waveforms for each S2 peak. 4 columns: event number, peak number, sipm id and amplitude (pes) - * ``/Filters/empty_pmap``: flag for whether an event passed the empty pmap filter - * ``/Filters/s12_indices``: flag for whether an event passed the s12 indices filter + * ``HIST/median``: + * ``HIST/median_bins``: + * ``HIST/mode``: + * ``HIST/mode_bins``: + * ``HIST/adc``: + * ``HIST/adc_bins``: -.. _Irene config: +.. _Berenice config: Config ------ -Besides the :ref:`Common arguments to every city`, *Irene* has the following arguments: +Besides the :ref:`Common arguments to every city`, *Berenice* has the following arguments: .. list-table:: :widths: 50 40 120 @@ -42,103 +41,33 @@ Besides the :ref:`Common arguments to every city`, *Irene* has the following arg - **Type** - **Description** - * - ``n_baseline`` - - ``int`` - - Number of waveform samples to compute the baseline. - - * - ``n_mau`` - - ``int`` - - Number of waveform samples to compute the mau. - - * - ``thr_mau`` - - ``float`` - - Threshold for mau calculation in pes. - - * - ``thr_sipm`` - - ``float`` - - Threshold for individual SiPM samples. Can be absolute (pes) or relative (unitless), depending on ``thr_sipm_type``. - - * - ``thr_sipm_type`` - - ``ThresholdSiPM`` - - Thresholding mode for individual SiPM samples. ``common`` applies the same absolute threshold value to all SiPMs. ``individual`` uses a relative value based on the noise spectrum for each SiPM. - - * - ``s1|s2_lmin|lmax`` - - ``int`` - - Lower/upper limits to the width of S1/S2 signals expressed in number of samples. - - * - ``s1|s2_tmin|tmax`` + * - ``min|max_bin`` - ``float`` - - Lower/upper limits of the search window for S1/S2 signals. - - * - ``s1|s2_rebin_stride`` - - ``int`` - - Rebin factor for S1/S2 signals. Rarely changed. 1 for S1 and 40 for S2 signals. + - Lower/upper limit of the number of `\ADCs`\ of the waveform to be considered for the spectrum. - * - ``s1|s2_stride`` + * - ``bin_width`` - ``int`` - - Allowed range of signal fluctuations below threshold for peak merging expressed in number of samples. - - * - ``thr_csum_s1|s2`` - - ``float`` - - Threshold applied to the PMT-summed waveform in order to find S1/S2 peaks. + - Width of the bins for the spectrum. - * - ``thr_sipm_s2`` - - ``float`` - - Threshold applied to the time-integrated signal of each SiPM to discard SiPMs with only dark counts. - - * - ``pmt_samp_wid`` - - ``float`` - - Sampling period of PMTs. Should be removed. - - * - ``sipm_samp_wid`` - - ``float`` - - Sampling period of SiPMs. Should be removed. - - -.. _Irene workflow: +.. _Berenice workflow: Workflow -------- -Irene performs a number of data transformations in order to obtain a **PMap**. These operations can be grouped in four main tasks, performed in the following order: +Berenice performs the following operations to obtain the dark spectra: - * :ref:`Deconvolution of PMT waveforms ` - * :ref:`Baseline subtraction of SiPM waveforms ` + * :ref:`Subtract the baseline ` * :ref:`Waveform calibration ` - * :ref:`Peak finding and matching of PMT and SiPM signals ` - - -.. _Deconvolution of PMT waveforms: - -Deconvolution of PMT waveforms -:::::::::::::::::::::::::::::: - -Due to the bias configuration of the PMTs, the PMT waveform does not represent the actual signal produced by the PMT, but its derivative (for details see [1]_). The typical PMT **RWF** for a Kr event looks like this: - - .. image:: images/irene/pmt_rwf.png - :width: 850 - -This waveform needs to be transformed into a unipolar (positive-defined) zero-baseline waveform whose area is proportional to the number of photons detected. The part of the waveform corresponding to when the PMT doesn't receive any light is just a gaussianly-distributed noise around a baseline value. This value is estimated using the first few microseconds of the waveform; the amplitude is averaged over this time frame and subtracted from the entire waveform to produce a baseline-subtracted waveform. - -The resulting waveform is still bipolar. This is addressed by the deconvolution algorithm (BLR). This process is fairly complex, but in simple terms, it consists of a high-pass filter and a signal accumulator, which inverts the effect of the PMT electronics. For greater detail on the PMT electronics and the recovery algorithm see [1]_. Finally, the polarity of the waveform is inverted to make it positive. - -All the aforementioned steps are performed for each PMT separately. The output of this algorithm are the so-called *Corrected waveforms* (**CWF**\ s). + * :ref:`Waveform slicing ` + * :ref:`Histogram the result ` -The city :doc:`isidora` allows the user to run just this stage of the reconstruction and store the **CWF**\ s for further study. Irene however, does not store them and they are fed directly into the rest of the PMap-building algorithm. The **CWF** corresponding to the **RWF** shown above is: - .. image:: images/irene/pmt_cwf.png - :width: 850 +.. _Subtract the baseline: +Subtract the baseline +::::::::::::::::::::: -.. _Baseline subtraction of SiPM waveforms: - -Baseline subtraction of SiPM waveforms -:::::::::::::::::::::::::::::::::::::: - -Unlike PMTs, SiPM waveforms are already unipolar and positive-defined. The baseline computation for SiPMs is slightly different. Instead of averaging a fraction of the waveform, the mode [#]_ of the entire waveform is used. The baseline is estimated and substracted on an event-by-event basis and for each SiPM independently. The following figure shows a comparison between a SiPM **RWF** and a baseline-subtracted SiPM waveform. - - .. image:: images/irene/sipm_rwf.png - :width: 850 +Berenice has two options for the baseline substraction: using the median or the mode, analogously described in in :ref:`Baseline subtraction of SiPM waveforms` section of the :doc:`irene` documentation. .. _Waveform calibration: @@ -146,47 +75,25 @@ Unlike PMTs, SiPM waveforms are already unipolar and positive-defined. The basel Waveform calibration :::::::::::::::::::: -The production and manufacturing of the sensors and other electronic components does not guarantee a homogeneous response among all sensors. Thus, the waveforms are calibrated to equalize their response. The calibration consists of a constant for each sensor indicating the number of ADC corresponding to a photoelectron (calibration constant), which is a physical quantity common to all of them. The calibration technique is similar for PMTs and SiPMs. For details about the calibration procedure see the calibration cities: :doc:`berenice`, :doc:`phyllis` and :doc:`trude`. - -The calibration constants are measured regularly while the detector is in operation. The calibration constants are fetched from the database automatically and indexed by run number. - -The calibration step is rather simple. The **CWF** of each PMT and the baseline-subtracted waveform of each SiPM are scaled up according to their corresponding calibration constants. The resulting set of waveforms are sometimes called **CCWF**\ s (*Calibrated Corrected Waveforms*). +In this step, the waveform in ADCs in converted to photoelectrons (pes). For this, the gains are loaded from the NEXT database. +This step is optional when subtracting the baseline the using the mode of the waveform. -.. _Peak finding and matching of PMT and SiPM signals: -Peak finding and matching of PMT and SiPM signals -::::::::::::::::::::::::::::::::::::::::::::::::: +.. _Waveform slicing: -The peak finding and waveform slicing is arguably the most complex part of the **RWF** processing. The algorithm must be able to find two very different types of signals (S1 and S2), while accurately establishing the limits on those peaks to maintain the energy resolution capabilities of the detector. +Waveform slicing +:::::::::::::::: -In order to optimize the peak search, PMT **CCWF**\ s are used as they have a higher sampling rate and therefore better time resolution. On top of that, these waveforms are PMT-summed to increase the signal-over-noise ratio [#]_. S1 and S2 signals are searched independently. +According to the selected ``min_bin``, ``max_bin`` y ``bin_width`` configuration parameters the waveform will be sliced. An exaggerated slicing can be observed in the figure below with ``min_bin=100``, ``max_bin=400`` y ``bin_width=10``: -The PMT-summed waveform is searched for samples above a certain threshold (``thr_csum_sX``), which may depend on the event type. The samples below the threshold are initially ignored. However, fluctuations in the PMT signal close to the threshold can lead to a split in an otherwise continuous peak. This is particularly relevant for S1 signals due to their small amplitude in low-energy events. -To minimize this effect, signal regions separated by a short time (configurable via the ``sX_stride`` arguments) are joined back together. This stride may also depend on the event type. -In order to reduce the amount of spurious or unphysical peaks, the search can be restricted to certain time spans (``sX_tmin``, ``sX_tmax``) in the waveform. -Furthermore, the resulting peaks are filtered based on their width (via ``sX_lmin``, ``sX_lmax``), improving the efficiency of finding peaks corresponding to a true signal. -The beginning and end of the signal region is kept for each peak. This information is then used to slice each PMT and SiPM waveforms. +.. image:: images/berenicec/sliced_wf.png + :width: 850 -To create a S2 peak, the sliced PMT waveforms are resampled according to ``s2_rebin_stride``. By default, this resamples from 40 MHz (25 ns) to 1 MHz (1 :math:`\mu`\ s) to match the sampling rate of SiPMs. Also, SiPMs are noisier than PMTs, producing spurious photoelectron pulses. In order to minimize this effect, a threshold ``thr_sipm`` is applied to each sample of each SiPM, suppressing values below it. This threshold can be ``common`` to all SiPMs, or applied to each ``individual`` SiPM, based on their measured noise spectrum. This behaviour can be controlled via the ``thr_sipm_type`` argument. Finally, due to the characteristics of the tracking plane, most SiPMs don't contain signal. Hence, another threshold ``the_sipm_s2`` is applied to the time-integrated signal of each SiPM for a given peak [#]_. -The resulting PMT and SiPM waveforms are then time-matched and stored in a single object (``Peak``). -S1 signals on the other hand, are weak enough to be detected only by PMTs, therefore the SiPMs are ignored during the S1 search. The waveforms can also be resampled using the ``s1_rebin_stride``, however this parameter is usually set to 1 to keep the optimal time resolution of S1 signals. +.. _Histogram the result: -The following figure shows the performance of this algorithm on a typical Kr event. - - .. image:: images/irene/s1_identification.png - :width: 32% - .. image:: images/irene/s2_identification_pmt.png - :width: 32% - .. image:: images/irene/s2_identification_sipm.png - :width: 32% - -Finally all peaks are stored in a single ``PMap`` object. A ``PMap`` contains a list S1 peaks and a list of S2 peaks. Each Peak contains the times of the samples within the peak and a ``SensorResponse`` object for PMTs a ``SensorResponse`` object for SiPMs. Each ``SensorResponse`` object contains the IDs and the sliced waveforms of each sensor that contains signal in an event. - -These data are stored in an hdf5 file in 5 separate tables under a common group ``PMAPS``. See the :ref:`output ` section for a full description. +Histogram the result +:::::::::::::::::::: - .. [1] `The electronics of the energy plane of the NEXT-White detector `_ - .. [#] The waveform at this point is in ADC, therefore, they are integer values. - .. [#] The noise in the PMT waveforms is gaussianly distributed around the baseline with a standard deviation :math:`\sigma_{PMT}`. Assuming similar values of :math:`\sigma_{PMT}`, the addition of the PMT waveforms results in a waveform with a standard deviation :math:`\sqrt{n_{PMT}}\ \sigma_{PMT}`. However, the signal increases linearly with the number of sensors and therefore the signal-to-noise ratio improves as :math:`\sqrt{n_{PMT}}` - .. [#] These two thresholds together reduce the data stored by a factor ~100. +For each slice performed on the waveform in the previous section, it sums all the ADCs in each slice and adds an entry to the histogram. It repeats this for each waveform of the same sensor. diff --git a/docs/source/images/berenice/sliced_wf.png b/docs/source/images/berenice/sliced_wf.png new file mode 100644 index 0000000000000000000000000000000000000000..67b5f9c024478399a33f1e38910fb9e84717b25d GIT binary patch literal 24119 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 Date: Wed, 3 May 2023 18:06:09 +0200 Subject: [PATCH 3/7] Add output. --- docs/source/berenice.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/source/berenice.rst b/docs/source/berenice.rst index ccc78e4..516c6be 100644 --- a/docs/source/berenice.rst +++ b/docs/source/berenice.rst @@ -10,8 +10,8 @@ This city produces the spectrum of dark noise of the SiPMs. This is achieved by Input ----- - * ``/Run/events``:list of the ``evt_number` and the correspondent ``timestamp``. - * ``/Run/runInfo``: stores the ``run_number`. + * ``/Run/events``:list of the ``evt_number`` and the correspondent ``timestamp``. + * ``/Run/runInfo``: stores the ``run_number``. * ``/RD/sipmrwf``: stores the raw waveform itself. It indicates the number of ADCs per time bin for each event and SiPM. .. _Berenice output: @@ -19,12 +19,12 @@ Input Output ------ - * ``HIST/median``: - * ``HIST/median_bins``: - * ``HIST/mode``: - * ``HIST/mode_bins``: - * ``HIST/adc``: - * ``HIST/adc_bins``: + * ``HIST/median``: histogram values of the dark spectrum when the baseline substraction has been performed with the median of the waveform along with the ADCs to pes conversion (calibration). + * ``HIST/median_bins``: bin values of the dark spectrum ``HIST/median``. + * ``HIST/mode``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform along with the ADCs to pes conversion (calibration). + * ``HIST/mode_bins``: bin values of the dark spectrum ``HIST/mode``. + * ``HIST/adc``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform and no calibration. + * ``HIST/adc_bins``: bin values of the dark spectrum ``HIST/adc_bins``. .. _Berenice config: @@ -87,7 +87,7 @@ Waveform slicing According to the selected ``min_bin``, ``max_bin`` y ``bin_width`` configuration parameters the waveform will be sliced. An exaggerated slicing can be observed in the figure below with ``min_bin=100``, ``max_bin=400`` y ``bin_width=10``: -.. image:: images/berenicec/sliced_wf.png +.. image:: images/berenice/sliced_wf.png :width: 850 From 215cde6d6a5949c3a5d9b560209b3a50d0ad13d7 Mon Sep 17 00:00:00 2001 From: Miryam Date: Wed, 3 May 2023 18:15:06 +0200 Subject: [PATCH 4/7] Fix typos. --- docs/source/berenice.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/source/berenice.rst b/docs/source/berenice.rst index 516c6be..3dccb3a 100644 --- a/docs/source/berenice.rst +++ b/docs/source/berenice.rst @@ -3,7 +3,7 @@ Berenice *From Βερενíκη, Ancient Macedonian form of the Attic Greek, Φερενíκη: she, who brings victory.* -This city produces the spectrum of dark noise of the SiPMs. This is achieved by binning either the pe or ADC content of each raw WF sample. Some slices will have only electronic noise while others will contain one or more dark counts. The resulting spectra give a representation of the SiPM charge in the absence of external light above detector ambient conditions. +This city produces the spectrum of dark noise of the SiPMs. This is achieved by binning either the :math:`pe` or ``ADC`` content of each raw WF sample. Some slices will have only electronic noise while others will contain one or more dark counts. The resulting spectra give a representation of the SiPM charge in the absence of external light above detector ambient conditions. .. _Berenice input: @@ -12,16 +12,16 @@ Input * ``/Run/events``:list of the ``evt_number`` and the correspondent ``timestamp``. * ``/Run/runInfo``: stores the ``run_number``. - * ``/RD/sipmrwf``: stores the raw waveform itself. It indicates the number of ADCs per time bin for each event and SiPM. + * ``/RD/sipmrwf``: stores the raw waveform itself. It indicates the number of ``ADCs`` per time bin for each event and SiPM. .. _Berenice output: Output ------ - * ``HIST/median``: histogram values of the dark spectrum when the baseline substraction has been performed with the median of the waveform along with the ADCs to pes conversion (calibration). + * ``HIST/median``: histogram values of the dark spectrum when the baseline substraction has been performed with the median of the waveform along with the ``ADCs`` to ``pes`` conversion (calibration). * ``HIST/median_bins``: bin values of the dark spectrum ``HIST/median``. - * ``HIST/mode``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform along with the ADCs to pes conversion (calibration). + * ``HIST/mode``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform along with the ``ADCs`` to ``pes`` conversion (calibration). * ``HIST/mode_bins``: bin values of the dark spectrum ``HIST/mode``. * ``HIST/adc``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform and no calibration. * ``HIST/adc_bins``: bin values of the dark spectrum ``HIST/adc_bins``. @@ -43,7 +43,7 @@ Besides the :ref:`Common arguments to every city`, *Berenice* has the following * - ``min|max_bin`` - ``float`` - - Lower/upper limit of the number of `\ADCs`\ of the waveform to be considered for the spectrum. + - Lower/upper limit of the number of ``ADCs`` of the waveform to be considered for the spectrum. * - ``bin_width`` - ``int`` @@ -75,7 +75,7 @@ Berenice has two options for the baseline substraction: using the median or the Waveform calibration :::::::::::::::::::: -In this step, the waveform in ADCs in converted to photoelectrons (pes). For this, the gains are loaded from the NEXT database. +In this step, the waveform in ``ADCs`` in converted to photoelectrons (``pes``). For this, the gains are loaded from the NEXT database. This step is optional when subtracting the baseline the using the mode of the waveform. @@ -96,4 +96,4 @@ According to the selected ``min_bin``, ``max_bin`` y ``bin_width`` configuration Histogram the result :::::::::::::::::::: -For each slice performed on the waveform in the previous section, it sums all the ADCs in each slice and adds an entry to the histogram. It repeats this for each waveform of the same sensor. +For each slice performed on the waveform in the previous section, it sums all the ``ADCs`` in each slice and adds an entry to the histogram. It repeats this for each waveform of the same sensor. From d0422fe7243e091a661e2026054e1783531dc1b3 Mon Sep 17 00:00:00 2001 From: Miryam Date: Wed, 3 May 2023 18:18:48 +0200 Subject: [PATCH 5/7] Cosmetics. --- docs/source/berenice.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/source/berenice.rst b/docs/source/berenice.rst index 3dccb3a..85c59df 100644 --- a/docs/source/berenice.rst +++ b/docs/source/berenice.rst @@ -3,7 +3,7 @@ Berenice *From Βερενíκη, Ancient Macedonian form of the Attic Greek, Φερενíκη: she, who brings victory.* -This city produces the spectrum of dark noise of the SiPMs. This is achieved by binning either the :math:`pe` or ``ADC`` content of each raw WF sample. Some slices will have only electronic noise while others will contain one or more dark counts. The resulting spectra give a representation of the SiPM charge in the absence of external light above detector ambient conditions. +This city produces the spectrum of dark noise of the SiPMs. This is achieved by binning either the :math:`pe` or :math:`ADC` content of each raw WF sample. Some slices will have only electronic noise while others will contain one or more dark counts. The resulting spectra give a representation of the SiPM charge in the absence of external light above detector ambient conditions. .. _Berenice input: @@ -12,16 +12,16 @@ Input * ``/Run/events``:list of the ``evt_number`` and the correspondent ``timestamp``. * ``/Run/runInfo``: stores the ``run_number``. - * ``/RD/sipmrwf``: stores the raw waveform itself. It indicates the number of ``ADCs`` per time bin for each event and SiPM. + * ``/RD/sipmrwf``: stores the raw waveform itself. It indicates the number of :math:`ADCs` per time bin for each event and SiPM. .. _Berenice output: Output ------ - * ``HIST/median``: histogram values of the dark spectrum when the baseline substraction has been performed with the median of the waveform along with the ``ADCs`` to ``pes`` conversion (calibration). + * ``HIST/median``: histogram values of the dark spectrum when the baseline substraction has been performed with the median of the waveform along with the :math:`ADCs` to :math:`pes` conversion (calibration). * ``HIST/median_bins``: bin values of the dark spectrum ``HIST/median``. - * ``HIST/mode``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform along with the ``ADCs`` to ``pes`` conversion (calibration). + * ``HIST/mode``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform along with the :math:`ADCs` to :math:`pes` conversion (calibration). * ``HIST/mode_bins``: bin values of the dark spectrum ``HIST/mode``. * ``HIST/adc``: histogram values of the dark spectrum when the baseline substraction has been performed with the mode of the waveform and no calibration. * ``HIST/adc_bins``: bin values of the dark spectrum ``HIST/adc_bins``. @@ -43,7 +43,7 @@ Besides the :ref:`Common arguments to every city`, *Berenice* has the following * - ``min|max_bin`` - ``float`` - - Lower/upper limit of the number of ``ADCs`` of the waveform to be considered for the spectrum. + - Lower/upper limit of the number of :math:`ADCs`` of the waveform to be considered for the spectrum. * - ``bin_width`` - ``int`` @@ -75,7 +75,7 @@ Berenice has two options for the baseline substraction: using the median or the Waveform calibration :::::::::::::::::::: -In this step, the waveform in ``ADCs`` in converted to photoelectrons (``pes``). For this, the gains are loaded from the NEXT database. +In this step, the waveform in :math:`ADCs`` in converted to photoelectrons (:math:`pes`). For this, the gains are loaded from the NEXT database. This step is optional when subtracting the baseline the using the mode of the waveform. @@ -96,4 +96,4 @@ According to the selected ``min_bin``, ``max_bin`` y ``bin_width`` configuration Histogram the result :::::::::::::::::::: -For each slice performed on the waveform in the previous section, it sums all the ``ADCs`` in each slice and adds an entry to the histogram. It repeats this for each waveform of the same sensor. +For each slice performed on the waveform in the previous section, it sums all the :math:`ADCs`` in each slice and adds an entry to the histogram. It repeats this for each waveform of the same sensor. From 1f2eebb3f3118367a09e818562009b4d30ec70e4 Mon Sep 17 00:00:00 2001 From: Miryam Date: Wed, 14 Feb 2024 15:42:40 +0100 Subject: [PATCH 6/7] Fix typo. --- docs/source/berenice.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/berenice.rst b/docs/source/berenice.rst index 85c59df..bf05606 100644 --- a/docs/source/berenice.rst +++ b/docs/source/berenice.rst @@ -77,7 +77,7 @@ Waveform calibration In this step, the waveform in :math:`ADCs`` in converted to photoelectrons (:math:`pes`). For this, the gains are loaded from the NEXT database. -This step is optional when subtracting the baseline the using the mode of the waveform. +This step is optional when subtracting the baseline using the mode of the waveform. .. _Waveform slicing: From fb966e05824c9effe0e20b0cc3ac5447bd82fbf6 Mon Sep 17 00:00:00 2001 From: Miryam Date: Tue, 27 Feb 2024 14:46:07 +0100 Subject: [PATCH 7/7] Cosmetics. --- docs/source/berenice.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/berenice.rst b/docs/source/berenice.rst index bf05606..6ade7af 100644 --- a/docs/source/berenice.rst +++ b/docs/source/berenice.rst @@ -10,7 +10,7 @@ This city produces the spectrum of dark noise of the SiPMs. This is achieved by Input ----- - * ``/Run/events``:list of the ``evt_number`` and the correspondent ``timestamp``. + * ``/Run/events``: list of the ``evt_number`` and the correspondent ``timestamp``. * ``/Run/runInfo``: stores the ``run_number``. * ``/RD/sipmrwf``: stores the raw waveform itself. It indicates the number of :math:`ADCs` per time bin for each event and SiPM. @@ -75,7 +75,7 @@ Berenice has two options for the baseline substraction: using the median or the Waveform calibration :::::::::::::::::::: -In this step, the waveform in :math:`ADCs`` in converted to photoelectrons (:math:`pes`). For this, the gains are loaded from the NEXT database. +In this step, the waveform in :math:`ADCs` in converted to photoelectrons (:math:`pes`). For this, the gains are loaded from the NEXT database. This step is optional when subtracting the baseline using the mode of the waveform. @@ -96,4 +96,4 @@ According to the selected ``min_bin``, ``max_bin`` y ``bin_width`` configuration Histogram the result :::::::::::::::::::: -For each slice performed on the waveform in the previous section, it sums all the :math:`ADCs`` in each slice and adds an entry to the histogram. It repeats this for each waveform of the same sensor. +For each slice performed on the waveform in the previous section, it sums all the :math:`ADCs` in each slice and adds an entry to the histogram. It repeats this for each waveform of the same sensor.