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

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