ce487a7f |
1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
3 | * * |
4 | * Author: The ALICE Off-line Project. * |
5 | * Contributors are mentioned in the code where appropriate. * |
6 | * * |
7 | * Permission to use, copy, modify and distribute this software and its * |
8 | * documentation strictly for non-commercial purposes is hereby granted * |
9 | * without fee, provided that the above copyright notice appears in all * |
10 | * copies and that both the copyright notice and this permission notice * |
11 | * appear in the supporting documentation. The authors make no claims * |
12 | * about the suitability of this software for any purpose. It is * |
13 | * provided "as is" without express or implied warranty. * |
14 | **************************************************************************/ |
15 | // |
16 | // Container for TRD thresholds stored in the OADB |
17 | // |
18 | #ifndef ALITRDPIDPARAMS_H |
19 | #define ALITRDPIDPARAMS_H |
20 | |
21 | #ifndef ROOT_TNamed |
22 | #include <TNamed.h> |
23 | #endif |
24 | |
25 | class TSortedList; |
26 | |
27 | class AliTRDPIDParams : public TNamed{ |
28 | public: |
29 | AliTRDPIDParams(); |
30 | AliTRDPIDParams(const char *name); |
db0e2c5f |
31 | AliTRDPIDParams(const AliTRDPIDParams &); |
ce487a7f |
32 | virtual ~AliTRDPIDParams(); |
33 | virtual void Print(Option_t *) const; |
34 | |
35 | Bool_t GetThresholdParameters(Int_t ntracklets, Double_t efficiency, Double_t *params) const; |
36 | void SetThresholdParameters(Int_t ntracklets, Double_t effMin, Double_t effMax, Double_t *params); |
37 | |
38 | private: |
39 | class AliTRDPIDThresholds : public TObject{ |
db0e2c5f |
40 | public: |
41 | AliTRDPIDThresholds(); |
42 | AliTRDPIDThresholds(Int_t nTracklets, Double_t effMin, Double_t effMax, Double_t *params = NULL); |
43 | AliTRDPIDThresholds(Int_t nTracklets, Double_t eff, Double_t *params = NULL); |
44 | AliTRDPIDThresholds(const AliTRDPIDThresholds &); |
45 | AliTRDPIDThresholds &operator=(const AliTRDPIDThresholds &); |
46 | virtual ~AliTRDPIDThresholds() {} |
47 | |
ce487a7f |
48 | Int_t GetNTracklets() const { return fNTracklets; } |
db0e2c5f |
49 | Double_t GetElectronEfficiency(Int_t step = 0) const { if(step == 0) return fEfficiency[0]; else return fEfficiency[1]; } |
50 | const Double_t *GetThresholdParams() const { return fParams; } |
ce487a7f |
51 | |
db0e2c5f |
52 | virtual Bool_t IsSortable() const { return kTRUE; } |
53 | virtual Int_t Compare(const TObject *ref) const; |
ce487a7f |
54 | virtual Bool_t IsEqual(const TObject *ref) const; |
55 | |
db0e2c5f |
56 | private: |
57 | Int_t fNTracklets; // |
58 | Double_t fEfficiency[2]; // |
59 | Double_t fParams[4]; // |
ce487a7f |
60 | |
db0e2c5f |
61 | ClassDef(AliTRDPIDThresholds, 1); |
ce487a7f |
62 | }; |
63 | |
db0e2c5f |
64 | AliTRDPIDParams &operator=(const AliTRDPIDParams &); |
65 | |
ce487a7f |
66 | static const Double_t kVerySmall; |
67 | |
ce487a7f |
68 | TSortedList *fEntries; // |
69 | |
70 | ClassDef(AliTRDPIDParams, 1); |
71 | }; |
72 | #endif |
73 | |