source: trunk/MagicSoft/TDAS-Extractor/Algorithms.tex@ 6651

Last change on this file since 6651 was 6647, checked in by hbartko, 20 years ago
*** empty log message ***
File size: 48.2 KB
Line 
1\section{Signal Reconstruction Algorithms \label{sec:algorithms}}
2
3\subsection{Implementation of Signal Extractors in MARS}
4
5All signal extractor classes are stored in the MARS-directory {\textit{\bf msignal/}}.
6There, the base classes {\textit{\bf MExtractor}}, {\textit{\bf MExtractTime}}, {\textit{\bf MExtractTimeAndCharge}} and
7all individual extractors can be found. Figure~\ref{fig:extractorclasses} gives a sketch of the
8inheritances and tasks of each class.
9
10\begin{figure}[htp]
11\includegraphics[width=0.99\linewidth]{ExtractorClasses.eps}
12\caption{Sketch of the inheritances of three exemplary MARS signal extractor classes:
13MExtractFixedWindow, MExtractTimeFastSpline and MExtractTimeAndChargeDigitalFilter}
14\label{fig:extractorclasses}
15\end{figure}
16
17The following base classes for the extractor tasks are used:
18\begin{description}
19\item[MExtractor:\xspace] This class provides the basic data members, equal for all extractors, which are:
20 \begin{enumerate}
21 \item Global extraction ranges, defined by the variables
22 {\textit{\bf fHiGainFirst, fHiGainLast, fLoGainFirst, fLoGainLast}} and the function {\textit{\bf SetRange()}}.
23 The ranges always {\textit{\bf include}} the edge slices.
24 \item An internal variable {\textit{\bf fHiLoLast}} regulating the overlap of the desired high-gain
25 extraction range into the low-gain array.
26 \item The maximum possible FADC value, before the slice is declared as saturated, defined
27 by the variable {\textit{\bf fSaturationLimit}} (default:\,254).
28 \item The typical delay between high-gain and low-gain slices, expressed in FADC slices and parameterized
29 by the variable {\textit{\bf fOffsetLoGain}} (default:\,1.51)
30 \item Pointers to the storage containers {\textit{\bf MRawEvtData, MRawRunHeader, MPedestalCam}}
31 and~{\textit{\bf MExtractedSignalCam}}, defined by the variables
32 {\textit{\bf fRawEvt, fRunHeader, fPedestals}} and~{\textit{\bf fSignals}}.
33 \item Names of the storage containers to be searched for in the parameter list, parameterized
34 by the variables {\textit{\bf fNamePedestalCam}} and~{\textit{\bf fNameSignalCam}} (default: ``MPedestalCam''
35 and~''MExtractedSignalCam'').
36 \item The equivalent number of FADC samples, used for the calculation of the pedestal RMS and then the
37 number of photo-electrons with the F-Factor method (see eq.~\ref{eq:rmssubtraction} and
38 section~\ref{sec:photo-electrons}). This number is parameterized by the variables
39 {\textit{\bf fNumHiGainSamples}} and~{\textit{\bf fNumLoGainSamples}}.
40 \end{enumerate}
41
42 {\textit {\bf MExtractor}} is able to loop over all events, if the {\textit{\bf Process()}}-function is not overwritten.
43 It uses the following (virtual) functions, to be overwritten by the derived extractor class:
44
45 \begin{enumerate}
46 \item void {\textit {\bf FindSignalHiGain}}(Byte\_t* firstused, Byte\_t* logain, Float\_t\& sum, Byte\_t\& sat) const
47 \item void {\textit {\bf FindSignalLoGain}}(Byte\_t* firstused, Float\_t\& sum, Byte\_t\& sat) const
48 \end{enumerate}
49
50 where the pointers ``firstused'' point to the first used FADC slice declared by the extraction ranges,
51 the pointer ``logain'' points to the beginning of the ``low-gain'' FADC slices array (to be used for
52 pulses reaching into the low-gain array) and the variables ``sum'' and ``sat'' get filled with the
53 extracted signal and the number of saturating FADC slices, respectively.
54 \par
55 The pedestals get subtracted automatically {\textit {\bf after}} execution of these two functions.
56
57\item[MExtractTime:\xspace] This class provides - additionally to those already declared in {\textit{\bf MExtractor}} -
58 the basic data members, equal for all time extractors, which are:
59 \begin{enumerate}
60 \item Pointer to the storage container {\textit{\bf MArrivalTimeCam}}
61 parameterized by the variable
62 {\textit{\bf fArrTime}}.
63 \item The name of the ``MArrivalTimeCam''-container to be searched for in the parameter list,
64 parameterized by the variables {\textit{\bf fNameTimeCam}} (default: ``MArrivalTimeCam'' ).
65 \end{enumerate}
66
67 {\textit {\bf MExtractTime}} is able to loop over all events, if the {\textit{\bf Process()}}-function is not
68 overwritten.
69 It uses the following (virtual) functions, to be overwritten by the derived extractor class:
70
71 \begin{enumerate}
72 \item void {\textit {\bf FindTimeHiGain}}(Byte\_t* firstused, Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat, const MPedestlPix \&ped) const
73 \item void {\textit {\bf FindTimeLoGain}}(Byte\_t* firstused, Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat, const MPedestalPix \&ped) const
74 \end{enumerate}
75
76 where the pointers ``firstused'' point to the first used FADC slice declared by the extraction ranges,
77 and the variables ``time'', ``dtime'' and ``sat'' get filled with the
78 extracted arrival time, its error and the number of saturating FADC slices, respectively.
79 \par
80 The pedestals can be used for the arrival time extraction via the reference ``ped''.
81
82\item[MExtractTimeAndCharge:\xspace] This class provides - additionally to those already declared in
83 {\textit{\bf MExtractor}} and {\textit{\bf MExtractTime}} -
84 the basic data members, equal for all time and charge extractors, which are:
85 \begin{enumerate}
86 \item The actual extraction window sizes, parameterized by the variables
87 {\textit{\bf fWindowSizeHiGain}} and {\textit{\bf fWindowSizeLoGain}}.
88 \item The shift of the low-gain extraction range start w.r.t. to the found high-gain arrival
89 time, parameterized by the variable {\textit{\bf fLoGainStartShift}} (default: -2.8)
90 \end{enumerate}
91
92 {\textit {\bf MExtractTimeAndCharge}} is able to loop over all events, if the {\textit{\bf Process()}}-function is not
93 overwritten.
94 It uses the following (virtual) functions, to be overwritten by the derived extractor class:
95
96 \begin{enumerate}
97 \item void {\textit {\bf FindTimeAndChargeHiGain}}(Byte\_t* firstused, Byte\_t* logain, Float\_t\& sum, Float\_t\& dsum,
98 Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat,
99 const MPedestlPix \&ped, const Bool\_t abflag) const
100 \item void {\textit {\bf FindTimeAndChargeLoGain}}(Byte\_t* firstused, Float\_t\& sum, Float\_t\& dsum,
101 Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat,
102 const MPedestalPix \&ped, const Bool\_t abflag) const
103 \end{enumerate}
104
105 where the pointers ``firstused'' point to the first used FADC slice declared by the extraction ranges,
106 the pointer ``logain'' point to the beginning of the low-gain FADC slices array (to be used for
107 pulses reaching into the ``low-gain'' array),
108 the variables ``sum'', ``dsum'' get filled with the
109 extracted signal and its error. The variables ``time'', ``dtime'' and ``sat'' get filled with the
110 extracted arrival time, its error and the number of saturating FADC slices, respectively.
111 \par
112 The pedestals can be used for the extraction via the reference ``ped'', also the AB-flag is given
113 for AB-clock noise correction.
114\end{description}
115
116
117\subsection{Pure Signal Extractors}
118
119The pure signal extractors have in common that they reconstruct only the
120charge, but not the arrival time. All extractors treated here derive from the MARS-base
121class {\textit{\bf MExtractor}} which provides the following facilities:
122
123\begin{itemize}
124\item The global extraction limits can be set from outside
125\item FADC saturation is kept track of
126\end{itemize}
127
128The following adjustable parameters have to be set from outside:
129\begin{description}
130\item[Global extraction limits:\xspace] Limits in between which the extractor is allowed
131to extract the signal, for high gain and low gain, respectively.
132\end{description}
133
134As the pulses jitter by about one FADC slice,
135not every pulse lies exactly within the optimal limits, especially if one chooses small
136extraction windows.
137Moreover, the readout position with respect to the trigger position has changed a couple
138of times during last year, therefore a very careful adjustment of the extraction limits
139is mandatory before using these extractors.
140
141\subsubsection{Fixed Window}
142
143This extractor is implemented in the MARS-class {\textit{\bf MExtractFixedWindow}}.
144It simply adds the FADC slice contents in the assigned ranges.
145As it does not correct for the clock-noise, only an even number of samples is allowed.
146Figure~\ref{fig:fixedwindowsketch} gives a sketch of the extraction ranges used in this
147paper and for two typical calibration pulses.
148
149\begin{figure}[htp]
150 \includegraphics[width=0.49\linewidth]{MExtractFixedWindow_5Led_UV.eps}
151 \includegraphics[width=0.49\linewidth]{MExtractFixedWindow_23Led_Blue.eps}
152\caption[Sketch extraction ranges MExtractFixedWindow]{%
153Sketch of the extraction ranges for the extractor {\textit{\bf MExtractFixedWindow}}
154for two typical calibration pulses (pedestals have been subtracted) and a typical inner pixel.
155The pulse would be shifted half a slice to the right for an outer pixel. }
156\label{fig:fixedwindowsketch}
157\end{figure}
158
159
160\subsubsection{Fixed Window with Integrated Cubic Spline}
161
162This extractor is implemented in the MARS-class {\textit{\bf MExtractFixedWindowSpline}}. It
163uses a cubic spline algorithm, adapted from \cite{NUMREC} and integrates the
164spline interpolated FADC slice values from a fixed extraction range. The edge slices are counted as half.
165As it does not correct for the clock-noise, only an odd number of samples is allowed.
166Figure~\ref{fig:fixedwindowsplinesketch} gives a sketch of the extraction ranges used in this
167paper and for typical calibration pulses.
168
169\begin{figure}[htp]
170 \includegraphics[width=0.49\linewidth]{MExtractFixedWindowSpline_5Led_UV.eps}
171 \includegraphics[width=0.49\linewidth]{MExtractFixedWindowSpline_23Led_Blue.eps}
172\caption[Sketch extraction ranges MExtractFixedWindowSpline]{%
173Sketch of the extraction ranges for the extractor {\textit{\bf MExtractFixedWindowSpline}}
174for two typical calibration pulses (pedestals have been subtracted) and a typical inner pixel.
175The pulse would be shifted half a slice to the right for an outer pixel. }
176\label{fig:fixedwindowsplinesketch}
177\end{figure}
178
179\subsubsection{Fixed Window with Global Peak Search}
180
181This extractor is implemented in the MARS-class {\textit{\bf MExtractFixedWindowPeakSearch}}.
182The basic idea of this extractor is to correct for coherent movements in arrival time for all pixels,
183as e.g. caused by the trigger jitter.
184In a first loop over the pixels, it determined a reference point slices number defined by the highest sum of
185consecutive non-saturating FADC slices in a (smaller) peak-search window.
186\par
187In a second loop over the pixels,
188it adds the contents of the FADC slices starting from the reference point over an extraction window of a pre-defined window size.
189It loops twice over all pixels in every event, because it has to find the reference point, first.
190As it does not correct for the clock-noise, only extraction windows with an even number of samples are allowed.
191For a high intensity calibration run causing high-gain saturation in the whole camera, this
192extractor apparently fails since only dead pixels are taken into account in the peak search
193 which cannot produce a saturated signal.
194For this special case, we modified {\textit{\bf MExtractFixedWindowPeakSearch}}
195such to define the peak search window as the one starting from the mean position of the first saturating slice.
196\par
197The following adjustable parameters have to be set from outside:
198\begin{description}
199\item[Peak Search Window:\xspace] Defines the ``sliding window'' size within which the peaking sum is
200searched for (default: 4 slices)
201\item[Offset from Window:\xspace] Defines the offset of the start of the extraction window w.r.t. the
202starting point of the obtained peak search window (default: 1 slice)
203\item[Low-Gain Peak shift:\xspace] Defines the shift in the low-gain with respect to the peak found
204in the high-gain (default: 1 slice)
205\end{description}
206
207Figure~\ref{fig:fixedwindowpeaksearchsketch} gives a sketch of the possible peak-search and extraction
208window positions in two typical calibration pulses.
209
210\begin{figure}[htp]
211 \includegraphics[width=0.49\linewidth]{MExtractFixedWindowPeakSearch_5Led_UV.eps}
212 \includegraphics[width=0.49\linewidth]{MExtractFixedWindowPeakSearch_23Led_Blue.eps}
213\caption[Sketch extraction ranges MExtractFixedWindowPeakSearch]{%
214Sketch of the extraction ranges for the extractor {\textit{\bf MExtractFixedWindowPeakSearch}}
215for two typical calibration pulses (pedestals have been subtracted) and a typical inner pixel.
216The pulse would be shifted half a slice to the right for an outer pixel. }
217\label{fig:fixedwindowpeaksearchsketch}
218\end{figure}
219
220\subsection{Combined Extractors}
221
222The combined extractors have in common that for a given pulse, they reconstruct
223both the arrival time and
224the charge.
225All combined extractors described here derive from the MARS-base
226class {\textit{\bf MExtractTimeAndCharge}} which itself derives from MExtractor and MExtractTime.
227It provides the following facilities:
228
229\begin{itemize}
230\item Only one loop over all pixels is performed.
231\item The individual FADC slice values get the clock-noise-corrected pedestals immediately subtracted.
232\item The low-gain extraction range is adapted dynamically, based on the arrival time computed from the high-gain samples.
233\item Arrival times extracted from the low-gain samples get corrected for the intrinsic time delay of the low-gain
234 pulse.
235\item The global extraction limits can be set from outside.
236\item FADC saturation is kept track of.
237\end{itemize}
238
239The following adjustable parameters have to be set from outside, additionally to those declared in the
240base classes MExtractor and MExtractTime:
241
242\begin{description}
243\item[Global extraction limits:\xspace] Limits in between which the extractor is allowed
244to search. They are fixed by the extractor for the high-gain, but re-adjusted for
245every event in the low-gain, depending on the arrival time found in the low-gain.
246However, the dynamically adjusted window is not allowed to pass beyond the global
247limits.
248\item[Low-gain start shift:\xspace] Global shift between the computed high-gain arrival
249time and the start of the low-gain extraction limit (corrected for the intrinsic time offset).
250This variable tells where the extractor is allowed to start searching for the low-gain signal
251if the high-gain arrival time is known. It avoids that the extractor gets confused by possible high-gain
252signals leaking into the ``low-gain'' region (default: -2.8).
253\end{description}
254
255\subsubsection{Sliding Window with Amplitude-Weighted Time}
256
257This extractor is implemented in the MARS-class {\textit{\bf MExtractTimeAndChargeSlidingWindow}}.
258It extracts the signal from a sliding window of an adjustable size, for high-gain and low-gain
259individually (default: 6 and 6). The signal is the one which maximizes the summed
260(clock-noise and pedestal-corrected) consecutive FADC slice contents.
261\par
262The amplitude-weighted arrival time is calculated from the window with
263the highest FADC slice contents integral using the following formula:
264
265\begin{equation}
266 t = \frac{\sum_{i=i_0}^{i_0+\mathrm{\it ws}-1} s_i \cdot i}{\sum_{i=i_0}^{i_0+\mathrm{\it ws}-1} i}
267\end{equation}
268where $i$ denotes the FADC slice index, starting from slice $i_0$
269and running over a window of size $\mathrm{\it ws}$. $s_i$ the clock-noise and
270pedestal-corrected FADC slice contents at slice position $i$.
271\par
272The following adjustable parameters have to be set from outside:
273\begin{description}
274\item[Window sizes:\xspace] Independently for high-gain and low-gain (default: 6,6)
275\end{description}
276
277\begin{figure}[htp]
278 \includegraphics[width=0.49\linewidth]{MExtractTimeAndChargeSlidingWindow_5Led_UV.eps}
279 \includegraphics[width=0.49\linewidth]{MExtractTimeAndChargeSlidingWindow_23Led_Blue.eps}
280\caption[Sketch calculated arrival times MExtractTimeAndChargeSlidingWindow]{%
281Sketch of the calculated arrival times for the extractor {\textit{\bf MExtractTimeAndChargeSlidingWindow}}
282for two typical calibration pulses (pedestals have been subtracted) and a typical inner pixel.
283The extraction window sizes modify the position of the (amplitude-weighted) mean FADC-slices slightly.
284The pulse would be shifted half a slice to the right for an outer pixel. }
285\label{fig:slidingwindowsketch}
286\end{figure}
287
288\subsubsection{Cubic Spline with Sliding Window or Amplitude Extraction}
289
290This extractor is implemented in the MARS-class {\textit{\bf MExtractTimeAndChargeSpline}}.
291It interpolates the FADC contents using a cubic spline algorithm, adapted from \cite{NUMREC}.
292In a second step, it searches for the position of the spline maximum. From then on, two
293possibilities are offered:
294
295\begin{description}
296\item[Extraction Type Amplitude:\xspace] The amplitude of the spline maximum is taken as charge signal
297and the (precise) position of the maximum is returned as arrival time. This type is faster, since a spline integration is not performed.
298\item[Extraction Type Integral:\xspace] The integrated spline between maximum position minus
299rise time (default: 1.5 slices) and maximum position plus fall time (default: 4.5 slices)
300is taken as charge signal and the position of the half maximum left from the position of the maximum
301is returned as arrival time (default).
302The low-gain signal stretches the rise and fall time by a stretch factor (default: 1.5). This type
303is slower, but yields more precise results (see section~\ref{sec:performance}) .
304The charge integration resolution is set to 0.1 FADC slices.
305\end{description}
306
307The following adjustable parameters have to be set from outside:
308
309\begin{description}
310\item[Charge Extraction Type:\xspace] The amplitude of the spline maximum can be chosen while the position
311of the maximum is returned as arrival time. This type is fast. \\
312Otherwise, the integrated spline between maximum position minus rise time (default: 1.5 slices)
313and maximum position plus fall time (default: 4.5 slices) is taken as signal and the position of the
314half maximum is returned as arrival time (default).
315The low-gain signal stretches the rise and fall time by a stretch factor (default: 1.5). This type
316is slower, but more precise. The charge integration resolution is 0.1 FADC slices.
317\item[Rise Time and Fall Time:\xspace] Can be adjusted for the integration charge extraction type.
318\item[Resolution:\xspace] Defined as the maximum allowed difference between the calculated half maximum value and
319the computed spline value at the arrival time position. Can be adjusted for the half-maximum time extraction
320type.
321\item[Low Gain Stretch:\xspace] Can be adjusted to account for the larger rise and fall times in the
322low-gain as compared to the high gain pulses (default: 1.5)
323\end{description}
324
325\begin{figure}[htp]
326 \includegraphics[width=0.49\linewidth]{MExtractTimeAndChargeSpline_5Led_UV.eps}
327 \includegraphics[width=0.49\linewidth]{MExtractTimeAndChargeSpline_23Led_Blue.eps}
328\caption[Sketch calculated arrival times MExtractTimeAndChargeSpline]{%
329Sketch of the calculated arrival times for the extractor {\textit{\bf MExtractTimeAndChargeSpline}}
330for two typical calibration pulses (pedestals have been subtracted) and a typical inner pixel.
331The extraction window sizes modify the position of the (amplitude-weighted) mean FADC-slices slightly.
332The pulse would be shifted half a slice to the right for an outer pixel. }
333\label{fig:splinesketch}
334\end{figure}
335
336\subsubsection{Digital Filter}
337
338This extractor is implemented in the MARS-class {\textit{\bf MExtractTimeAndChargeDigitalFilter}}.
339
340
341The goal of the digital filtering method \cite{OF94,OF77} is to optimally reconstruct the amplitude and time origin of a signal with a known signal shape
342from discrete measurements of the signal. Thereby, the noise contribution to the amplitude reconstruction is minimized.
343
344For the digital filtering method, three assumptions have to be made:
345
346\begin{itemize}
347\item{The normalized signal shape has to be always constant, especially independent of the signal amplitude and in time.}
348\item{The noise properties have to be independent of the signal amplitude.}
349\item{The noise auto-correlation matrix does not change its form significantly with time and operation conditions.}
350\end{itemize}
351
352
353The pulse shape is mainly determined by the artificial pulse stretching by about 6\,ns on the receiver board.
354Thus the first assumption holds to a good approximation for all pulses with intrinsic signal widths much smaller than
355the shaping constant. Also the second assumption is fulfilled: Signal and noise are independent
356and the measured pulse is the linear superposition of the signal and noise. The validity of the third
357assumption is discussed below, especially for different night sky background conditions.
358
359Let $g(t)$ be the normalized signal shape, $E$ the signal amplitude and $\tau$ the time shift
360of the physical signal from the predicted signal shape. Then the time dependence of the signal, $y(t)$, is given by:
361
362\begin{equation}
363y(t)=E \cdot g(t-\tau) + b(t) \ ,
364\end{equation}
365
366where $b(t)$ is the time-dependent noise contribution. For small time shifts $\tau$ (usually smaller than
367one FADC slice width),
368the time dependence can be linearized by the use of a Taylor expansion:
369
370\begin{equation} \label{shape_taylor_approx}
371y(t)=E \cdot g(t) - E\tau \cdot \dot{g}(t) + b(t) \ ,
372\end{equation}
373
374where $\dot{g}(t)$ is the time derivative of the signal shape. Discrete
375measurements $y_i$ of the signal at times $t_i \ (i=1,...,n)$ have the form:
376
377\begin{equation}
378y_i=E \cdot g_i- E\tau \cdot \dot{g}_i +b_i \ .
379\end{equation}
380
381The correlation of the noise contributions at times $t_i$ and $t_j$ can be expressed in the
382noise autocorrelation matrix $\boldsymbol{B}$:
383
384\begin{equation}
385B_{ij} = \langle b_i b_j \rangle - \langle b_i \rangle \langle b_j
386\rangle \ .
387\label{eq:autocorr}
388\end{equation}
389%\equiv \langle b_i b_j \rangle with $\langle b_i \rangle = 0$.
390
391The signal amplitude $E$, and the product of amplitude and time shift $E \tau$, can be estimated from the given set of
392measurements $\boldsymbol{y} = (y_1, ... ,y_n)$ by minimizing the excess noise contribution with respect to the known noise
393auto-correlation:
394
395\begin{eqnarray}
396\chi^2(E, E\tau) &=& \sum_{i,j}(y_i-E g_i-E\tau \dot{g}_i) (\boldsymbol{B}^{-1})_{ij} (y_j - E g_j-E\tau \dot{g}_j) \\
397&=& (\boldsymbol{y} - E
398\boldsymbol{g} - E\tau \dot{\boldsymbol{g}})^T \boldsymbol{B}^{-1} (\boldsymbol{y} - E \boldsymbol{g}- E\tau \dot{\boldsymbol{g}}) \ ,
399\end{eqnarray}
400
401where the last expression is matricial.
402$\chi^2$ is a continuous function of $\tau$ and will have to be discretized itself for a
403desired resolution.
404$\chi^2$ is in principle independent of the noise level if alway the appropriate noise autocorrelation matrix is used. In our case however, we decided to use one matrix $\boldsymbol{B}$ for all levels of night-sky background. Changes in the noise level lead only to a multiplicative factor for all matrix elements and thus do not affect the position of the minimum of $\chi^2$.
405The minimum of $\chi^2$ is obtained for:
406
407\begin{equation}
408\frac{\partial \chi^2(E, E\tau)}{\partial E} = 0 \qquad \text{and} \qquad \frac{\partial \chi^2(E, E\tau)}{\partial(E\tau)} = 0 \ .
409\end{equation}
410
411
412Taking into account that $\boldsymbol{B}$ is a symmetric matrix, this leads to the following
413two equations for the estimated amplitude $\overline{E}$ and the estimation for the product of amplitude
414and time offset $\overline{E\tau}$:
415
416\begin{eqnarray}
4170&=&-\boldsymbol{g}^T\boldsymbol{B}^{-1}\boldsymbol{y}
418 +\boldsymbol{g}^T\boldsymbol{B}^{-1}\boldsymbol{g}\overline{E}
419 +\boldsymbol{g}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}\overline{E\tau}
420\\
4210&=&-\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{y}
422 +\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{g}\overline{E}
423 +\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}\overline{E\tau} \ .
424\end{eqnarray}
425
426Solving these equations one gets the following solutions:
427
428\begin{equation}
429\overline{E}(\tau) = \boldsymbol{w}_{\text{amp}}^T (\tau)\boldsymbol{y} \quad \mathrm{with} \quad
430 \boldsymbol{w}_{\text{amp}}
431 = \frac{ (\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}) \boldsymbol{B}^{-1} \boldsymbol{g} -(\boldsymbol{g}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}) \boldsymbol{B}^{-1} \dot{\boldsymbol{g}}}
432 {(\boldsymbol{g}^T \boldsymbol{B}^{-1} \boldsymbol{g})(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}) -(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{g})^2 } \ ,
433\end{equation}
434
435\begin{equation}
436\overline{E\tau}(\tau)= \boldsymbol{w}_{\text{time}}^T(\tau) \boldsymbol{y} \quad
437 \mathrm{with} \quad \boldsymbol{w}_{\text{time}}
438 = \frac{ ({\boldsymbol{g}}^T\boldsymbol{B}^{-1}{\boldsymbol{g}}) \boldsymbol{B}^{-1} \dot{\boldsymbol{g}} -(\boldsymbol{g}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}) \boldsymbol{B}^{-1} {\boldsymbol{g}}}
439 {(\boldsymbol{g}^T \boldsymbol{B}^{-1} \boldsymbol{g})(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}) -(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{g})^2 } \ .
440\end{equation}
441
442Thus $\overline{E}$ and $\overline{E\tau}$ are given by a weighted sum of the discrete measurements $y_i$
443with the digital filtering weights for the amplitude, $w_{\text{amp}}(\tau)$, and time shift, $w_{\text{time}}(\tau)$. The time dependency gets discretized once again leading to a set of weights samples which themselves depend on the
444discretized time $\tau$.
445\par
446Note the remaining time dependency of the two weights samples. This follows from the dependency of $\boldsymbol{g}$ and
447$\dot{\boldsymbol{g}}$ on the relative position of the signal pulse with respect to FADC slices positions.
448\par
449Because of the truncation of the Taylor series in equation (\ref{shape_taylor_approx}) the above results are
450only valid for vanishing time offsets $\tau$. For non-zero time offsets, one has to iterate the problem using
451the time shifted signal shape $g(t-\tau)$.
452
453The covariance matrix $\boldsymbol{V}$ of $\overline{E}$ and $\overline{E\tau}$ is given by:
454
455\begin{equation}
456\left(\boldsymbol{V}^{-1}\right)_{ij}
457 =\frac{1}{2}\left(\frac{\partial^2 \chi^2(E, E\tau)}{\partial \alpha_i \partial \alpha_j} \right) \quad
458 \text{with} \quad \alpha_i,\alpha_j \in \{E, E\tau\} \ .
459\end{equation}
460
461The expected contribution of the noise to the estimated amplitude, $\sigma_E$, is:
462
463\begin{equation}
464\sigma_E^2=\boldsymbol{V}_{E,E}
465 =\frac{\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}}
466 {(\boldsymbol{g}^T \boldsymbol{B}^{-1} \boldsymbol{g})(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}) -(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{g})^2} \ .
467\label{eq:of_noise}
468\end{equation}
469
470The expected contribution of the noise to the estimated timing, $\sigma_{\tau}$, is:
471
472\begin{equation}
473E^2 \cdot \sigma_{\tau}^2=\boldsymbol{V}_{E\tau,E\tau}
474 =\frac{{\boldsymbol{g}}^T\boldsymbol{B}^{-1}{\boldsymbol{g}}}
475 {(\boldsymbol{g}^T \boldsymbol{B}^{-1} \boldsymbol{g})(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}) -(\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{g})^2} \ .
476\label{eq:of_noise_time}
477\end{equation}
478
479
480In the MAGIC MC simulations~\cite{MC-Camera}, an night-sky background rate of 0.13 photoelectrons per ns,
481an FADC gain of 7.8 FADC counts per photo-electron and an intrinsic FADC noise of 1.3 FADC counts
482per FADC slice is implemented.
483These numbers simulate the night sky background conditions for an extragalactic source and result
484in a noise contribution of about 4 FADC counts per single FADC slice:
485$\sqrt{B_{ii}} \approx 4$~FADC counts.
486Using the digital filter with weights parameterized over 6 FADC slices ($i=0...5$) the errors of the
487reconstructed signal and time amount to:
488
489\begin{equation}
490\sigma_E \approx 8.3 \ \mathrm{FADC\ counts} \ (\approx 1.1\,\mathrm{phe}) \qquad
491\sigma_{\tau} \approx \frac{6.5\ \Delta T_{\mathrm{FADC}}}{(E\ /\ \mathrm{FADC\ counts})} \ (\approx \frac{2.8\,\mathrm{ns}}{E\,/\ \mathrm{N_{phe}}})\ ,
492\label{eq:of_noise_calc}
493\end{equation}
494
495where $\Delta T_{\mathrm{FADC}} = 3.33$ ns is the sampling interval of the MAGIC FADCs.
496The error in the reconstructed signal corresponds to about one photo electron.
497For signals of the size of two photo electrons, the timing error is about 1.4\,ns.
498\par
499
500An IACT has typically two types of background noise:
501On the one hand, there is the constantly present electronics noise,
502while on the other hand, the light of the night sky introduces a sizeable background
503to the measurement of the Cherenkov photons from air showers.
504
505The electronics noise is largely white, i.e. uncorrelated in time.
506The noise from the night sky background photons is the superposition of the
507detector response to single photo electrons following a Poisson distribution in time.
508Figure \ref{fig:noise_autocorr_allpixels} shows the noise
509autocorrelation matrix for an open camera. The large noise autocorrelation of the current FADC
510system is due to the pulse shaping (with the shaping constant equivalent to about two FADC slices).
511
512In general, the amplitude and time weights, $\boldsymbol{w}_{\text{amp}}$ and $\boldsymbol{w}_{\text{time}}$,
513depend on the pulse shape, the derivative of the pulse shape and the noise autocorrelation.
514In the high gain samples, the correlated night sky background noise dominates over
515the white electronics noise. Thus, different noise levels cause the elements of the noise autocorrelation
516matrix to change by a same factor, which cancels out in the weights calculation. Figure~\ref{fig:noise_autocorr_allpixels}
517shows the noise autocorrelation matrix for two different levels of night sky background (top) and the ratio between the
518corresponding elements of both (bottom). The central regions of $\pm$3 FADC slices around the diagonal (which is used to
519calculate the weights) deviate by less than 10\%.
520Thus, the weights are to a reasonable approximation independent of the night sky background noise level in the high gain.
521\par
522In the low gain samples the correlated noise from the LONS is in the same order of magnitude as the white electronics and digitization noise.
523Moreover, the noise autocorrelation for the low gain samples cannot be determined directly from the data. The low gain is only switched on
524if the pulse exceeds a preset threshold. There are no pedestals in the low gain available. Thus the noise auto-correlation determined from
525MC simulations for an extragalactic background is also used to compute the weights for cosmics and calibration pulses.
526
527%\begin{figure}[h!]
528%\begin{center}
529%\includegraphics[totalheight=7cm]{noise_autocorr_AB_36038_TDAS.eps}
530%\end{center}
531%\caption[Noise autocorrelation one pixel.]{Noise autocorrelation
532%matrix $\boldsymbol{B}$ for open camera including the noise due to night sky background fluctuations
533%for one single pixel (obtained from 1000 events).}
534%\label{fig:noise_autocorr_1pix}
535%\end{figure}
536
537\begin{figure}[htp]
538\begin{center}
539\includegraphics[totalheight=7cm]{noise_38995_smallNSB_all396.eps}
540\includegraphics[totalheight=7cm]{noise_39258_largeNSB_all396.eps}
541\includegraphics[totalheight=7cm]{noise_small_over_large.eps}
542\end{center}
543\caption[Noise autocorrelation average all pixels.]{Noise autocorrelation
544matrix $\boldsymbol{B}$ for open camera and averaged over all pixels. The top figure shows $\boldsymbol{B}$
545obtained with camera pointing off the galactic plane (and low night sky background fluctuations).
546The central figure shows $\boldsymbol{B}$ with the camera pointing into the galactic plane
547(high night sky background) and the
548bottom plot shows the ratio between both. One can see that the entries of $\boldsymbol{B}$ do not
549simply scale with the amount of night sky background.}
550\label{fig:noise_autocorr_allpixels}
551\end{figure}
552
553Using the average reconstructed pulpo pulse shapes, as shown in figure \ref{fig:pulse_shapes}, and the reconstructed noise autocorrelation matrices from a pedestal runs with random triggers, the digital filter weights are computed. As the pulse shapes in the high and low gain and for cosmics, calibration and pulpo events are somewhat different, dedicated digital filter weights are computed for these event classes. Also filter weights optimized for MC simulations are calculated. High/low gain filter weights are computed for the following event classes:
554
555\begin{enumerate}
556\item{cosmics weights: for cosmics events}
557\item{calibration weights UV: for UV calibration pulses}
558\item{calibration weights blue: for blue and green calibration pulses}
559\item{MC weights: for MC simulations}
560\item{pulpo weights: for pulpo runs.}
561\end{enumerate}
562
563
564\begin{table}[h]{\normalsize\center
565\begin{tabular}{lllll}
566 \hline
567 & high gain shape & high gain noise & low gain shape & low gain noise
568\\ cosmics & 25945 (pulpo) & 38995 (extragal.) & 44461 (pulpo) & MC low
569\\ UV & 36040 (UV) & 38995 (extragal.) & 44461 (pulpo) & MC low
570\\ blue & 31762 (blue) & 38995 (extragal.) & 31742 (blue) & MC low
571\\ MC & MC & MC high & MC & MC low
572\\ pulpo & 25945 (pulpo) & 38993 (no LONS) & 44461 (pulpo) & MC low
573\\
574\hline
575\end{tabular}
576\caption{The used runs for the pulse shapes and noise auto-correlations for the digital filter weights of the different event types.}\label{table:weight_files}}
577\end{table}
578
579
580
581
582 Figures \ref{fig:w_time_MC_input_TDAS} and \ref{fig:w_amp_MC_input_TDAS} show the amplitude and timing weights for the MC pulse shape. The first weight $w_{\mathrm{amp/time}}(t_0)$ is plotted as a function of the relative time $t_{\text{rel}}$ the trigger and the
583FADC clock in the range $[-0.5,0.5[ \ T_{\text{ADC}}$, the second weight in the range $[0.5,1.5[ \ T_{\text{ADC}}$ and so on. A binning resolution
584of $0.1\,T_{\text{ADC}}$ has been chosen.
585
586
587\begin{figure}[h!]
588\begin{center}
589\includegraphics[totalheight=7cm]{w_time_MC_input_TDAS.eps}
590\end{center}
591\caption[Time weights.]{Time weights $w_{\mathrm{time}}(t_0) \ldots w_{\mathrm{time}}(t_5)$ for a window size of 6 FADC slices for the pulse shape
592used in the MC simulations. The first weight $w_{\mathrm{time}}(t_0)$ is plotted as a function of the relative time $t_{\text{rel}}$ the trigger and the
593FADC clock in the range $[-0.5,0.5[ \ T_{\text{ADC}}$, the second weight in the range $[0.5,1.5[ \ T_{\text{ADC}}$ and so on. A binning resolution
594of $0.1\,T_{\text{ADC}}$ has been chosen.} \label{fig:w_time_MC_input_TDAS}
595\end{figure}
596
597\begin{figure}[h!]
598\begin{center}
599\includegraphics[totalheight=7cm]{w_amp_MC_input_TDAS.eps}
600\end{center}
601\caption[Amplitude weights.]{Amplitude weights $w_{\mathrm{amp}}(t_0) \ldots w_{\mathrm{amp}}(t_5)$ for a window size of 6 FADC slices for the
602pulse shape used in the MC simulations. The first weight $w_{\mathrm{amp}}(t_0)$ is plotted as a function of the relative time $t_{\text{rel}}$
603the trigger and the FADC clock in the range $[-0.5,0.5[ \ T_{\text{ADC}}$, the second weight in the range $[0.5,1.5[ \ T_{\text{ADC}}$ and so on.
604A binning resolution of $0.1\, T_{\text{ADC}}$ has been chosen.} \label{fig:w_amp_MC_input_TDAS}
605\end{figure}
606
607In the current implementation a two step procedure is applied to reconstruct the signal. The weight functions $w_{\mathrm{amp}}(t)$
608and $w_{\mathrm{time}}(t)$ are computed numerically with a resolution of $1/10$ of an FADC slice.
609In the first step the quantities $e_{i_0}$ and $e\tau_{i_0}$ are computed using a window of $n$ slices:
610
611\begin{equation}
612e_{i_0}=\sum_{i=i_0}^{i_0+n-1} w_{\mathrm{amp}}(t_i)y(t_{i+i_0}) \qquad (e\tau)_{i_0}=\sum_{i=i_0}^{i_0+n-1} w_{\mathrm{time}}(t_i)y(t_{i+i_0})
613\end{equation}
614
615for all possible signal start slices $i_0$. Let $i_0^*$ be the signal start slice with the largest $e_{i_0}$.
616Then in a second step the timing offset $\tau$ is calculated:
617
618\begin{equation}
619\tau=\frac{(e\tau)_{i_0^*}}{e_{i_0^*}}
620\label{eq:offsettau}
621\end{equation}
622
623and the weights iterated:
624
625\begin{equation}
626E=\sum_{i=i_0^*}^{i_0^*+n-1} w_{\mathrm{amp}}(t_i - \tau)y(t_{i+i_0^*}) \qquad
627 E \theta=\sum_{i=i_0^*}^{i_0^*+n-1} w_{\mathrm{time}}(t_i - \tau)y(t_{i+i_0^*}) \ .
628\end{equation}
629
630The reconstructed signal is then taken to be $E$ and the reconstructed arrival time $t_{\text{arrival}}$ is
631
632\begin{equation}
633t_{\text{arrival}} = i_0^* + \tau + \theta \ .
634\end{equation}
635
636
637
638Figure \ref{fig:amp_sliding} shows the result of the applied amplitude and time weights to the recorded FADC time slices of one simulated MC pulse. The left plot shows the result of the applied amplitude weights
639$e(t_0)=\sum_{i=0}^{i=n-1} w_{\mathrm{amp}}(t_0+i \cdot T_{\text{ADC}})y(t_0+i \cdot T_{\text{ADC}})$ and
640the right plot shows the result of the applied timing weights
641$e\tau(t_0)=\sum_{i=0}^{i=n-1} w_{\mathrm{time}}(t_0+i \cdot T_{\text{ADC}})y(t_0+i \cdot T_{\text{ADC}})$ as a function of the time shift $t_0$.
642
643
644% This does not apply for MAGIC as the LONs are giving always a correlated noise (in addition to the artificial shaping)
645
646%In the case of an uncorrelated noise with zero mean the noise autocorrelation matrix is:
647
648%\begin{equation}
649%\boldsymbol{B}_{ij}= \langle b_i b_j \rangle \delta_{ij} = \sigma^2(b_i) \ ,
650%\end{equation}
651
652%where $\sigma(b_i)$ is the standard deviation of the noise of the discrete measurements. Equation (\ref{of_noise}) than becomes:
653
654
655%\begin{equation}
656%\frac{\sigma^2(b_i)}{\sigma_E^2} = \sum_{i=1}^{n}{g_i^2} - \frac{\sum_{i=1}^{n}{g_i \dot{g}_i}}{\sum_{i=1}^{n}{\dot{g}_i^2}} \ .
657%\end{equation}
658
659
660\begin{figure}[h!]
661\begin{center}
662\includegraphics[totalheight=7cm]{amp_sliding.eps}
663\includegraphics[totalheight=7cm]{time_sliding.eps}
664\end{center}
665\caption[Digital filter weights applied.]{Digital filter weights applied to the recorded FADC time slices of
666one simulated MC pulse. The left plot shows the result of the applied amplitude weights
667$e(t_0)=\sum_{i=0}^{i=n-1} w_{\mathrm{amp}}(t_0+i \cdot T_{\text{ADC}})y(t_0+i \cdot T_{\text{ADC}})$ and
668the right plot shows the result of the applied timing weights
669$e\tau(t_0)=\sum_{i=0}^{i=n-1} w_{\mathrm{time}}(t_0+i \cdot T_{\text{ADC}})y(t_0+i \cdot T_{\text{ADC}})$ as a function of the time shift $t_0$.}
670\label{fig:amp_sliding}
671\end{figure}
672
673Figure \ref{fig:shape_fit_TDAS} shows the simulated signal pulse shape of a typical MC event together with the simulated FADC slices of the signal pulse plus noise. The digital filter has been applied to reconstruct the signal size and timing. Using this information together with the average normalized MC pulse shape the simulated signal pulse shape is reconstructed and shown as well.
674
675
676
677
678
679\begin{figure}[h!]
680\begin{center}
681\includegraphics[totalheight=7cm]{shape_fit_TDAS.eps}
682\end{center}
683\caption[Shape fit.]{Simulated signal pulse shape and FADC slices for a typical MC event. The FADC measurements are affected by noise. Using the digital filter and the average MC pulse shape the signal shape is reconstructed. The event shown is the same as in figure \ref{fig:amp_sliding}.} \label{fig:shape_fit_TDAS}
684\end{figure}
685%Full fit to the MC pulse shape with the MC input shape and a numerical fit using the digital filter
686
687
688
689The following free adjustable parameters have to be set from outside:
690
691\begin{description}
692\item[Weights File:\xspace] An ascii-file containing the weights, the binning resolution and
693the window size. Currently, the following weight files have been created:
694\begin{itemize}
695\item "cosmics\_weights.dat'' with a window size of 6 FADC slices
696\item "cosmics\_weights4.dat'' with a window size of 4 FADC slices
697\item "calibration\_weights\_blue.dat'' with a window size of 6 FADC slices
698\item "calibration\_weights4\_blue.dat'' with a window size of 4 FADC slices
699\item "calibration\_weights\_UV.dat'' with a window size of 6 FADC slices and in the low-gain the
700calibration weights obtained from blue pulses\footnote{UV-pulses saturating the high-gain are not yet
701available.}.
702\item "calibration\_weights4\_UV.dat'' with a window size of 4 FADC slices and in the low-gain the
703calibration weights obtained from blue pulses\footnote{UV-pulses saturating the high-gain are not yet
704available.}.
705\end{itemize}
706\end{description}
707
708\begin{figure}[htp]
709 \includegraphics[width=0.49\linewidth]{MExtractTimeAndChargeDigitalFilter_5Led_UV.eps}
710 \includegraphics[width=0.49\linewidth]{MExtractTimeAndChargeDigitalFilter_23Led_Blue.eps}
711\caption[Sketch calculated arrival times MExtractTimeAndChargeDigitalFilter]{%
712Sketch of the calculated arrival times for the extractor {\textit{MExtractTimeAndChargeDigitalFilter}}
713for two typical calibration pulses (pedestals have been subtracted) and a typical inner pixel.
714The extraction window sizes modify the position of the (amplitude-weighted) mean FADC-slices slightly.
715The pulse would be shifted half a slice to the right for an outer pixels. }
716\label{fig:dfsketch}
717\end{figure}
718
719\subsubsection{Digital Filter with Global Peak Search}
720
721This extractor is implemented in the MARS-class {\textit{\bf MExtractTimeAndChargeDigitalFilterPeakSearch}}.
722
723The idea of this extractor is to combine {\textit{\bf MExtractFixedWindowPeakSearch}} and
724{\textit{\bf MExtractTimeAndChargeDigitalFilter}} in order to correct for coherent movements in arrival time
725for all pixels and still use the digital filter fit capabilities.
726 \par
727
728In a first loop, it fixes a reference point defined as the highest sum of
729consecutive non-saturating FADC slices in a (smaller) peak-search window.
730\par
731In a second loop over the pixels,
732it uses the digital filter algorithm within a reduced extraction window.
733It loops twice over all pixels in every event, because it has to find the reference point, first.
734
735As in the case of {\textit{\bf MExtractFixedWindowPeakSearch}}, for a high intensity calibration run
736causing high-gain saturation in the whole camera, this
737extractor apparently fails since only dead pixels
738are taken into account in the peak search which cannot produce a saturated signal.
739
740\par
741For this special case, the extractor then defines the peak search window
742as the one starting from the mean position of the first saturating slice.
743\par
744The following adjustable parameters have to be set from outside, additionally to the ones to be
745set in {\textit{\bf MExtractTimeAndChargeDigitalFilter}}:
746\begin{description}
747\item[Peak Search Window:\xspace] Defines the ``sliding window'' size within which the peaking sum is
748searched for (default: 2 slices)
749\item[Offset left from Peak:\xspace] Defines the left offset of the start of the extraction window w.r.t. the
750starting point of the obtained peak search window (default: 3 slices)
751\item[Offset right from Peak:\xspace] Defines the right offset of the of the extraction window w.r.t. the
752starting point of the obtained peak search window (default: 3 slices)
753\item[Limit for high gain failure events:\xspace] Defines the limit of the number of events which failed
754to be in the high-gain window before the run is rejected.
755\item[Limit for low gain failure events:\xspace] Defines the limit of the number of events which failed
756to be in the low-gain window before the run is rejected.
757\end{description}
758
759In principle, the ``offsets'' can be chosen very small, because both showers and calibration pulses spread
760over a very small time interval, typically less than one FADC slice. However, the MAGIC DAQ produces
761artificial jumps of two FADC slices from time to time\footnote{in 5\% of the events per pixel in December 2004},
762so the 3 slices are made in order not to reject these pixels already with the extractor.
763
764\subsubsection{Real Fit to the Expected Pulse Shape }
765
766The digital filter is a sophisticated numerical tool to fit the read-out FADC samples with the expected wave form taking the autocorrelation of the noise into account. In order to cross-check the results a pulse shape fit has been implemented using the root TH1::Fit routine. For each event the FADC samples of each pixel are filled into a histogram and fit by the expected wave form having the time shift and the area of the fit pulse as free parameters. The results are in very good agreement with the results of the digital filter.
767
768Figure \ref{fig:probability_fit} shows the distribution of the fit probability for simulated MC pulses. Both electronics and NSB noise are simulated. The distribution is mainly flat with a slight excess in the very lowest probability bins.
769\par
770
771This extractor is not (yet) implemented as a MARS-class.
772
773
774
775\begin{figure}[h!]
776\begin{center}
777\includegraphics[totalheight=7cm]{probability_fit_0ns.eps}
778\end{center}
779\caption[Fit Probability.]{Probability of the fit with the input signal shape to the simulated FADC samples
780including electronics and NSB noise.} \label{fig:probability_fit}
781\end{figure}
782
783
784
785\subsection{Used Extractors for this Analysis}
786
787We tested in this TDAS the following parameterized extractors:
788
789\begin{description}
790\item[MExtractFixedWindow]: with the following initialization, if {\textit{maxbin}} defines the
791 mean position of the high-gain FADC slice which carries the pulse maximum \footnote{The function
792{\textit{MExtractor::SetRange(higain first, higain last, logain first, logain last)}} sets the extraction
793range with the high gain start bin {\textit{higain first}} to (including) the last bin {\textit{higain last}}.
794Analogue for the low gain extraction range. Note that in MARS, the low-gain FADC samples start with
795the index 0 again, thus {\textit{maxbin+0.5}} means in reality {\textit{maxbin+15+0.5}}. }
796:
797\begin{enumerate}
798\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+2,{\textit{maxbin}}+0.5,{\textit{maxbin}}+3.5);
799\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+2,{\textit{maxbin}}-0.5,{\textit{maxbin}}+4.5);
800\item SetRange({\textit{maxbin}}-2,{\textit{maxbin}}+3,{\textit{maxbin}}-0.5,{\textit{maxbin}}+4.5);
801\item SetRange({\textit{maxbin}}-2,{\textit{maxbin}}+5,{\textit{maxbin}}-0.5,{\textit{maxbin}}+6.5);
802\item SetRange({\textit{maxbin}}-3,{\textit{maxbin}}+10,{\textit{maxbin}}-1.5,{\textit{maxbin}}+7.5);
803\suspend{enumerate}
804\item[MExtractFixedWindowSpline]: with the following initialization, if {\textit{maxbin}} defines the
805 mean position of the high-gain FADC slice carrying the pulse maximum \footnote{The function
806{\textit{MExtractor::SetRange(higain first, higain last, logain first, logain last)}} sets the extraction
807range with the high gain start bin {\textit{higain first}} to (including) the last bin {\textit{higain last}}.
808Analogue for the low gain extraction range. Note that in MARS, the low-gain FADC samples start with
809the index 0 again, thus {\textit{maxbin+0.5}} means in reality {\textit{maxbin+15+0.5}}.}:
810\resume{enumerate}
811\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+3,{\textit{maxbin}}+0.5,{\textit{maxbin}}+4.5);
812\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+3,{\textit{maxbin}}-0.5,{\textit{maxbin}}+5.5);
813\item SetRange({\textit{maxbin}}-2,{\textit{maxbin}}+4,{\textit{maxbin}}-0.5,{\textit{maxbin}}+5.5);
814\item SetRange({\textit{maxbin}}-2,{\textit{maxbin}}+6,{\textit{maxbin}}-0.5,{\textit{maxbin}}+7.5);
815\item SetRange({\textit{maxbin}}-3,{\textit{maxbin}}+11,{\textit{maxbin}}-1.5,{\textit{maxbin}}+8.5);
816\suspend{enumerate}
817\item[MExtractFixedWindowPeakSearch]: with the following initialization: \\
818SetRange(0,18,2,14); and:
819\resume{enumerate}
820\item SetWindows(2,2,2); SetOffsetFromWindow(0);
821\item SetWindows(4,4,2); SetOffsetFromWindow(1);
822\item SetWindows(4,6,4); SetOffsetFromWindow(0);
823\item SetWindows(6,6,4); SetOffsetFromWindow(1);
824\item SetWindows(8,8,4); SetOffsetFromWindow(1);
825\item SetWindows(14,10,4); SetOffsetFromWindow(2);
826\suspend{enumerate}
827\item[MExtractTimeAndChargeSlidingWindow]: with the following initialization: \\
828\resume{enumerate}
829\item SetWindowSize(2,2); SetRange(5,11,7,11);
830\item SetWindowSize(4,4); SetRange(5,13,6,12);
831\item SetWindowSize(4,6); SetRange(5,13,5,13);
832\item SetWindowSize(6,6); SetRange(4,14,5,13);
833\item SetWindowSize(8,8); SetRange(4,16,4,14);
834\item SetWindowSize(14,10); SetRange(5,10,7,11);
835\suspend{enumerate}
836\item[MExtractTimeAndChargeSpline]: with the following initialization:
837\resume{enumerate}
838\item SetChargeType(MExtractTimeAndChargeSpline::kAmplitude); \\
839SetRange(5,10,7,10);
840\suspend{enumerate}
841SetChargeType(MExtractTimeAndChargeSpline::kIntegral); \\
842and:
843\resume{enumerate}
844\item SetRiseTime(0.5); SetFallTime(0.5); SetRange(5,10,7,11);
845\item SetRiseTime(0.5); SetFallTime(1.5); SetRange(5,11,7,12);
846\item SetRiseTime(1.0); SetFallTime(3.0); SetRange(4,12,5,13);
847\item SetRiseTime(1.5); SetFallTime(4.5); SetRange(4,14,3,13);
848\suspend{enumerate}
849\item[MExtractTimeAndChargeDigitalFilter]: with the following initialization:
850\resume{enumerate}
851\item SetWeightsFile(``cosmics\_weights.dat''); SetRange(4,14,5,13);
852\item SetWeightsFile(``cosmics\_weights4.dat''); SetRange(5,13,6,12);
853\item SetWeightsFile(``calibration\_weights\_UV.dat'');
854\item SetWeightsFile(``calibration\_weights4\_UV.dat'');
855\item SetWeightsFile(``calibration\_weights\_blue.dat'');
856\item SetWeightsFile(``calibration\_weights4\_blue.dat'');
857\end{enumerate}
858\end{description}
859
860References: \cite{OF77,OF94}.
861
862
863%%% Local Variables:
864%%% mode: latex
865%%% TeX-master: "MAGIC_signal_reco"
866%%% TeX-master: "MAGIC_signal_reco"
867%%% End:
Note: See TracBrowser for help on using the repository browser.