]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSRawAnalyzerCrude.cxx
Small bug fixes (mainly in mapping) and some clean up
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerCrude.cxx
index e7f2e15268d628ffc163024dc97c459f0e6704fe..13f500b2ccb2694b34eaaccdf1d354653194699b 100644 (file)
@@ -1,3 +1,5 @@
+// $Id$
+
 /**************************************************************************
  * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved.      *
  *                                                                        *
  **************************************************************************/
 
 #include "AliHLTPHOSRawAnalyzerCrude.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliHLTPHOSRawAnalyzerCrude) 
 
+//ClassImp(AliHLTPHOSRawAnalyzerCrude) 
 
-AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude(const AliHLTPHOSRawAnalyzerCrude&):AliHLTPHOSRawAnalyzer()
-{
-
-}
 
 /**
  * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
@@ -33,52 +26,117 @@ AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude(const AliHLTPHOSRawAnalyz
  * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
  * calculation is of type double.
  **/
+//____________________________________________________________________________
 AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude():AliHLTPHOSRawAnalyzer() 
 {
 
 }
 
 
-
+//____________________________________________________________________________
 AliHLTPHOSRawAnalyzerCrude::~AliHLTPHOSRawAnalyzerCrude()
 {
 
 } //end AliHLTPHOSRawAnalyzerCrude
 
 
-
 /**
 * Extraction of timing and energy using Crude estimate.
 * The. The parameters "start" and "length" defines a sub array  of the data array
 * that will be used for the the fit. If start+length must not exeed the total length
 * of the Data array. "start" must be chosen as close as possible to t0.
-* The baseline must also be subtracted.
-* The length of "tVector" and "aVector" mus be equal to length.
+* The baseline must also be subtracted.                                                              .
 * "index + length" must not exeed the length of the data array set in the constructor.
 * @param start the start index of the subarray of the data array. 
 * @param length the number of samples to use starting from index 
-* @param tVector the peakfinder vector for timing
-* @param aVector the peakfinder vector for amplitude (energy)
 **/
+// //____________________________________________________________________________
+// void 
+// AliHLTPHOSRawAnalyzerCrude::Evaluate(int start, int length)
+// {
+//   double tmpAmplitudeMax =0; 
+//   double tmpTime = 0;
+
+//   for(int i=start; i<length; i++)
+//     {
+//       if(fIntDataPtr[i] >  tmpAmplitudeMax && i > 5)
+//     {
+//       tmpAmplitudeMax = fIntDataPtr[i];
+//       tmpTime = i;               
+//     }
+//     }
+       
+//   fDAmpl = tmpAmplitudeMax;
+//   fDTof =  tmpTime;
+//   //thats all 
+// } //end Crude
+
+
 void 
 AliHLTPHOSRawAnalyzerCrude::Evaluate(int start, int length)
 {
+  //  cout << "AliHLTPHOSRawAnalyzerCrude::Evaluate TP0"  << endl;
+
+  //DumpData(T
+
+  //  DumpData(fDoubleDataPtr,50, 25);
+
+  if(fUseShortValues == true)
+    {
+      EvaluateShort(start, length);
+    }
+  else
+    {
+
+      double tmpAmplitudeMax =0; 
+      double tmpTime = 0;
+
+      for(int i=start; i<length; i++)
+       {
+         //   if(fDoubleDataPtr[i] >  tmpAmplitudeMax && i > 5)
+         if(fIntDataPtr[i] >  tmpAmplitudeMax && i > 5)
+           {
+             //          tmpAmplitudeMax = fDoubleDataPtr[i];
+             tmpAmplitudeMax = fIntDataPtr[i];
+             tmpTime = i;                   
+           }
+       }
+
+      fDAmpl = tmpAmplitudeMax;
+      fDTof =  tmpTime;
+    }
+  //thats all 
+} //end Crude
+
+void 
+AliHLTPHOSRawAnalyzerCrude::EvaluateShort(int start, int length)
+{
+  //  cout << "AliHLTPHOSRawAnalyzerCrude::Evaluate TP0"  << endl;
+
+  //DumpData(T
+
+  //  DumpData(fDoubleDataPtr,50, 25);
+
   double tmpAmplitudeMax =0; 
   double tmpTime = 0;
 
   for(int i=start; i<length; i++)
     {
-      if(fFloatDataPtr[i] >  tmpAmplitudeMax)
+      cout << "sample index: " << i << endl;
+        //   if(fDoubleDataPtr[i] >  tmpAmplitudeMax && i > 5)
+      if(fShortDataPtr[i] >  tmpAmplitudeMax && i > 5)
        {
-         tmpAmplitudeMax = fFloatDataPtr[i];
+         //      tmpAmplitudeMax = fDoubleDataPtr[i];
+         tmpAmplitudeMax = fShortDataPtr[i];
          tmpTime = i;               
        }
     }
-       
+
   fDAmpl = tmpAmplitudeMax;
   fDTof =  tmpTime;
  
   //thats all 
 } //end Crude
-
-