added correction for events with vertex but 0 tracks
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaCorrection.h
index 71c740cd4effdcc8e7c141ad9a97f08b26cc3509..c56c95f2401eb60b7291c2712c21b579acda942f 100644 (file)
 // - update MERge function
 //
 
+#include <TCollection.h>
 #include <TNamed.h>
+#include "AliPWG0Helper.h"
 
 class AliCorrection;
+class TH1;
 
 class AlidNdEtaCorrection : public TNamed
 {
 public:
   enum CorrectionType {
-    kNone,
+    kNone = 0,
     kTrack2Particle,  // measured events
     kVertexReco,      // MB sample
     kINEL,
@@ -35,7 +38,7 @@ public:
   };
 
   AlidNdEtaCorrection();
-  AlidNdEtaCorrection(const Char_t* name, const Char_t* title);
+  AlidNdEtaCorrection(const Char_t* name, const Char_t* title, AliPWG0Helper::AnalysisMode analysis = AliPWG0Helper::kTPC);
 
   virtual Long64_t Merge(TCollection* list);
 
@@ -52,12 +55,18 @@ public:
   AliCorrection* GetTriggerBiasCorrectionINEL() {return fTriggerBiasCorrectionMBToINEL;}
   AliCorrection* GetTriggerBiasCorrectionNSD()  {return fTriggerBiasCorrectionMBToNSD;}
   AliCorrection* GetTriggerBiasCorrectionND()   {return fTriggerBiasCorrectionMBToND;}
+  AliCorrection* GetCorrection(CorrectionType correctionType);
+
+  void    Reset(void);
+  void    Add(AlidNdEtaCorrection* aCorrectionsToAdd, Float_t c=1);
 
   void    SaveHistograms();
   Bool_t  LoadHistograms(const Char_t* dir = 0);
-  void DrawHistograms();
+  void    DrawHistograms();
+  void    DrawOverview(const char* canvasName = 0);
 
   Float_t GetMeasuredFraction(CorrectionType correctionType, Float_t ptCutOff, Float_t eta = -100, Bool_t debug = kFALSE);
+  TH1*    GetMeasuredEventFraction(CorrectionType correctionType, Int_t multCut);
 
   void ReduceInformation();