]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - OADB/AliOADBPWG2Spectra.h
OADB for spectra
[u/mrichter/AliRoot.git] / OADB / AliOADBPWG2Spectra.h
diff --git a/OADB/AliOADBPWG2Spectra.h b/OADB/AliOADBPWG2Spectra.h
new file mode 100644 (file)
index 0000000..f89c8ba
--- /dev/null
@@ -0,0 +1,63 @@
+#ifndef AliOADBPWG2Spectra_H
+#define AliOADBPWG2Spectra_H
+
+//-------------------------------------------------------------------------
+//     OADB interface for the PWG2 spectra
+//     Author: Michele Floris, CERN
+//    
+// -------------------------------------------------------------------------
+#include "TNamed.h"
+#include "TList.h"
+
+class TList;
+class TH1D;
+
+class AliOADBPWG2Spectra : public TNamed {
+
+ public :
+
+  enum EPWG2SpectraDetector { kITSsa=0, kITSTPC, kTPC, kTOF, kTOFTPC, kNDetectors };
+  enum EPWG2SpectraPIDType  { kGaussFit=0, kNSigma, kBayes, kKinks, kNPIDTypes };
+  enum EPWG2SpectraCharge   { kPos=0, kNeg, kNCharge };
+  enum EPWG2SpectraParticle { kPion = 0, kKaon, kProton };
+  AliOADBPWG2Spectra();
+  AliOADBPWG2Spectra(char* name);
+  virtual ~AliOADBPWG2Spectra();
+
+  void Init();
+
+  static const char * GetOADBPWG2SpectraFileName();
+  const char * GetHistoName(EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, 
+                                  EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1) ;
+  void AddHisto(TH1D * h, EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, 
+                 EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1) ;
+  TH1D * GetHisto(EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, 
+                 EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1);
+  TH1D * BookHisto(EPWG2SpectraDetector det, EPWG2SpectraPIDType pidType, EPWG2SpectraParticle part, 
+                  EPWG2SpectraCharge charge, const char * centrTag = 0, Int_t centrBin = -1) ;
+    
+
+  virtual void Print (const Option_t * opt = "") const  { fHistos->Print(opt); }
+
+// Browsable
+  virtual Bool_t       IsFolder() const { return kTRUE; }
+  void Browse(TBrowser *b);
+
+  
+
+ private:
+  AliOADBPWG2Spectra(const AliOADBPWG2Spectra& cont); 
+  AliOADBPWG2Spectra& operator=(const AliOADBPWG2Spectra& cont);
+
+ private :
+  
+  TList * fHistos; // List containtig all the histograms
+  static const char * fDetectorNames[] ; // Detector tags
+  static const char * fPidTypeNames[]  ; // Name of the PID technique
+  static const char * fChargeTags[]    ; // tags for charges
+  static const char * fParticleNames[] ; // Particle tags
+
+  ClassDef(AliOADBPWG2Spectra, 1);
+};
+
+#endif