]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/dNdEta/AlidNdEtaCorrection.cxx
new way of creating the corrections: 3d as function of eta, vtx_z and pt
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaCorrection.cxx
index 6ee954af73b6beac66362789ef1be7d82b4a5cad..a69b24467e88be2ce5666bdc292f43157a6ddef5 100644 (file)
@@ -3,47 +3,50 @@
 #include "AlidNdEtaCorrection.h"
 
 #include <TCanvas.h>
+#include <TH2F.h>
 
 //____________________________________________________________________
 ClassImp(AlidNdEtaCorrection)
 
 //____________________________________________________________________
 AlidNdEtaCorrection::AlidNdEtaCorrection(Char_t* name) 
-  : TNamed(name, name)
+  : TNamed(name, name),
+  fNEvents(0),
+  fNTriggeredEvents(0)
 {  
   // constructor
   //
 
-  fNtrackToNparticleCorrection = new CorrectionMatrix2D("nTrackToNPart", "nTrackToNPart",80,-20,20,120,-6,6);
+  fTrack2ParticleCorrection = new AliCorrectionMatrix3D("nTrackToNPart", "nTrackToNPart",80,-20,20,120,-6,6, 100, 0, 10);
 
   Float_t binLimitsN[]   = {-0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 
                            10.5, 12.5, 14.5, 16.5, 18.5, 20.5, 25.5, 30.5, 40.5, 50.5, 100.5, 300.5};
   Float_t binLimitsVtx[] = {-20,-15,-10,-6,-3,0,3,6,10,15,20};
   
-  fVertexRecoCorrection        = new CorrectionMatrix2D("vtxReco",       "vtxReco",10,binLimitsVtx ,22,binLimitsN);
+  fVertexRecoCorrection        = new AliCorrectionMatrix2D("vtxReco",       "vtxReco",10,binLimitsVtx ,22,binLimitsN);
 
-  fTriggerBiasCorrection       = new CorrectionMatrix2D("triggerBias",   "triggerBias",120,-6,6,100, 0, 10);
+  fTriggerBiasCorrection       = new AliCorrectionMatrix2D("triggerBias",   "triggerBias",120,-6,6,100, 0, 10);
 
-  fNtrackToNparticleCorrection ->SetAxisTitles("vtx z [cm]", "#eta");
+  fTrack2ParticleCorrection ->SetAxisTitles("vtx z [cm]", "#eta", "p_{T}");
   fVertexRecoCorrection        ->SetAxisTitles("vtx z [cm]", "n particles/tracks/tracklets?");
-  
+
   fTriggerBiasCorrection       ->SetAxisTitles("#eta", "p_{T} [GeV/c]");
 }
 
 //____________________________________________________________________
 void
-AlidNdEtaCorrection::Finish(Int_t nEventsAll, Int_t nEventsTriggered) {  
+AlidNdEtaCorrection::Finish() {
   //
   // finish method
   //
-  // divide the histograms in the CorrectionMatrix2D objects to get the corrections
+  // divide the histograms in the AliCorrectionMatrix2D objects to get the corrections
 
-  
-  fNtrackToNparticleCorrection->Divide();
+
+  fTrack2ParticleCorrection->Divide();
 
   fVertexRecoCorrection->Divide();
 
-  fTriggerBiasCorrection->GetMeasuredHistogram()->Scale(Double_t(nEventsTriggered)/Double_t(nEventsAll));
+  fTriggerBiasCorrection->GetMeasuredHistogram()->Scale(Double_t(fNTriggeredEvents)/Double_t(fNEvents));
   fTriggerBiasCorrection->Divide();
 
 }
@@ -76,13 +79,13 @@ AlidNdEtaCorrection::Merge(TCollection* list) {
     if (entry == 0) 
       continue;
 
-    collectionNtrackToNparticle ->Add(entry->GetNtrackToNpraticleCorrection());
+    collectionNtrackToNparticle ->Add(entry->GetTrack2ParticleCorrection());
     collectionVertexReco        ->Add(entry->GetVertexRecoCorrection());
     collectionTriggerBias        ->Add(entry->GetTriggerBiasCorrection());
 
     count++;
   }
-  fNtrackToNparticleCorrection ->Merge(collectionNtrackToNparticle);
+  fTrack2ParticleCorrection ->Merge(collectionNtrackToNparticle);
   fVertexRecoCorrection        ->Merge(collectionVertexReco);
   fTriggerBiasCorrection        ->Merge(collectionTriggerBias);
   
@@ -101,7 +104,7 @@ AlidNdEtaCorrection::LoadHistograms(Char_t* fileName, Char_t* dir) {
   // loads the histograms
   //
 
-  fNtrackToNparticleCorrection ->LoadHistograms(fileName, dir);
+  fTrack2ParticleCorrection ->LoadHistograms(fileName, dir);
   fVertexRecoCorrection        ->LoadHistograms(fileName, dir);
   fTriggerBiasCorrection       ->LoadHistograms(fileName, dir);
   
@@ -119,7 +122,7 @@ AlidNdEtaCorrection::SaveHistograms() {
   gDirectory->mkdir(fName.Data());
   gDirectory->cd(fName.Data());
 
-  fNtrackToNparticleCorrection ->SaveHistograms();
+  fTrack2ParticleCorrection ->SaveHistograms();
   fVertexRecoCorrection        ->SaveHistograms();
   fTriggerBiasCorrection       ->SaveHistograms();
 
@@ -130,11 +133,10 @@ AlidNdEtaCorrection::SaveHistograms() {
 void AlidNdEtaCorrection::DrawHistograms()
 {
   //
-  // call the draw histogram method of the two CorrectionMatrix2D objects
+  // call the draw histogram method of the two AliCorrectionMatrix2D objects
 
-  fNtrackToNparticleCorrection ->DrawHistograms();
+  fTrack2ParticleCorrection ->DrawHistograms();
   fVertexRecoCorrection        ->DrawHistograms();
   fTriggerBiasCorrection       ->DrawHistograms();
 
-  
 }