]>
Commit | Line | Data |
---|---|---|
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(); |
24 | AliOADBPWG2Spectra(char* name); | |
25 | virtual ~AliOADBPWG2Spectra(); | |
26 | ||
27 | void Init(); | |
28 | ||
29 | static const char * GetOADBPWG2SpectraFileName(); | |
30 | const char * GetHistoName(EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, | |
31 | EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1) ; | |
32 | void AddHisto(TH1D * h, EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, | |
33 | EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1) ; | |
34 | TH1D * GetHisto(EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, | |
35 | EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1); | |
36 | TH1D * BookHisto(EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, | |
37 | EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1) ; | |
38 | ||
68037533 | 39 | TH1D * GetHistoStandardBinning(const TH1D* h, EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, |
40 | EPWG2SpectraCharge charge, const char * centrTag, Int_t centrBin) ; | |
41 | ||
42 | Bool_t CompareBinning(TH1 * h1, TH1 * h2) ; | |
e678600d | 43 | |
44 | virtual void Print (const Option_t * opt = "") const { fHistos->Print(opt); } | |
45 | ||
46 | // Browsable | |
47 | virtual Bool_t IsFolder() const { return kTRUE; } | |
48 | void Browse(TBrowser *b); | |
49 | ||
50 | ||
51 | ||
52 | private: | |
53 | AliOADBPWG2Spectra(const AliOADBPWG2Spectra& cont); | |
54 | AliOADBPWG2Spectra& operator=(const AliOADBPWG2Spectra& cont); | |
55 | ||
56 | private : | |
57 | ||
58 | TList * fHistos; // List containtig all the histograms | |
59 | static const char * fDetectorNames[] ; // Detector tags | |
60 | static const char * fPidTypeNames[] ; // Name of the PID technique | |
61 | static const char * fChargeTags[] ; // tags for charges | |
62 | static const char * fParticleNames[] ; // Particle tags | |
63 | ||
64 | ClassDef(AliOADBPWG2Spectra, 1); | |
65 | }; | |
66 | ||
67 | #endif |