]>
Commit | Line | Data |
---|---|---|
a2b90f83 | 1 | #ifndef ALITRDPID_H |
2 | #define ALITRDPID_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 | #include <TNamed.h> | |
9 | ||
10 | class TObjArray; | |
11 | class TFile; | |
12 | ||
13 | class AliTRDgeometry; | |
14 | class AliTRDtrack; | |
15 | ||
16 | class AliTRDpid : public TNamed { | |
17 | ||
18 | public: | |
19 | ||
20 | AliTRDpid(); | |
21 | AliTRDpid(const char* name, const char* title); | |
22 | AliTRDpid(const AliTRDpid &p); | |
23 | virtual ~AliTRDpid(); | |
24 | AliTRDpid &operator=(const AliTRDpid &p); | |
25 | ||
26 | virtual void Copy(TObject &p); | |
27 | virtual Bool_t Init(); | |
28 | virtual Bool_t AssignLQ(TObjArray *tarray); | |
29 | virtual Bool_t AssignLQ(AliTRDtrack *t); | |
30 | virtual Bool_t FillQspectra(); | |
31 | virtual Bool_t FillQspectra(const AliTRDtrack *t); | |
32 | virtual Bool_t CreateHistograms(const Int_t nmom | |
33 | , const Float_t minmom | |
34 | , const Float_t maxmom); | |
35 | virtual Float_t LQPion(const Float_t *charge); | |
36 | virtual Float_t LQElectron(const Float_t *charge); | |
37 | virtual Bool_t Open(const Char_t *name, Int_t event = 0); | |
38 | virtual Bool_t Open(const Char_t *namekine | |
39 | , const Char_t *namecluster | |
40 | , const Char_t *nametracks, Int_t event = 0); | |
41 | virtual Int_t Pid(const AliTRDtrack *t); | |
42 | virtual Bool_t ReadCluster(const Char_t *name); | |
43 | virtual Bool_t ReadTracks(const Char_t *name); | |
44 | virtual Bool_t ReadKine(const Char_t *name, Int_t event); | |
45 | virtual Bool_t SumCharge(const AliTRDtrack *t, Float_t *charge); | |
46 | ||
47 | inline Int_t GetIndexLQ(const Int_t imom, const Int_t ipid); | |
48 | inline Int_t GetIndexLQ(const Float_t mom, const Int_t ipid); | |
49 | inline Int_t GetIndexQ(const Int_t imom, const Int_t ipla, const Int_t ipid); | |
50 | inline Int_t GetIndexQ(const Float_t mom, const Int_t ipla, const Int_t ipid); | |
51 | ||
52 | TObjArray* GetQHist() const { return fQHist; }; | |
53 | TObjArray* GetLQHist() const { return fLQHist; }; | |
54 | ||
55 | void SetGeometry(AliTRDgeometry *geo) { fGeometry = geo; }; | |
56 | void SetTrackArray(TObjArray *tarray) { fTrackArray = tarray; }; | |
57 | void SetClusterArray(TObjArray *carray) { fClusterArray = carray; }; | |
58 | ||
59 | protected: | |
60 | ||
61 | enum { | |
62 | kNpid = 2, // Number of pid types (pion + electron) | |
63 | kElectron = 0, // Electron pid | |
64 | kPion = 1 // Pion pid | |
65 | }; | |
66 | ||
67 | Int_t fNMom; // Number of momentum bins | |
68 | Float_t fMinMom; // Lower momentum | |
69 | Float_t fMaxMom; // Upper momentum | |
70 | Float_t fWidMom; // Width of the momentum bins | |
71 | TObjArray *fLQHist; // Array of L-Q histograms | |
72 | TObjArray *fQHist; // Array of Q histograms | |
73 | TObjArray *fTrackArray; //! Array containing the tracks | |
74 | TObjArray *fClusterArray; //! Array containing the cluster | |
75 | AliTRDgeometry *fGeometry; //! The TRD geometry | |
76 | ||
77 | ClassDef(AliTRDpid,1) // Assigns e/pi propability to the tracks | |
78 | ||
79 | }; | |
80 | #endif |