]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/dNdEta/AlidNdEtaCorrection.h
Macro for the centralized PWG2 train
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaCorrection.h
index c56c95f2401eb60b7291c2712c21b579acda942f..980a5a7808b450002b7b299a5403504bfb6a3c19 100644 (file)
@@ -11,9 +11,6 @@
 // ------------------------------------------------------
 //
 // TODO:
-// - make the ntrack to npart correction 3D
-// - add documentation
-// - add status: generate or use maps
 // - add functionality to set the bin sizes
 // - update MERge function
 //
@@ -34,18 +31,19 @@ public:
     kVertexReco,      // MB sample
     kINEL,
     kNSD,
-    kND
+    kND,
+    kOnePart
   };
 
   AlidNdEtaCorrection();
-  AlidNdEtaCorrection(const Char_t* name, const Char_t* title, AliPWG0Helper::AnalysisMode analysis = AliPWG0Helper::kTPC);
+  AlidNdEtaCorrection(const Char_t* name, const Char_t* title, AliPWG0Helper::AnalysisMode analysis = (AliPWG0Helper::AnalysisMode) (AliPWG0Helper::kTPC | AliPWG0Helper::kFieldOn));
 
   virtual Long64_t Merge(TCollection* list);
 
   ~AlidNdEtaCorrection();
 
   void FillMCParticle(Float_t vtx, Float_t eta, Float_t pt, Bool_t trigger, Bool_t vertex, Int_t processType);
-  void FillTrackedParticle(Float_t vtx, Float_t eta, Float_t pt);
+  void FillTrackedParticle(Float_t vtx, Float_t eta, Float_t pt, Double_t weight=1.);
   void FillEvent(Float_t vtx, Float_t n, Bool_t trigger, Bool_t vertex, Int_t processType);
 
   void Finish();
@@ -55,20 +53,22 @@ public:
   AliCorrection* GetTriggerBiasCorrectionINEL() {return fTriggerBiasCorrectionMBToINEL;}
   AliCorrection* GetTriggerBiasCorrectionNSD()  {return fTriggerBiasCorrectionMBToNSD;}
   AliCorrection* GetTriggerBiasCorrectionND()   {return fTriggerBiasCorrectionMBToND;}
+  AliCorrection* GetTriggerBiasCorrectionOnePart()   {return fTriggerBiasCorrectionMBToOnePart;}
   AliCorrection* GetCorrection(CorrectionType correctionType);
 
   void    Reset(void);
   void    Add(AlidNdEtaCorrection* aCorrectionsToAdd, Float_t c=1);
+  void    Scale(Float_t c);
 
   void    SaveHistograms();
   Bool_t  LoadHistograms(const Char_t* dir = 0);
   void    DrawHistograms();
   void    DrawOverview(const char* canvasName = 0);
 
-  Float_t GetMeasuredFraction(CorrectionType correctionType, Float_t ptCutOff, Float_t eta = -100, Bool_t debug = kFALSE);
+  Float_t GetMeasuredFraction(CorrectionType correctionType, Float_t ptCutOff, Float_t eta = -100, Int_t vertexBegin = -1, Int_t vertexEnd = -1, Bool_t debug = kFALSE);
   TH1*    GetMeasuredEventFraction(CorrectionType correctionType, Int_t multCut);
 
-  void ReduceInformation();
+  void    ReduceInformation();
 
 protected:
   AliCorrection* fTrack2ParticleCorrection;       //-> handles the track-to-particle correction (only track level (vtx_z, eta, pt))
@@ -76,12 +76,13 @@ protected:
   AliCorrection* fTriggerBiasCorrectionMBToINEL;  //-> handles the trigger bias MB->INEL, function of n and vtx_z
   AliCorrection* fTriggerBiasCorrectionMBToNSD;   //-> handles the trigger bias MB->NSD,  function of n and vtx_z
   AliCorrection* fTriggerBiasCorrectionMBToND;    //-> handles the trigger bias MB->ND,   function of n and vtx_z
+  AliCorrection* fTriggerBiasCorrectionMBToOnePart;    //-> handles the trigger bias MB->OnePart,   function of n and vtx_z
 
 private:
   AlidNdEtaCorrection(const AlidNdEtaCorrection&);
   AlidNdEtaCorrection& operator=(const AlidNdEtaCorrection&);
 
-  ClassDef(AlidNdEtaCorrection, 1)
+  ClassDef(AlidNdEtaCorrection, 2)
 };
 
 #endif