e678600d |
1 | #ifndef AliOADBPWG2Spectra_H |
2 | #define AliOADBPWG2Spectra_H |
3 | |
4 | //------------------------------------------------------------------------- |
5 | // OADB interface for the PWG2 spectra |
6 | // Author: Michele Floris, CERN |
7 | // |
8 | // ------------------------------------------------------------------------- |
9 | #include "TNamed.h" |
10 | #include "TList.h" |
11 | |
12 | class TList; |
13 | class TH1D; |
68037533 |
14 | class TH1; |
e678600d |
15 | class AliOADBPWG2Spectra : public TNamed { |
16 | |
17 | public : |
18 | |
68037533 |
19 | enum EPWG2SpectraDetector { kITSsa=0, kITSTPC, kTPC, kTOF, kTOFTPC, kNDetectors, kDetDummy }; |
e678600d |
20 | enum EPWG2SpectraPIDType { kGaussFit=0, kNSigma, kBayes, kKinks, kNPIDTypes }; |
21 | enum EPWG2SpectraCharge { kPos=0, kNeg, kNCharge }; |
68037533 |
22 | enum EPWG2SpectraParticle { kPion = 0, kKaon, kProton, kNParticle }; |
e678600d |
23 | AliOADBPWG2Spectra(); |
e3c81f72 |
24 | AliOADBPWG2Spectra(const char* name); |
e678600d |
25 | virtual ~AliOADBPWG2Spectra(); |
26 | |
27 | void Init(); |
28 | |
29 | static const char * GetOADBPWG2SpectraFileName(); |
e3c81f72 |
30 | const char * GetHistoName(Int_t det, Int_t pidType, Int_t part, |
31 | Int_t charge, const char * centrTag = 0, Int_t centrBin = -1) ; |
32 | void AddHisto(TH1D * h, Int_t det, Int_t pidType, Int_t part, |
33 | Int_t charge, const char * centrTag = 0, Int_t centrBin = -1) ; |
34 | TH1D * GetHisto(Int_t det, Int_t pidType, Int_t part, |
35 | Int_t charge, const char * centrTag = 0, Int_t centrBin = -1); |
36 | TH1D * BookHisto(Int_t det, Int_t pidType, Int_t part, |
37 | Int_t charge, const char * centrTag = 0, Int_t centrBin = -1) ; |
e678600d |
38 | |
e3c81f72 |
39 | TH1D * GetHistoStandardBinning(const TH1D* h, Int_t det, Int_t pidType, Int_t part, |
40 | Int_t charge, const char * centrTag, Int_t centrBin) ; |
41 | |
42 | static const char * GetDetectorName(Int_t i) {return fgkDetectorNames[i];} |
43 | static const char * GetPIDName(Int_t i) {return fgkPidTypeNames[i];} |
44 | static const char * GetChargeName(Int_t i) {return fgkChargeTags[i];} |
45 | static const char * GetParticleName(Int_t i) {return fgkParticleNames[i];} |
68037533 |
46 | |
47 | Bool_t CompareBinning(TH1 * h1, TH1 * h2) ; |
e678600d |
48 | |
49 | virtual void Print (const Option_t * opt = "") const { fHistos->Print(opt); } |
50 | |
51 | // Browsable |
52 | virtual Bool_t IsFolder() const { return kTRUE; } |
53 | void Browse(TBrowser *b); |
54 | |
e3c81f72 |
55 | static const char * fgkDetectorNames[] ; // Detector tags |
56 | static const char * fgkPidTypeNames[] ; // Name of the PID technique |
57 | static const char * fgkChargeTags[] ; // tags for charges |
58 | static const char * fgkParticleNames[] ; // Particle tags |
e678600d |
59 | |
60 | |
61 | private: |
62 | AliOADBPWG2Spectra(const AliOADBPWG2Spectra& cont); |
63 | AliOADBPWG2Spectra& operator=(const AliOADBPWG2Spectra& cont); |
64 | |
65 | private : |
66 | |
67 | TList * fHistos; // List containtig all the histograms |
e678600d |
68 | |
e3c81f72 |
69 | ClassDef(AliOADBPWG2Spectra, 2); |
e678600d |
70 | }; |
71 | |
72 | #endif |