]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliCaloRawAnalyzerPeakFinder.h
adding histo with distribution of used clusters and changing ranges of some histograms
[u/mrichter/AliRoot.git] / EMCAL / AliCaloRawAnalyzerPeakFinder.h
index f050d8f0b88793861290a7ffa0891e21f2034a4c..510bf035f99307c3faf948f319af721a0280c7f4 100644 (file)
@@ -1,7 +1,6 @@
+// -*- mode: c++ -*-
 #ifndef ALICALORAWANALYZERPEAKFINDER_H
 #define ALICALORAWANALYZERPEAKFINDER_H
-
-
 /**************************************************************************
  * This file is property of and copyright by                              *
  * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2009     *
@@ -9,7 +8,7 @@
  * Primary Author: Per Thomas Hille  <perthomas.hille@yale.edu>           *
  *                                                                        *
  * Contributors are mentioned in the code where appropriate.              *
- * Please report bugs to p.t.hille@fys.uio.no                             *
+ * Please report bugs to perthomas.hille@yale.edu                         *
  *                                                                        *
  * Permission to use, copy, modify and distribute this software and its   *
  * documentation strictly for non-commercial purposes is hereby granted   *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-
 // The Peak-Finder algorithm
 // The amplitude is extracted  as a
 // weighted sum of the samples using the 
 // best possible weights.
 
-
 #include "AliCaloRawAnalyzer.h"
-
-#define MAXSTART 3
-#define SAMPLERANGE 15
-#define SHIF 0.5
+#include "AliCaloConstants.h"
 
 class AliCaloBunchInfo;
-
+class AliCaloPeakFinderVectors;
 
 class  AliCaloRawAnalyzerPeakFinder : public AliCaloRawAnalyzer
 {
+  friend class AliCaloRawAnalyzerFactory; // rule checker request
+  
  public:
-  AliCaloRawAnalyzerPeakFinder();
-  virtual ~AliCaloRawAnalyzerPeakFinder();
-  virtual AliCaloFitResults Evaluate( const std::vector<AliCaloBunchInfo> &bunchvector, const UInt_t altrocfg1,  const UInt_t altrocfg2 );
+  
+  virtual ~AliCaloRawAnalyzerPeakFinder() { ; }
+  
+  virtual AliCaloFitResults Evaluate( const std::vector<AliCaloBunchInfo> &bunchvector, 
+                                      UInt_t altrocfg1, UInt_t altrocfg2 );
 
  private:
-  AliCaloRawAnalyzerPeakFinder( const AliCaloRawAnalyzerPeakFinder   & );
-  AliCaloRawAnalyzerPeakFinder   & operator = ( const  AliCaloRawAnalyzerPeakFinder  & );
-
-  void     LoadVectors();
-  Double_t  ScanCoarse(const Double_t *const array, const int length ) const ; // Find a rough estimate of peak position and t0
-
-  //  void PolTof( const double rectof ) const;
   
-  double *fPFAmpVectorsCoarse[MAXSTART][SAMPLERANGE]; // Vectors for Amplitude extraction, first iteration 
-  double *fPFTofVectorsCoarse[MAXSTART][SAMPLERANGE]; // Vectors for TOF extraction, first iteration
-
-  double *fPFAmpVectors[MAXSTART][SAMPLERANGE]; // Vectors for Amplitude extraction, second iteration 
-  double *fPFTofVectors[MAXSTART][SAMPLERANGE]; // Vectors for TOF extraction, second iteration
-
-  //  double fTof; 
-  //  double fAmp;
-
-  double fAmpA[3]; // The  amplitude of the signal (eveluate 3 times using 3 differtnt phase shifts of the input samples )
-  // double fAmp2;
-  // double fAmp3;
-
+  AliCaloRawAnalyzerPeakFinder();
+  AliCaloRawAnalyzerPeakFinder(                const AliCaloRawAnalyzerPeakFinder & );
+  AliCaloRawAnalyzerPeakFinder  & operator = ( const AliCaloRawAnalyzerPeakFinder & );
+  
+  void     LoadVectorsOCDB();
+  void     CopyVectors(const AliCaloPeakFinderVectors * pfvectors );
+  void     ResetVectors();
+  void     WriteRootFile() const;
+  void     PrintVectors();
+  Double_t ScanCoarse( const Double_t *array, Int_t  length ) const ; // Find a rough estimate of peak position and t0
+  
+  Double_t fPFAmpVectorsCoarse[PF::MAXSTART][PF::SAMPLERANGE][100];   // Vectors for Amplitude extraction, first iteration
+  Double_t fPFTofVectorsCoarse[PF::MAXSTART][PF::SAMPLERANGE][100];   // Vectors for TOF extraction, first iteration
+  Double_t fPFAmpVectors      [PF::MAXSTART][PF::SAMPLERANGE][100];   // Vectors for Amplitude extraction, second iteration
+  Double_t fPFTofVectors      [PF::MAXSTART][PF::SAMPLERANGE][100];   // Vectors for TOF extraction, second iteration
+  
+  AliCaloPeakFinderVectors * fPeakFinderVectors; // Collection of Peak-Fincer vectors
+  
+  bool fRunOnAlien;    // Wether or not we are running on the GRID
+  bool fIsInitialized; // init flag
   ClassDef( AliCaloRawAnalyzerPeakFinder, 1 )
-
+  
 };
 
+
 #endif