]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEERBase/AliEMCALPIDResponse.h
speed up with binary search
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliEMCALPIDResponse.h
1 #ifndef AliEMCALPIDResponse_h
2 #define AliEMCALPIDResponse_h
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //////////////////////////////////////////////////////////////////////////
8 //                                                                      //
9 // AliEMCALPIDResponse                                                  //
10 //                                                                      //
11 // EMCAL class to perfom PID                                            //
12 // This is a prototype and still under development                      //
13 //                                                                      //
14 // Author: Michael Weber (m.weber@cern.ch)                              //
15 //////////////////////////////////////////////////////////////////////////
16
17 #include "AliPID.h"
18 #include <TVectorD.h>
19
20 class TF1;
21
22 class AliEMCALPIDResponse: public TObject 
23 {
24 public : 
25     AliEMCALPIDResponse();    //ctor
26     AliEMCALPIDResponse( const AliEMCALPIDResponse& other);                //copy ructor
27     AliEMCALPIDResponse &operator=( const AliEMCALPIDResponse& other);     //assignment operator
28
29     virtual ~AliEMCALPIDResponse();     //dtor
30   
31
32     // Getters
33     Double_t  GetNumberOfSigmas( Float_t pt,  Float_t eop, AliPID::EParticleType n,  Int_t charge) const;
34     Double_t  GetExpectedNorm  ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;
35   
36     //Setters
37     void   SetPIDParams(const TObjArray * params) { fkPIDParams = params; }
38     void   SetCentrality(Float_t currentCentrality) { fCurrCentrality = currentCentrality;}
39     
40
41     // EMCAL probability
42     Bool_t ComputeEMCALProbability(Int_t nSpecies, Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;
43
44 protected:
45   
46 private:
47
48   TF1 *fNorm;                            // Gauss function for normalizing NON electron probabilities 
49
50   Double_t fCurrCentrality;              // current (in the current event) centrality percentile 
51
52   const TObjArray *fkPIDParams;               // PID Params
53
54   const TVectorD* GetParams(Int_t nParticle, Float_t fPt, Int_t charge) const; 
55
56   ClassDef(AliEMCALPIDResponse, 2)
57 };
58
59 #endif // #ifdef AliEMCALPIDResponse_cxx
60