]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSRawAnalyzerPeakFinder.cxx
adding correction maps for Hybrid tracks for PbPb (from 2010 - HIJING)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerPeakFinder.cxx
index f7e20a155af0da32f06d89cec182f853afdd8d35..3ce5004899babe19d884891b826778bd0d3c7200 100644 (file)
@@ -1,3 +1,5 @@
+// $Id$
+
 /**************************************************************************
  * This file is property of and copyright by the Experimental Nuclear     *
  * Physics Group, Dep. of Physics                                         *
  **************************************************************************/
 
 #include "AliHLTPHOSRawAnalyzerPeakFinder.h"
-#include <iostream>
 #include <cmath>
+#include "AliHLTCaloUtilities.h" 
 
-using std::cout;
-using std::endl;
+//using std::cout;
+//using std::endl;
 
 ClassImp(AliHLTPHOSRawAnalyzerPeakFinder) 
 
 
-AliHLTPHOSRawAnalyzerPeakFinder::AliHLTPHOSRawAnalyzerPeakFinder(const AliHLTPHOSRawAnalyzerPeakFinder&):AliHLTPHOSRawAnalyzer() , fTVectorPtr(0), fAVectorPtr(0), fTVectorSize(0), fAVectorSize(0)
-{
-
-
-}
-
-
 /**
  * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
  * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
  * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
  * calculation is of type double.
  **/
-AliHLTPHOSRawAnalyzerPeakFinder::AliHLTPHOSRawAnalyzerPeakFinder():AliHLTPHOSRawAnalyzer(), fTVectorPtr(0), fAVectorPtr(0), fTVectorSize(0), fAVectorSize(0)
+AliHLTPHOSRawAnalyzerPeakFinder::AliHLTPHOSRawAnalyzerPeakFinder():AliHLTPHOSRawAnalyzer(), 
+                                                                   fTVectorPtr(0), 
+                                                                  fAVectorPtr(0), 
+                                                                  fTVectorSize(0), 
+                                                                  fAVectorSize(0)
 {
-  //  cout <<"PeakFinder:You cannot invoke the Fitter without arguments"<<endl;;
-}
 
+}
 
 
+//___________________________________________________________________
 AliHLTPHOSRawAnalyzerPeakFinder::~AliHLTPHOSRawAnalyzerPeakFinder()
 {
 
 } //end AliHLTPHOSRawAnalyzerPeakFinder
 
+
 void 
 AliHLTPHOSRawAnalyzerPeakFinder::SetTVector(Double_t *tVec, Int_t size)
 {
@@ -73,7 +73,7 @@ AliHLTPHOSRawAnalyzerPeakFinder::SetTVector(Double_t *tVec, Int_t size)
 void
 AliHLTPHOSRawAnalyzerPeakFinder::SetAVector(Double_t *aVec, Int_t size)
 {
-    
+  //comment
   fAVectorSize = size;
 
   if(fAVectorPtr != 0)
@@ -89,33 +89,20 @@ AliHLTPHOSRawAnalyzerPeakFinder::SetAVector(Double_t *aVec, Int_t size)
     }
 }
 
-/**
-* Extraction of timing and energy using the Peakfinde Algorithm.
-* 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.
-* "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 
-AliHLTPHOSRawAnalyzerPeakFinder::Evaluate(int start, int length)
+AliHLTPHOSRawAnalyzerPeakFinder::Evaluate(Int_t /*start*/, Int_t length)
 {
+  //comment
   fDTof = 0;
   fDAmpl = 0;
   Int_t tmpLength;
 
   if(fTVectorPtr == 0 || fAVectorPtr == 0)
     {
-      //      printf("\nError: the peakfinder vectors are not specified, aborting !!!\n");
+
     }
   else
     {
-      
       if(length <  fTVectorSize)
        {
          tmpLength = length;
@@ -127,25 +114,24 @@ AliHLTPHOSRawAnalyzerPeakFinder::Evaluate(int start, int length)
       
       for(int i=0; i < tmpLength; i++)
        {  
-         fDAmpl += fAVectorPtr[i]*fFloatDataPtr[i];    
+         fDAmpl += fAVectorPtr[i]*fDoubleDataPtr[i];   
        }
 
       for(int i=0; i < tmpLength; i++)
        {   
-         fDTof += fTVectorPtr[i]*fFloatDataPtr[i]; 
+         fDTof += fTVectorPtr[i]*fDoubleDataPtr[i]; 
        }
       
       if(fDAmpl > 900)
        {
-         Double_t tmpMax = GetMaxValue(fFloatDataPtr, tmpLength);
+         double tmpMax = AliHLTCaloUtilities::MaxValue(fDoubleDataPtr, tmpLength); 
+
          if(tmpMax == 1023)
            {
              fDAmpl = tmpMax;
            }
        }
-
       fDTof = fDTof/fDAmpl;
-
     }
 } //end Evaluate