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

Last change on this file since 5750 was 5750, checked in by gaug, 20 years ago
*** empty log message ***
File size: 30.5 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 possible inheritances of the MARS signal extractor classes}
19\label{fig:extractorclasses}
20\end{figure}
21
22The following base classes for the extractor tasks are used:
23\begin{description}
24\item[MExtractor:\xspace] This class provides the basic data members equal for all extractors which are:
25 \begin{enumerate}
26 \item Global extraction ranges, parameterized by the variables
27 {\textit{\bf fHiGainFirst, fHiGainLast, fLoGainFirst, fLoGainLast}} and the function {\textit{\bf SetRange()}}.
28 The ranges always {\textit{\bf include}} the edge slices.
29 \item An internal variable {\textit{\bf fHiLoLast}} regulating the overlap of the desired high-gain
30 extraction range into the low-gain array.a
31 \item The maximum possible FADC value, before the slice is declared as saturated, parameterized
32 by the variable {\textit{\bf fSaturationLimit}} (default:\,254).
33 \item The typical delay between high-gain and low-gain slices, expressed in FADC slices and parameterized
34 by the variable {\textit{\bf fOffsetLoGain}} (default:\,1.51)
35 \item Pointers to the used storage containers {\textit{\bf MRawEvtData, MRawRunHeader, MPedestalCam}}
36 and~{\textit{\bf MExtractedSignalCam}}, parameterized by the variables
37 {\textit{\bf fRawEvt, fRunHeader, fPedestals}} and~{\textit{\bf fSignals}}.
38 \item Names of the used storage containers to be searched for in the parameter list, parameterized
39 by the variables {\textit{\bf fNamePedestalCam}} and~{\textit{\bf fNameSignalCam}} (default: ``MPedestalCam''
40 and~''MExtractedSignalCam'').
41 \item The equivalent number of FADC samples, used for the calculation of the pedestal RMS and then the
42 number of photo-electrons with the F-Factor method (see eq.~\ref{eq:rmssubtraction} and
43 section~\ref{sec:photo-electrons}). This number is parameterized by the variables
44 {\textit{\bf fNumHiGainSamples}} and~{\textit{\bf fNumLoGainSamples}}.
45 \end{enumerate}
46
47 {\textit {\bf MExtractor}} is able to loop over all events, if the {\textit{\bf Process()}}-function is not overwritten.
48 It uses the following (virtual) functions, to be overwritten by the derived extractor class:
49
50 \begin{enumerate}
51 \item void {\textit {\bf FindSignalHiGain}}(Byte\_t* firstused, Byte\_t* lowgain, Float\_t\& sum, Byte\_t\& sat) const
52 \item void {\textit {\bf FindSignalLoGain}}(Byte\_t* firstused, Float\_t\& sum, Byte\_t\& sat) const
53 \end{enumerate}
54
55 where the pointers ``firstused'' point to the first used FADC slice declared by the extraction ranges,
56 the pointer ``lowgain'' point to the beginning of the low-gain FADC slices array (to be used for
57 pulses reaching into the low-gain array) and the variables ``sum'' and ``sat'' get filled with the
58 extracted signal and the number of saturating FADC slices, respectively.
59 \par
60 The pedestals get subtracted automatically {\textit {\bf after}} execution of these two functions.
61
62\item[MExtractTime:\xspace] This class provides - additionally to those already declared in {\textit{\bf MExtractor}},
63 the basic data members equal for all time extractors which are:
64 \begin{enumerate}
65 \item Pointers to the used storage containers {\textit{\bf MArrivalTimeCam}}
66 parameterized by the variables
67 {\textit{\bf fArrTime}}.
68 \item The name of the used ``MArrivalTimeCam''-container to be searched for in the parameter list,
69 parameterized by the variables {\textit{\bf fNameTimeCam}} (default: ``MArrivalTimeCam'' ).
70 \end{enumerate}
71
72 {\textit {\bf MExtractTime}} is able to loop over all events, if the {\textit{\bf Process()}}-function is not
73 overwritten.
74 It uses the following (virtual) functions, to be overwritten by the derived extractor class:
75
76 \begin{enumerate}
77 \item void {\textit {\bf FindTimeHiGain}}(Byte\_t* firstused, Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat, const MPedestlPix \&ped) const
78 \item void {\textit {\bf FindTimeLoGain}}(Byte\_t* firstused, Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat, const MPedestalPix \&ped) const
79 \end{enumerate}
80
81 where the pointers ``firstused'' point to the first used FADC slice declared by the extraction ranges,
82 and the variables ``time'', ``dtime'' and ``sat'' get filled with the
83 extracted arrival time, its error and the number of saturating FADC slices, respectively.
84 \par
85 The pedestals can be used for the arrival time extraction via the reference ``ped''.
86
87\item[MExtractTimeAndCharge:\xspace] This class provides - additionally to those already declared in
88 {\textit{\bf MExtractor}} and {\textit{\bf MExtractTime}},
89 the basic data members equal for all time and charge extractors which are:
90 \begin{enumerate}
91 \item The actual extraction window sizes, parameterized by the variables
92 {\textit{\bf fWindowSizeHiGain}} and {\textit{\bf fWindowSizeLoGain}}.
93 \item The shift of the low-gain extraction range start w.r.t. to the found high-gain arrival
94 time, parameterized by the variable {\textit{\bf fLoGainStartShift}} (default: -2.8)
95 \end{enumerate}
96
97 {\textit {\bf MExtractTimeAndCharge}} is able to loop over all events, if the {\textit{\bf Process()}}-function is not
98 overwritten.
99 It uses the following (virtual) functions, to be overwritten by the derived extractor class:
100
101 \begin{enumerate}
102 \item void {\textit {\bf FindTimeAndChargeHiGain}}(Byte\_t* firstused, Byte\_t* logain, Float\_t\& sum, Float\_t\& dsum,
103 Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat,
104 const MPedestlPix \&ped, const Bool\_t abflag) const
105 \item void {\textit {\bf FindTimeAndChargeLoGain}}(Byte\_t* firstused, Float\_t\& sum, Float\_t\& dsum,
106 Float\_t\& time, Float\_t\& dtime, Byte\_t\& sat,
107 const MPedestalPix \&ped, const Bool\_t abflag) const
108 \end{enumerate}
109
110 where the pointers ``firstused'' point to the first used FADC slice declared by the extraction ranges,
111 the pointer ``lowgain'' point to the beginning of the low-gain FADC slices array (to be used for
112 pulses reaching into the low-gain array),
113 the variables ``sum'', ``dsum'' get filled with the
114 extracted signal and its error. The variables ``time'', ``dtime'' and ``sat'' get filled with the
115 extracted arrival time, its error and the number of saturating FADC slices, respectively.
116 \par
117 The pedestals can be used for the extraction via the reference ``ped'', also the AB-flag is given
118 for AB-clock noise correction.
119\end{description}
120
121
122\subsection{Pure Signal Extractors}
123
124The pure signal extractors have in common that they reconstruct only the
125charge, but not the arrival time. All treated extractors here derive from the MARS-base
126class {\textit{\bf MExtractor}} which provides the following facilities:
127
128\begin{itemize}
129\item The global extraction limits can be set from outside
130\item FADC saturation is kept track of
131\end{itemize}
132
133The following freely adjustable parameters have to be set from outside:
134\begin{description}
135\item[Global extraction limits:\xspace] Limits in between the extractor is allowed
136to search, independently for high gain and low gain.
137\end{description}
138
139\subsubsection{Fixed Window}
140
141This extractor is implemented in the MARS-class {\textit{MExtractFixedWindow}}.
142It simply adds the FADC contents in the assigned ranges.
143As it does not correct for the clock-noise, only an even number of samples is allowed.
144
145\begin{figure}[htp]
146 \includegraphics[width=0.48\linewidth]{MExtractFixedWindow_5Led_UV.eps}
147 \includegraphics[width=0.48\linewidth]{MExtractFixedWindow_23Led_Blue.eps}
148\caption[Sketch extraction ranges MExtractFixedWindow]{%
149Sketch of the extraction ranges for the extractor {\textit{MExtractFixedWindow}}
150for two typical calibration pulses (pedestals have been subtracted).}
151\label{fig:fixedwindowsketch}
152\end{figure}
153
154
155\subsubsection{Fixed Window with Integrated Cubic Spline}
156
157This extractor is implemented in the MARS-class {\textit{MExtractFixedWindowSpline}},
158using a cubic spline algorithm, adapted from \cite{NUMREC}.
159It integrated the
160spline interpolated FADC slice values. The edge slices are counted as half.
161As it does not correct for the clock-noise, only an odd number of samples is allowed.
162
163\subsubsection{Fixed Window with Global Peak Search}
164
165This extractor is implemented in the MARS-class {\textit{MExtractFixedWindowPeakSearch}}.
166It fixes first a reference point defined as the highest sum of
167consecutive non-saturating FADC slices in a (smaller) peak-search window. This reference
168point removes the coherent movement of the arrival times in the whole camera due to the trigger jitter.
169\par
170In a second loop over the pixels,
171it adds the FADC contents starting from a pre-defined point before the obtained peak-search window
172over an extraction window of a pre-defined window size.
173It loops twice over all pixels in every event, because it has to find the reference point, first.
174As it does not correct for the clock-noise, only an even number of samples is allowed.
175
176The following freely adjustable parameters have to be set from outside:
177\begin{description}
178\item[Peak Search Window:\xspace] Defines the ``sliding window'' in which the peaking sum is
179searched for (default: 4 slices)
180\item[Offset from Window:\xspace] Defines the offset of the start of the extraction window w.r.t. the
181starting point of the obtained peak search window (default: 1 slice)
182\item[Low-Gain Peak shift:\xspace] Defines the shift in the low-gain with respect to the peak found
183in the high-gain (default: 1 slice)
184\end{description}
185
186\subsection{Combined Extractors}
187
188The combined extractors have in common that they reconstruct the arrival time and
189the charge at the same time and for the same pulse.
190All treated combined extractors here derive from the MARS-base
191class {\textit{MExtractTimeAndCharge}} which provides the following facilities:
192
193\begin{itemize}
194\item Only one loop over all pixels is performed
195\item The individual FADC slice values get the clock-noise-corrected pedestals immediately subtracted.
196\item The low-gain extraction range is adapted dynamically, based on the computed arrival time
197 from the high-gain samples
198\item Extracted times from the low-gain samples get corrected for the intrinsic time delay of the low-gain
199 pulse
200\item The global extraction limits can be set from outside
201\item FADC saturation is kept track of
202\end{itemize}
203
204The following free adjustable parameters have to be set additionally from outside:
205\begin{description}
206\item[Global extraction limits:\xspace] Limits in between which the extractor is allowed
207to search. They are fixed by the extractor for the high-gain, but re-adjusted for
208every event in the low-gain, depending on the arrival time found in the low-gain.
209However, the dynamically adjusted window is not allowed to pass beyond the global
210limits.
211\item[Low-gain start shift:\xspace] Global shift between the computed high-gain arrival
212time and the start of the low-gain extraction limit (corrected for the intrinsic time offset).
213This variable tells where the extractor is allowed to start searching for the low-gain signal
214if the high-gain arrival time is known. It avoids that the extractor gets confused by possible high-gain
215signals leaking into the ``low-gain'' region (default: -2.8).
216\end{description}
217
218\subsubsection{Sliding Window with Amplitude-Weighted Time}
219
220This extractor is implemented in the MARS-class {\textit{MExtractTimeAndChargeSlidingWindow}}.
221It extracts the signal from a sliding window of an adjustable size, for high-gain and low-gain
222individually (default: 6 and 6) The signal is the one which maximizes the summed
223(clock-noise and pedestal-corrected) FADC slice contents.
224\par
225The amplitude-weighted arrival time is calculated from the window with
226the highest integral using the following formula:
227
228\begin{equation}
229 t = \frac{\sum_{i=0}^{windowsize} s_i \cdot i}{\sum_{i=0}^{windowsize} i}
230\end{equation}
231where $i$ denotes the FADC slice index, starting from the beginning of the derived
232window and running over the window and $s_i$ the clock-noise and
233pedestal-corrected FADC value at slice index i.
234\par
235The following free adjustable parameters have to be set from outside:
236\begin{description}
237\item[Window sizes:\xspace] Independently for high-gain and low-gain (default: 6,6)
238\end{description}
239
240\subsubsection{Cubic Spline with Sliding Window or Amplitude Extraction}
241
242This extractor is implemented in the MARS-class {\textit{MExtractTimeAndChargeSpline}}.
243It uses a cubic spline algorithm, adapted from \cite{NUMREC}.
244The following free adjustable parameters have to be set from outside:
245
246\begin{description}
247\item[Time Extraction Type:\xspace] The position of the maximum can be chosen (default) or the
248position of the half maximum at the rising edge of the pulse
249\item[Charge Extraction Type:\xspace] The amplitude of the maximum can be chosen (default) or the
250integrated spline between maximum position minus rise time (default: 1.5 slices) and maximum position plus
251fall time (default: 4.5 slices). The low-gain signal integrates one slice more at the falling part of the
252signal.
253\item[Rise Time and Fall Time:\xspace] Can be adjusted for the integration charge extraction type.
254\item[Resolution:\xspace] Defined as the maximum allowed difference between the calculated half maximum value and
255the computed spline value at the arrival time position. Can be adjusted for the half-maximum time extraction
256type.
257\end{description}
258
259\subsubsection{Digital Filter}
260
261This extractor is implemented in the MARS-class {\textit{MExtractTimeAndChargeDigitalFilter}}.
262
263
264The 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 from discrete measurements of the signal. Thereby the noise contribution to the amplitude reconstruction is minimized.
265
266For the digital filtering method two assumptions have to be made:
267
268\begin{itemize}
269\item{The normalized signal shape has to be independent of the signal amplitude.}
270\item{The noise properties have to be independent of the signal amplitude.}
271\end{itemize}
272
273Let $g(t)$ be the normalized signal shape, $E$ the signal amplitude and $\tau$ the time shift of the physical signal from the predicted signal shape. Then the time dependence of the signal, $y(t)$, is given by:
274
275\begin{equation}
276y(t)=E \cdot g(t-\tau) + b(t) \ ,
277\end{equation}
278
279where $b(t)$ is the time dependent noise distribution. For small time shifts $\tau$ the time dependence can be linearized by the use of a Taylor expansion:
280
281\begin{equation} \label{shape_taylor_approx}
282y(t)=E \cdot g(t) - E\tau \cdot \dot{g}(t) + b(t) \ ,
283\end{equation}
284
285where $\dot{g}(t)$ is the time derivative of the signal shape. Discrete
286measurements $y_i$ of the signal at times $t_i \ (i=1,...,n)$ have the form:
287
288\begin{equation}
289y_i=E \cdot g_i- E\tau \cdot \dot{g}_i +b_i \ .
290\end{equation}
291
292The correlation of the noise contributions at times $t_i$ and $t_j$ is expressed in the noise autocorrelation matrix $\boldsymbol{B}$:
293
294\begin{equation}
295\boldsymbol{B_{ij}} = \langle b_i b_j \rangle - \langle b_i \rangle \langle b_j
296\rangle \ .
297\label{eq:autocorr}
298\end{equation}
299%\equiv \langle b_i b_j \rangle with $\langle b_i \rangle = 0$.
300
301The signal amplitude, $E$, and the product of amplitude and time shift, $E \tau$, can be estimated from the given set of
302measurements $\boldsymbol{y} = (y_1, ... ,y_n)$ by minimizing:
303
304\begin{eqnarray}
305\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) \\
306&=& (\boldsymbol{y} - E
307\boldsymbol{g} - E\tau \dot{\boldsymbol{g}})^T \boldsymbol{B}^{-1} (\boldsymbol{y} - E \boldsymbol{g}- E\tau \dot{\boldsymbol{g}}) \ ,
308\end{eqnarray}
309
310where the last expression is matricial. The minimum is obtained for:
311
312\begin{equation}
313\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 \ .
314\end{equation}
315
316Taking into account that $\boldsymbol{B}$ is a symmetric matrix, this leads to the following two equations for the estimated amplitude $\overline{E}$ and the estimation for the product of amplitude and time offset $\overline{E\tau}$:
317
318\begin{eqnarray}
3190&=&-\boldsymbol{g}^T\boldsymbol{B}^{-1}\boldsymbol{y}+\boldsymbol{g}^T\boldsymbol{B}^{-1}\boldsymbol{g}\overline{E}+\boldsymbol{g}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}\overline{E\tau}
320\\
3210&=&-\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{y}+\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\boldsymbol{g}\overline{E}+\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}\overline{E\tau} \ .
322\end{eqnarray}
323
324Solving these equations one gets the solutions:
325
326\begin{equation}
327\overline{E}= \boldsymbol{w}_{\text{amp}}^T \boldsymbol{y} \quad \mathrm{with} \quad \boldsymbol{w}_{\text{amp}} = \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}}} {(\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 } \ ,
328\end{equation}
329
330\begin{equation}
331\overline{E\tau}= \boldsymbol{w}_{\text{time}}^T \boldsymbol{y} \quad \mathrm{with} \quad \boldsymbol{w}_{\text{time}} = \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}}} {(\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 } \ .
332\end{equation}
333
334
335Thus $\overline{E}$ and $\overline{E\tau}$ are given by a weighted sum of the discrete measurements $y_i$ with the digital filtering weights for the amplitude, $w_{\text{amp},i}$, and time shift, $w_{\text{time},i}$.
336
337Because of the truncation of the Taylor series in equation (\ref{shape_taylor_approx}) the above results are only valid for vanishing time offsets $\tau$. For non-zero time offsets one has to iterate the problem using the time shifted signal shape $g(t-\tau)$.
338
339The covariance matrix $\boldsymbol{V}$ of $\overline{E}$ and $\overline{E\tau}$ is given by:
340
341\begin{equation}
342\left(\boldsymbol{V}^{-1}\right)_{i,j}=\frac{1}{2}\left(\frac{\partial^2 \chi^2(E, E\tau)}{\partial \alpha_i \partial \alpha_j} \right) \quad \text{with} \quad \alpha_i,\alpha_j \in {E, E\tau} \ .
343\end{equation}
344
345The expected contribution of the noise to the estimated amplitude, $\sigma_E$, is:
346
347\begin{equation}\label{of_noise}
348\sigma_E^2=\boldsymbol{V}_{E,E}=\frac{\dot{\boldsymbol{g}}^T\boldsymbol{B}^{-1}\dot{\boldsymbol{g}}}{(\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} \ .
349\end{equation}
350
351The expected contribution of the noise to the estimated timing, $\sigma_{\tau}$, is:
352
353\begin{equation}\label{of_noise_time}
354E^2 \cdot \sigma_{\tau}^2=\boldsymbol{V}_{E,E\tau}=\frac{{\boldsymbol{g}}^T\boldsymbol{B}^{-1}{\boldsymbol{g}}}{(\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} \ .
355\end{equation}
356
357For the MAGIC signals, as implemented in the MC simulations, a pedestal RMS of a single FADC slice of 4 FADC counts introduces an error in the reconstructed signal and time of:
358
359\begin{equation}\label{of_noise}
360\sigma_E \approx 8.3 \ \mathrm{FADC\ counts} \qquad \sigma_{\tau} \approx \frac{6.5\ \Delta T_{\mathrm{FADC}}}{E\ /\ \mathrm{FADC\ counts}} \ ,
361\end{equation}
362
363where $\Delta T_{\mathrm{FADC}} = 3.33$ ns is the sampling interval of the MAGIC FADCs.
364
365
366For an IACT there are two types of background noise. On the one hand there is the constantly present electronics noise, on the other hand the light of the night sky introduces a sizeable background noise to the measurement of Cherenkov photons from air showers.
367
368The electronics noise is largely white, uncorrelated in time. The noise from the night sky background photons is the superposition of the detector response to single photo electrons arriving randomly distributed in time. Figure \ref{fig:noise_autocorr_AB_36038_TDAS} shows the noise autocorrelation matrix for an open camera. The large noise autocorrelation in time of the current FADC system is due to the pulse shaping with a shaping constant of 6 ns.
369
370In general the amplitude and timing weights, $\boldsymbol{w}_{\text{amp}}$ and $\boldsymbol{w}_{\text{time}}$, depend on the pulse shape, the derivative of the pulse shape and the noise autocorrelation. In the high gain samples the correlated night sky background noise dominates over the white electronics noise. Thus different noise levels just cause the noise autocorrelation matrix $\boldsymbol{B}$ to change by a factor, which cancels out in the weights calculation. Thus in the high gain the weights are to a very good approximation independent of the night sky background noise level.
371
372Contrary to that in the low gain samples ... .
373
374
375
376\begin{figure}[h!]
377\begin{center}
378\includegraphics[totalheight=7cm]{noise_autocorr_AB_36038_TDAS.eps}
379\end{center}
380\caption[Noise autocorrelation.]{Noise autocorrelation matrix for open camera including the noise due to night sky background fluctuations.} \label{fig:noise_autocorr_AB_36038_TDAS}
381\end{figure}
382
383
384
385Using the average reconstructed pulpo pulse shape, see figure \ref{fig:pulpo_shape_low}, and the reconstructed noise autocorrelation matrix from a pedestal run with random triggers, the digital filter weights are computed. Figures \ref{fig:w_time_MC_input_TDAS} and \ref{fig:w_amp_MC_input_TDAS} show the parameterization of the amplitude and timing weights for the MC pulse shape as a function of the ...
386
387
388\begin{figure}[h!]
389\begin{center}
390\includegraphics[totalheight=7cm]{w_time_MC_input_TDAS.eps}
391\end{center}
392\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 used 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 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. A binning resolution of $0.1 T_{\text{ADC}}$ has been chosen.} \label{fig:w_time_MC_input_TDAS}
393\end{figure}
394
395\begin{figure}[h!]
396\begin{center}
397\includegraphics[totalheight=7cm]{w_amp_MC_input_TDAS.eps}
398\end{center}
399\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 pulse 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}}$ the 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. A binning resolution of $0.1 T_{\text{ADC}}$ has been chosen.} \label{fig:w_amp_MC_input_TDAS}
400\end{figure}
401
402
403
404In the current implementation a two step procedure is applied to reconstruct the signal. The weight functions $w_{\mathrm{amp}}(t)$ and $w_{\mathrm{time}}(t)$ are computed numerically with a resolution of $1/10$ of an FADC slice. In the first step the quantities $e_{i_0}$ and $e\tau_{i_0}$ are computed using a window of $n$ slices:
405
406\begin{equation}
407e_{i_0}=\sum_{i=i_0}^{i=i_0+n-1} w_{\mathrm{amp}}(t_i)y(t_{i+i_0}) \qquad (e\tau)_{i_0}=\sum_{i=i_0}^{i=i_0+n-1} w_{\mathrm{time}}(t_i)y(t_{i+i_0})
408\end{equation}
409
410for all possible signal start slices $i_0$. Let $i_0^*$ be the signal start slice with the largest $e_{i_0}$. Then in a second step the timing offset $\tau$ is calculated:
411
412\begin{equation}
413\tau=\frac{(e\tau)_{i_0^*}}{e_{i_0^*}}
414\end{equation}
415
416and the weights iterated:
417
418\begin{equation}
419E=\sum_{i=i_0^*}^{i=i_0^*+n-1} w_{\mathrm{amp}}(t_i - \tau)y(t_{i+i_0^*}) \qquad E \theta=\sum_{i=i_0^*}^{i=i_0^*+n-1} w_{\mathrm{time}}(t_i - \tau)y(t_{i+i_0^*}) \ .
420\end{equation}
421
422The reconstructed signal is then taken to be $E$ and the reconstructed arrival time $t_{\text{arrival}}$ is
423
424\begin{equation}
425t_{\text{arrival}} = i_0^* + \tau + \theta \ .
426\end{equation}
427
428
429
430% This does not apply for MAGIC as the LONs are giving always a correlated noise (in addition to the artificial shaping)
431
432%In the case of an uncorrelated noise with zero mean the noise autocorrelation matrix is:
433
434%\begin{equation}
435%\boldsymbol{B}_{ij}= \langle b_i b_j \rangle \delta_{ij} = \sigma^2(b_i) \ ,
436%\end{equation}
437
438%where $\sigma(b_i)$ is the standard deviation of the noise of the discrete measurements. Equation (\ref{of_noise}) than becomes:
439
440
441%\begin{equation}
442%\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}} \ .
443%\end{equation}
444
445
446
447
448
449
450
451\begin{figure}[h!]
452\begin{center}
453\includegraphics[totalheight=7cm]{amp_sliding.eps}
454\includegraphics[totalheight=7cm]{time_sliding.eps}
455\end{center}
456\caption[Digital filter weights applied.]{Digital filter weights applied to the recorded FADC time slices of one calibration pulse. The left plot shows the result of the applied amplitude weights $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 the right plot shows the result of the applied timing weights $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}})$ .} \label{fig:amp_sliding}
457\end{figure}
458
459
460Figure \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.
461
462
463\begin{figure}[h!]
464\begin{center}
465\includegraphics[totalheight=7cm]{shape_fit_TDAS.eps}
466\end{center}
467\caption[Shape fit.]{Full fit to the MC pulse shape with the MC input shape and a numerical fit using the digital filter.} \label{fig:shape_fit_TDAS}
468\end{figure}
469
470
471
472
473
474
475
476\ldots {\it Hendrik ... }
477
478The following free adjustable parameters have to be set from outside:
479
480\begin{description}
481\item[Weights File:\xspace]
482\item[Window Sizes:\xspace]
483\item[Binning Resolution:\xspace]
484\end{description}
485
486\subsubsection{Real Fit to the Expected Pulse Shape }
487
488This extractor is not yet implemented as MARS-class...
489\par
490It fit the pulse shape to a Landau convoluted with a Gaussian using the following
491parameters:...
492
493\ldots {\it Hendrik, Wolfgang ... }
494
495\begin{figure}[h!]
496\begin{center}
497\includegraphics[totalheight=7cm]{probability_fit_0ns.eps}
498\end{center}
499\caption[Fit Probability.]{Probability of the fit with the input signal shape to the simulated FADC samples including electronics and NSB noise.} \label{fig:w_amp_MC_input_TDAS.eps}
500\end{figure}
501
502
503
504\subsection{Used Extractors for this Analysis}
505
506We propose to test the following parameterized extractors:
507
508\begin{description}
509\item[MExtractFixedWindow]: with the following parameters, if {\textit{maxbin}} defines the
510 mean position of the High-Gain FADC slice carrying the pulse maximum:
511\begin{enumerate}
512\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+2,{\textit{maxbin}}+0.5,{\textit{maxbin}}+3.5);
513\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+2,{\textit{maxbin}}-0.5,{\textit{maxbin}}+4.5);
514\item SetRange({\textit{maxbin}}-2,{\textit{maxbin}}+3,{\textit{maxbin}}-0.5,{\textit{maxbin}}+4.5);
515\item SetRange({\textit{maxbin}}-3,{\textit{maxbin}}+4,{\textit{maxbin}}-1.5,{\textit{maxbin}}+5.5);
516\item SetRange({\textit{maxbin}}-5,{\textit{maxbin}}+8,{\textit{maxbin}}-1.5,{\textit{maxbin}}+7.5);
517\suspend{enumerate}
518\item[MExtractFixedWindowSpline]: with the following parameters, if {\textit{maxbin}} defines the
519 mean position of the High-Gain FADC slice carrying the pulse maximum:
520\resume{enumerate}
521\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+2,{\textit{maxbin}}+0.5,{\textit{maxbin}}+3.5);
522\item SetRange({\textit{maxbin}}-1,{\textit{maxbin}}+2,{\textit{maxbin}}-0.5,{\textit{maxbin}}+4.5);
523\item SetRange({\textit{maxbin}}-2,{\textit{maxbin}}+3,{\textit{maxbin}}-0.5,{\textit{maxbin}}+4.5);
524\item SetRange({\textit{maxbin}}-3,{\textit{maxbin}}+4,{\textit{maxbin}}-1.5,{\textit{maxbin}}+5.5);
525\item SetRange({\textit{maxbin}}-5,{\textit{maxbin}}+8,{\textit{maxbin}}-1.5,{\textit{maxbin}}+7.5);
526\suspend{enumerate}
527\item[MExtractFixedWindowPeakSearch]: with the following parameters: \\
528SetRange(0,18,2,14); and:
529\resume{enumerate}
530\item SetWindows(2,2,2); SetOffsetFromWindow(0);
531\item SetWindows(4,4,2);
532\item SetWindows(4,6,4); SetOffsetFromWindow(0);
533\item SetWindows(6,6,4);
534\item SetWindows(8,8,4);
535\item SetWindows(14,10,4); SetOffsetFromWindow(2);
536\suspend{enumerate}
537\item[MExtractTimeAndChargeSlidingWindow]: with the following parameters: \\
538SetRange(0,18,2,14); and:
539\resume{enumerate}
540\item SetWindowSize(2,2);
541\item SetWindowSize(4,4);
542\item SetWindowSize(4,6);
543\item SetWindowSize(6,6);
544\item SetWindowSize(8,8);
545\item SetWindowSize(14,10);
546\suspend{enumerate}
547\item[MExtractTimeAndChargeSpline]: with the following parameters:
548\resume{enumerate}
549\item SetChargeType(MExtractTimeAndChargeSpline::kAmplitude); \\
550SetRange(0,10,4,11);
551\suspend{enumerate}
552SetChargeType(MExtractTimeAndChargeSpline::kIntegral); \\
553SetRange(0,18,2,14); \\
554and:
555\resume{enumerate}
556\item SetRiseTime(0.5); SetFallTime(0.5);
557\item SetRiseTime(0.5); SetFallTime(1.5);
558\item SetRiseTime(1.0); SetFallTime(3.0);
559\item SetRiseTime(1.5); SetFallTime(4.5);
560\suspend{enumerate}
561\item[MExtractTimeAndChargeDigitalFilter]: with the following parameters:
562\resume{enumerate}
563\item SetWeightsFile(``cosmic\_weights6.dat'');
564\item SetWeightsFile(``cosmic\_weights4.dat'');
565\item SetWeightsFile(``cosmic\_weights\_logain6.dat'');
566\item SetWeightsFile(``cosmic\_weights\_logain4.dat'');
567\item SetWeightsFile(``calibration\_weights\_UV6.dat'');
568\suspend{enumerate}
569\item[``Real Fit'']: (not yet implemented, one try)
570\resume{enumerate}
571\item Real Fit
572\end{enumerate}
573\end{description}
574
575Note that the extractors \#30, \#31 are used only to test the stability of the extraction against
576changes in the pulse-shape.
577
578References: \cite{OF77,OF94}.
579
580
581%%% Local Variables:
582%%% mode: latex
583%%% TeX-master: "MAGIC_signal_reco"
584%%% TeX-master: "MAGIC_signal_reco"
585%%% End:
Note: See TracBrowser for help on using the repository browser.