20.04.2013 Aufrufe

Bachelorarbeit - Desy

Bachelorarbeit - Desy

Bachelorarbeit - Desy

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

26<br />

8 break ;<br />

9 }<br />

10 }<br />

11 f o r ( i = alpha ; i < alpha +100; i ++){<br />

12 int d i f f 3 = buf [ i +1] − buf [ i ] ;<br />

13 // Wenn d i e D i f f e r e n z z w i s c h e n einem Punkt und dem Nächsten k l e i n e r a l s 100 i s t ,<br />

14 // s e t z t e d i e s e n Punkt a l s beta und beende d i e S c h l e i f e .<br />

15 // Dadurch wird der Endpunkt der A n s t i e g s f l a n k e e r k a n n t .<br />

16 i f ( d i f f 3 < 100){<br />

17 beta = i ;<br />

18 break ;<br />

19 }<br />

20 }<br />

Das Verwerfen von Signalen mit Pile-up kann nun durch eine einfache Methode rea-<br />

lisiert werden. Das Eintreffen eines plötzlichen Anstiegs der Datenpunkte in einer Trace<br />

wird durch die Punkte alpha und beta gekennzeichnet. Durch die Forderung, dass nach<br />

Zeitpunkt beta die Differenz zweier Punkte einen vom Benutzer festgelegten Schwel-<br />

lenwert nicht überschreitet, kann Pile-up erkannt werden. Um Traces, in denen Pile-up<br />

auftritt, zu verwerfen, kann von einer Booleschen Variablen 3 Gebrauch gemacht werden.<br />

Diese wird pileup genannt und kann die Werte true und false annehmen. Zu Beginn<br />

des Programms wird sie auf false gesetzt und die Auswertung der Daten einer Trace nur<br />

fortgesetzt, wenn pileup==false erfüllt ist. Wird durch die beschriebene Routine Pile-up<br />

erkannt, wird pileup=true gesetzt, diese Trace also nicht weiter bearbeitet:<br />

1 bool p i l e u p = f a l s e ;<br />

2 int d i f f , int n=4000; // n = Länge der Trace<br />

3 double beta ; // Endpunkt der A n s t i e g s f l a n k e<br />

4 f o r ( i = beta ; i < n ; i ++) {<br />

5 d i f f = ( buf [ i +1] − buf [ i ] ) ;<br />

6 // Wenn h i n t e r der e r s t e n A n s t i e g s f l a n k e e i n e w e i t e r e e i n t r i t t , s e t z e p i l e u p=t r u e<br />

7 i f ( d i f f > 100){<br />

8 p i l e u p = true ;<br />

9 break ;<br />

10 }<br />

11 }<br />

12 // Nur wenn p i l e u p==f a l s e , f a h r e mit der V e r a r b e i t u n g f o r t<br />

13 i f ( p i l e u p == f a l s e ){<br />

14 // H i e r f o l g t d i e V e r a r b e i t u n g der Traces<br />

15 }<br />

Neben dem Auftreten von zwei Signalen in einer Trace kommt es vor, dass in einer<br />

Trace ein Signal beginnt, obwohl das vorige Signal noch nicht auf die Baseline abgefallen<br />

ist. Dies macht sich über eine nicht-konstante Baseline bemerkbar. Um dies zu verhindern,<br />

kann gefordert werden, dass die Baseline, welche durch Mittelwertbildung bestimmt wur-<br />

de, eine gewisse Standardabweichung des Mittelwerts nicht überschreiten darf. Des Wei-<br />

teren kommt es gelegentlich vor, dass ein Signal zunächst abfällt und anschließend wieder<br />

leicht ansteigt. Da solche Signale keinen exponentiellen Abfall über die gesamte Abstiegs-<br />

flanke zeigen, werden solche Traces ebenfalls verworfen. Die letzte Art unerwünschter<br />

Signale sind solche, die unter die Baseline abfallen. Diese Verwerfungsmethoden werden<br />

folgendermaßen durchgeführt:<br />

1 double sd = 0 ; // s t a n d a r d d e v i a t i o n<br />

2 f o r ( i = 0 ; i

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!