make sure EMCal trigger-cluster matching is done when event is EMCal triggered, in...
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawFitterv1.h
1 #ifndef ALIPHOSRAWFITTERV1_H
2 #define ALIPHOSRAWFITTERV1_H
3 /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                          */
5
6 /* $Id: $ */
7
8 // This class extracts the PHOS "digits" of current event
9 // (amplitude,time, position,gain) from the raw stream 
10 // provided by AliRawReader. See cxx source for use case.
11
12 #include "AliPHOSRawFitterv0.h"
13 #include "TArrayD.h"
14 class TList;
15
16 class AliPHOSRawFitterv1 : public AliPHOSRawFitterv0 {
17
18 public:
19
20   AliPHOSRawFitterv1();
21   AliPHOSRawFitterv1(const AliPHOSRawFitterv1& rawFitter);
22   AliPHOSRawFitterv1& operator = (const AliPHOSRawFitterv1& rawFitter);
23   virtual ~AliPHOSRawFitterv1();
24   
25   virtual Bool_t Eval(const UShort_t *signal, Int_t sigStart, Int_t sigLength);
26   
27   static Double_t Gamma2(Double_t dt,Double_t en,Double_t b,TArrayD * fitparams) ; // Shape of correct sample
28   //class member function (not object member function)
29   void SetLowGainParams(Int_t n, Double_t * params){fSampleParamsLow->Set(n,params) ;}  //fixed parameters of fit function
30   void SetHighGainParams(Int_t n,Double_t * params){fSampleParamsHigh->Set(n,params) ;} //fixed parameters of fit function
31
32
33 protected:   
34   static void UnfoldingChiSquare(Int_t & nPar, Double_t * Grad, Double_t & fret, Double_t * x, Int_t iflag)  ;
35                                             // Chi^2 of the fit. Should be static to be passed to MINUIT
36
37
38   
39 protected:  
40   TArrayD *fSampleParamsLow ;   //Fixed params of sample parameterization for Low gain 
41   TArrayD *fSampleParamsHigh;   //Fixed params of sample parameterization for High gain
42   TList   *fToFit ;             //! container to transfer parameters and data to fit
43
44
45
46 private:
47   ClassDef(AliPHOSRawFitterv1,1)
48 };
49
50 #endif