Updates in order to enable the '2D' PID for the TRD developed by Daniel Lohner.
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliTRDPIDParams.h
CommitLineData
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
25class TSortedList;
26
27class 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