1 #ifndef ALICALORAWANALYZERPEAKFINDER_H
2 #define ALICALORAWANALYZERPEAKFINDER_H
5 /**************************************************************************
6 * This file is property of and copyright by *
7 * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2009 *
9 * Primary Author: Per Thomas Hille <perthomas.hille@yale.edu> *
11 * Contributors are mentioned in the code where appropriate. *
12 * Please report bugs to p.t.hille@fys.uio.no *
14 * Permission to use, copy, modify and distribute this software and its *
15 * documentation strictly for non-commercial purposes is hereby granted *
16 * without fee, provided that the above copyright notice appears in all *
17 * copies and that both the copyright notice and this permission notice *
18 * appear in the supporting documentation. The authors make no claims *
19 * about the suitability of this software for any purpose. It is *
20 * provided "as is" without express or implied warranty. *
21 **************************************************************************/
24 // The Peak-Finder algorithm
25 // The amplitude is extracted as a
26 // weighted sum of the samples using the
27 // best possible weights.
30 #include "AliCaloRawAnalyzer.h"
33 #define SAMPLERANGE 15
36 class AliCaloBunchInfo;
39 class AliCaloRawAnalyzerPeakFinder : public AliCaloRawAnalyzer
42 AliCaloRawAnalyzerPeakFinder();
43 virtual ~AliCaloRawAnalyzerPeakFinder();
44 virtual AliCaloFitResults Evaluate( const vector<AliCaloBunchInfo> &bunchvector, const UInt_t altrocfg1, const UInt_t altrocfg2 );
47 AliCaloRawAnalyzerPeakFinder( const AliCaloRawAnalyzerPeakFinder & );
48 AliCaloRawAnalyzerPeakFinder & operator = ( const AliCaloRawAnalyzerPeakFinder & );
51 Double_t ScanCoarse(const Double_t *const array, const int length ) const ; // Find a rough estimate of peak position and t0
53 // void PolTof( const double rectof ) const;
55 double *fPFAmpVectorsCoarse[MAXSTART][SAMPLERANGE]; // Vectors for Amplitude extraction, first iteration
56 double *fPFTofVectorsCoarse[MAXSTART][SAMPLERANGE]; // Vectors for TOF extraction, first iteration
58 double *fPFAmpVectors[MAXSTART][SAMPLERANGE]; // Vectors for Amplitude extraction, second iteration
59 double *fPFTofVectors[MAXSTART][SAMPLERANGE]; // Vectors for TOF extraction, second iteration
64 double fAmpA[3]; // The amplitude of the signal (eveluate 3 times using 3 differtnt phase shifts of the input samples )
68 ClassDef( AliCaloRawAnalyzerPeakFinder, 1 )