]>
Commit | Line | Data |
---|---|---|
720a0a16 | 1 | #ifndef ALITRDCALPID_H |
2 | #define ALITRDCALPID_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 | // // | |
720a0a16 | 10 | // Authors: // |
44dbae42 | 11 | // // |
12 | // Alex Bercuci <A.Bercuci@gsi.de> // | |
13 | // Alex Wilk <wilka@uni-muenster.de> // | |
14 | // Prashant Shukla <shukla@pi0.physi.uni-heidelberg.de> // | |
720a0a16 | 15 | // // |
16 | /////////////////////////////////////////////////////////////////////////////// | |
17 | ||
720a0a16 | 18 | #include <TNamed.h> |
720a0a16 | 19 | |
5d6dc395 | 20 | #include "AliPID.h" |
5d6dc395 | 21 | |
44dbae42 | 22 | class AliTRDCalPID : public TNamed |
23 | { | |
11d80e40 | 24 | public: |
44dbae42 | 25 | enum { |
11d80e40 | 26 | kNMom = 11, |
9ded305e | 27 | kNSlicesLQ = 2, |
4d6aee34 | 28 | kNSlicesNN = 8 |
44dbae42 | 29 | }; |
720a0a16 | 30 | |
31 | AliTRDCalPID(); | |
32 | AliTRDCalPID(const Text_t *name, const Text_t *title); | |
44dbae42 | 33 | virtual ~AliTRDCalPID(); |
34 | ||
35 | virtual Bool_t LoadReferences(Char_t *refFile) = 0; | |
5d6dc395 | 36 | static Double_t GetMomentum(Int_t ip) { |
2e32a5ae | 37 | return (ip<0 || ip>=kNMom) ? -1.0 : fgTrackMomentum[ip]; } |
52bb079b | 38 | static Double_t GetMomentumBinning(Int_t ip) { |
2e32a5ae | 39 | return (ip<0 || ip>=kNMom+1) ? -1.0 : fgTrackMomentumBinning[ip]; } |
44dbae42 | 40 | virtual TObject *GetModel(Int_t ip, Int_t iType, Int_t iPlane) const = 0; |
9ded305e | 41 | //virtual static Int_t GetModelID(Int_t mom, Int_t spec, Int_t plane) = 0; |
2e32a5ae | 42 | virtual Double_t GetProbability(Int_t spec, Float_t mom |
43 | , const Float_t * const dedx | |
44dbae42 | 44 | , Float_t length, Int_t plane) const = 0; |
2e32a5ae | 45 | static Color_t GetPartColor(Int_t i) { return fgPartColor[i]; } |
5d6dc395 | 46 | static Int_t GetPartIndex(Int_t pdg); |
2e32a5ae | 47 | static const Char_t *GetPartName(Int_t i) { return fPartName[i]; } |
48 | static const Char_t *GetPartSymb(Int_t i) { return fPartSymb[i]; } | |
44dbae42 | 49 | |
11d80e40 | 50 | void SetPartName(Int_t i, const Char_t *name) { fPartName[i] = name; } |
51 | void SetPartSymb(Int_t i, const Char_t *symb) { fPartSymb[i] = symb; } | |
720a0a16 | 52 | |
11d80e40 | 53 | protected: |
44dbae42 | 54 | virtual void Init() = 0; |
44dbae42 | 55 | |
2e32a5ae | 56 | static const Char_t *fPartName[AliPID::kSPECIES]; //! Names of particle species |
57 | static const Char_t *fPartSymb[AliPID::kSPECIES]; //! Symbols of particle species | |
58 | static Color_t fgPartColor[AliPID::kSPECIES]; //! Colors of particle species | |
59 | static Float_t fgTrackMomentum[kNMom]; // Track momenta for which response functions are available | |
60 | static Float_t fgTrackMomentumBinning[kNMom+1]; // Defines the start and the endpoints of the momentum bins | |
61 | TObjArray *fModel; // Model for probability estimate | |
62 | ||
44dbae42 | 63 | private: |
64 | ||
65 | AliTRDCalPID(const AliTRDCalPID& pd); | |
66 | AliTRDCalPID &operator=(const AliTRDCalPID &c); | |
67 | ||
2e32a5ae | 68 | ClassDef(AliTRDCalPID, 4) // Base class for TRD PID methods |
720a0a16 | 69 | |
44dbae42 | 70 | }; |
71 | #endif |