new PID 2dLQ implementation to fix bug 54540
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalPIDNN.h
1 #ifndef ALITRDCALPIDNN_H
2 #define ALITRDCALPIDNN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////////////////////////////////
9 //                                                                        //
10 // PID distributions for the NN method                                    //
11 //                                                                        //
12 // Author:                                                                //
13 // Alex Wilk <wilka@uni-muenster.de>                                      //
14 //                                                                        //
15 ////////////////////////////////////////////////////////////////////////////
16
17 #include "AliTRDCalPID.h"
18
19 class AliTRDCalPIDNN : public AliTRDCalPID
20 {
21  public:
22
23   enum{
24     kMLPscale  = 16000            // scaling of the MLP input to be smaller than 1
25   };
26
27   AliTRDCalPIDNN();
28   AliTRDCalPIDNN(const Text_t *name, const Text_t *title);
29   virtual  ~AliTRDCalPIDNN();
30   Bool_t    LoadReferences(Char_t *refFile);
31   TObject  *GetModel(Int_t ip, Int_t iType, Int_t iPlane) const;
32   static Int_t GetModelID(Int_t mom, Int_t ii, Int_t plane);
33   Double_t  GetProbability(Int_t spec, Float_t mom
34                          , const Float_t * const dedx
35                          , Float_t length, Int_t plane) const;
36
37  private:
38
39   AliTRDCalPIDNN(const AliTRDCalPIDNN &pd);
40   AliTRDCalPIDNN &operator=(const AliTRDCalPIDNN &c);
41            
42   void     Init();
43
44   ClassDef(AliTRDCalPIDNN, 1) // NN PID reference manager
45
46 };
47 #endif