]>
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 | ||
16bf9884 | 6 | /* $Id$ */ |
a2b90f83 | 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(); | |
16bf9884 | 28 | virtual Bool_t AssignLikelihood(); |
29 | virtual Bool_t AssignLikelihood(TObjArray *tarray); | |
30 | virtual Bool_t AssignLikelihood(AliTRDtrack *t) = 0; | |
31 | virtual Bool_t FillSpectra(); | |
32 | virtual Bool_t FillSpectra(TObjArray *tarray); | |
33 | virtual Bool_t FillSpectra(const AliTRDtrack *t) = 0; | |
a2b90f83 | 34 | virtual Bool_t Open(const Char_t *name, Int_t event = 0); |
35 | virtual Bool_t Open(const Char_t *namekine | |
36 | , const Char_t *namecluster | |
37 | , const Char_t *nametracks, Int_t event = 0); | |
16bf9884 | 38 | virtual Int_t MCpid(const AliTRDtrack *t); |
39 | virtual Int_t MCpid(const AliTRDtrack *t, Int_t *pdg, Int_t *nFound, Int_t *indices); | |
a2b90f83 | 40 | virtual Bool_t ReadCluster(const Char_t *name); |
41 | virtual Bool_t ReadTracks(const Char_t *name); | |
42 | virtual Bool_t ReadKine(const Char_t *name, Int_t event); | |
16bf9884 | 43 | virtual Bool_t SumCharge(const AliTRDtrack *t, Float_t *charge, Int_t *nCluster); |
a2b90f83 | 44 | |
16bf9884 | 45 | virtual Int_t GetIndex(const AliTRDtrack *t) = 0; |
a2b90f83 | 46 | |
16bf9884 | 47 | void SetGeometry(AliTRDgeometry *geo) { fGeometry = geo; }; |
48 | void SetTrackArray(TObjArray *tarray) { fTrackArray = tarray; }; | |
49 | void SetClusterArray(TObjArray *carray) { fClusterArray = carray; }; | |
a2b90f83 | 50 | |
16bf9884 | 51 | void SetPIDratioMin(Float_t min) { fPIDratioMin = min; }; |
52 | void SetPIDpurePoints(Bool_t pure) { fPIDpurePoints = pure; }; | |
53 | void SetPIDindexMin(Int_t min) { fPIDindexMin = min; }; | |
54 | void SetPIDindexMax(Int_t max) { fPIDindexMax = max; }; | |
55 | ||
56 | void SetThreePadOnly(Bool_t only) { fThreePadOnly = only; }; | |
abaf1f1d | 57 | void SetEvent(Int_t event) { fEvent = event; }; |
16bf9884 | 58 | |
59 | TObjArray *GetTrackArray() { return fTrackArray; }; | |
60 | TObjArray *GetClusterArray() { return fClusterArray; }; | |
61 | ||
62 | Float_t GetPIDratioMin() { return fPIDratioMin; }; | |
63 | Bool_t GetPIDpurePoints() { return fPIDpurePoints; }; | |
64 | Float_t GetPIDindexMin() { return fPIDindexMin; }; | |
65 | Float_t GetPIDindexMax() { return fPIDindexMax; }; | |
66 | ||
67 | Bool_t GetThreePadOnly() { return fThreePadOnly; }; | |
a2b90f83 | 68 | |
69 | protected: | |
70 | ||
71 | enum { | |
72 | kNpid = 2, // Number of pid types (pion + electron) | |
73 | kElectron = 0, // Electron pid | |
74 | kPion = 1 // Pion pid | |
75 | }; | |
76 | ||
16bf9884 | 77 | Float_t fPIDratioMin; // Minimum fraction of cluster from one particle |
78 | Bool_t fPIDpurePoints; // Require pure (nono overlapping) cluster | |
79 | Int_t fPIDindexMin; // Lower index MC particles to be considered | |
80 | Int_t fPIDindexMax; // Upper index MC particles to be considered | |
81 | ||
82 | Bool_t fThreePadOnly; // Use only three pad cluster in the charge sum | |
83 | ||
abaf1f1d | 84 | Int_t fEvent; // Event number |
85 | ||
a2b90f83 | 86 | TObjArray *fTrackArray; //! Array containing the tracks |
87 | TObjArray *fClusterArray; //! Array containing the cluster | |
88 | AliTRDgeometry *fGeometry; //! The TRD geometry | |
16bf9884 | 89 | TFile *fFileKine; //! The kine input file |
a2b90f83 | 90 | |
16bf9884 | 91 | ClassDef(AliTRDpid,1) // Assigns the e/pi propability to the tracks |
a2b90f83 | 92 | |
93 | }; | |
94 | #endif |