]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliSignalProcesor.cxx
AliESDHeader: AliTriggerConfiguration and more trigger scalers added
[u/mrichter/AliRoot.git] / STEER / AliSignalProcesor.cxx
index 370e0026efd70eac8695047a51f2b3c37a304df5..c97af87a9cbe336439611f67c2e017a8cd2ebb7f 100644 (file)
@@ -1,5 +1,25 @@
-#include "TF1.h"
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+#include <TF1.h>
+#include <TMath.h>
+
 #include "AliSignalProcesor.h"
+#include "AliMathBase.h"
 
 
 ClassImp(AliSignalProcesor)
@@ -29,10 +49,10 @@ Double_t asymgauss(Double_t* x, Double_t* par)
   if (-par5save*(dx-0.5*par5save*sigma2)>100) return 0;   // avoid overflow 
   if (TMath::Abs(par[4])>1) return 0;
   Double_t  exp1    = par3save*TMath::Exp(-par3save*(dx-0.5*par3save*sigma2))
-    *(1-TMath::Erf((par3save*sigma2-dx)/(sqrt2*par2save)));
+    *(1-AliMathBase::ErfFast((par3save*sigma2-dx)/(sqrt2*par2save)));
 
   Double_t  exp2    = par5save*TMath::Exp(-par5save*(dx-0.5*par5save*sigma2))
-    *(1-TMath::Erf((par5save*sigma2-dx)/(sqrt2*par2save)));
+    *(1-AliMathBase::ErfFast((par5save*sigma2-dx)/(sqrt2*par2save)));
 
 
   return par[0]*(exp1+par[4]*exp2);
@@ -63,10 +83,10 @@ Double_t asymgaussN(Double_t* x, Double_t* par)
   if (TMath::Abs(par[4])>=1) return 0;
   
   Double_t  exp1    = par3save*TMath::Exp(-par3save*(dx-0.5*par3save*sigma2))
-    *0.5*(1-TMath::Erf((par3save*sigma2-dx)/(sqrt2*par2save)));
+    *0.5*(1-AliMathBase::ErfFast((par3save*sigma2-dx)/(sqrt2*par2save)));
 
   Double_t  exp2    = par5save*TMath::Exp(-par5save*(dx-0.5*par5save*sigma2))
-    *0.5*(1-TMath::Erf((par5save*sigma2-dx)/(sqrt2*par2save)));
+    *0.5*(1-AliMathBase::ErfFast((par5save*sigma2-dx)/(sqrt2*par2save)));
 
 
   return par[0]*(1.*exp1+par[4]*exp2)/(1.+par[4]);
@@ -81,7 +101,7 @@ TF1 * AliSignalProcesor::GetAsymGauss()
 
 
 
-void AliSignalProcesor::SplineSmoother(Double_t *ampin, Double_t *ampout, Int_t n)
+void AliSignalProcesor::SplineSmoother(const Double_t *ampin, Double_t *ampout, Int_t n) const
 {  
   //
   //
@@ -117,8 +137,7 @@ void AliSignalProcesor::SplineSmoother(Double_t *ampin, Double_t *ampout, Int_t
 
 
 
-void AliSignalProcesor::TailCancelationALTRO(Double_t *ampin, Double_t *ampout, Float_t K, Float_t L, 
-                     Int_t n)
+void AliSignalProcesor::TailCancelationALTRO(const Double_t *ampin, Double_t *ampout, Float_t k, Float_t l, Int_t n) const
 {
   //
   // ALTRO
@@ -126,15 +145,15 @@ void AliSignalProcesor::TailCancelationALTRO(Double_t *ampin, Double_t *ampout,
   ampout[0]  = ampin[0];
   temp = ampin[0];
   for (int i=1;i<n;i++){
-    ampout[i]   = ampin[i]   + (K-L)*temp;
-    temp        = ampin[i]   +  K*temp;
+    ampout[i]   = ampin[i]   + (k-l)*temp;
+    temp        = ampin[i]   +  k*temp;
   }
 }
 
 //
 //
-void AliSignalProcesor::TailCancelationTRD(Double_t *ampin, Double_t *ampout, Float_t r, Float_t c, 
-                     Int_t n)
+void AliSignalProcesor::TailCancelationTRD(const Double_t *ampin, Double_t *ampout, Float_t r, Float_t c, 
+                     Int_t n) const
 {
   //TRD
   //
@@ -148,8 +167,8 @@ void AliSignalProcesor::TailCancelationTRD(Double_t *ampin, Double_t *ampout, Fl
   
 }
 
-void AliSignalProcesor::TailMaker(Double_t *ampin, Double_t *ampout, Float_t lambda, 
-                     Int_t n)
+void AliSignalProcesor::TailMaker(const Double_t *ampin, Double_t *ampout, Float_t lambda, 
+                     Int_t n) const
 {
   
   Double_t l = TMath::Exp(-lambda);
@@ -186,12 +205,12 @@ void AliSignalProcesor::TailCancelationTRD1(Double_t *ampin, Double_t *ampout, F
 
 
 
-void AliSignalProcesor::TailCancelationMI(Double_t *ampin, Double_t *ampout, Float_t norm, 
-                                       Float_t lambda, Int_t n)
+void AliSignalProcesor::TailCancelationMI(const Double_t *ampin, Double_t *ampout, Float_t norm, 
+                                       Float_t lambda, Int_t n) const
 {
   
-  Double_t L = TMath::Exp(-lambda*0.5);
-  Double_t K = L*(1.-norm*lambda*0.5);
+  Double_t l = TMath::Exp(-lambda*0.5);
+  Double_t k = l*(1.-norm*lambda*0.5);
   //
   //
   Float_t in[10000];
@@ -214,8 +233,8 @@ void AliSignalProcesor::TailCancelationMI(Double_t *ampin, Double_t *ampout, Flo
   out[0]     = in[0];
   temp       = in[0];
   for (int i=1;i<=2*n;i++){
-    out[i]      = in[i]   + (K-L)*temp;
-    temp        = in[i]   +  K*temp;
+    out[i]      = in[i]   + (k-l)*temp;
+    temp        = in[i]   +  k*temp;
   }
   //
   //
@@ -228,8 +247,8 @@ void AliSignalProcesor::TailCancelationMI(Double_t *ampin, Double_t *ampout, Flo
 
 
 
-void AliSignalProcesor::TailMakerSpline(Double_t *ampin, Double_t *ampout, Float_t lambda, 
-                     Int_t n)
+void AliSignalProcesor::TailMakerSpline(const Double_t *ampin, Double_t *ampout, Float_t lambda, 
+                     Int_t n) const
 {
   
   Double_t l = TMath::Exp(-lambda*0.5);