]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
some bug fixes
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Jun 2006 14:33:39 +0000 (14:33 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Jun 2006 14:33:39 +0000 (14:33 +0000)
updated drawPlots macro

PWG0/dNdEta/AlidNdEtaAnalysisESDSelector.cxx
PWG0/dNdEta/AlidNdEtaAnalysisMCSelector.cxx
PWG0/dNdEta/AlidNdEtaCorrectionSelector.cxx
PWG0/dNdEta/dNdEtaAnalysis.cxx
PWG0/dNdEta/drawPlots.C
PWG0/dNdEta/makeCorrection2.C

index 3ea1ea7501b02b08b8b6d2c7e6086784825d70b2..b91c426bd2cc9d45b466c7e90397c508e8371683 100644 (file)
@@ -32,7 +32,7 @@ AlidNdEtaAnalysisESDSelector::AlidNdEtaAnalysisESDSelector() :
   // Constructor. Initialization of pointers
   //
 
-  AliLog::SetClassDebugLevel("AlidNdEtaAnalysisESDSelector", AliLog::kDebug);
+  //AliLog::SetClassDebugLevel("AlidNdEtaAnalysisESDSelector", AliLog::kDebug);
 }
 
 AlidNdEtaAnalysisESDSelector::~AlidNdEtaAnalysisESDSelector()
@@ -242,6 +242,10 @@ void AlidNdEtaAnalysisESDSelector::Terminate()
     return;
   }
 
+  fdNdEtaAnalysis->Finish(fdNdEtaCorrection, 0.3);
+  fdNdEtaAnalysisMB->Finish(fdNdEtaCorrection, 0.3);
+  fdNdEtaAnalysisMBVtx->Finish(fdNdEtaCorrection, 0.3);
+
   TFile* fout = new TFile("analysis_esd.root","RECREATE");
 
   if (fdNdEtaAnalysis)
index 7165dceec3c8ae8db3759a26d939b6077cef1195..763df03a8a1d7a9e7ca16e0e3002d59cb49b54e8 100644 (file)
@@ -163,6 +163,8 @@ void AlidNdEtaAnalysisMCSelector::Terminate()
     return;
   }
 
+  fdNdEtaAnalysis->Finish(0, -1);
+
   TFile* fout = new TFile("analysis_mc.root","RECREATE");
 
   fdNdEtaAnalysis->SaveHistograms();
index 9f37e7c0883fa2e1e82aa2644f1493c26d6dbf85..247262d263f09d34ec0d639a028ccd58abde7b56 100644 (file)
@@ -111,15 +111,7 @@ Bool_t AlidNdEtaCorrectionSelector::Process(Long64_t entry)
     return kFALSE;
   }
 
-  AliRunLoader* runLoader = GetRunLoader();
-  if (!runLoader)
-  {
-    AliDebug(AliLog::kError, "RunLoader not available");
-    return kFALSE;
-  }
-
-  runLoader->LoadKinematics();
-  AliStack* stack = runLoader->Stack();
+  AliStack* stack = GetStack();
   if (!stack)
   {
     AliDebug(AliLog::kError, "Stack not available");
index da5f30766396bc8f9da320d24fa4721db96b0fcf..3e2628fe855c0763d07d2e2213317a897d04ea25 100644 (file)
@@ -74,9 +74,9 @@ dNdEtaAnalysis::dNdEtaAnalysis(Char_t* name, Char_t* title) :
 
   fPtDist = dynamic_cast<TH1D*> (fData->Project3D("z"));
   fPtDist->SetName(Form("%s_pt", name));
-  fPtDist->SetTitle("p_{T}");
+  fPtDist->SetTitle("p_{T} [GeV/c]");
   fPtDist->GetXaxis()->SetTitle(fData->GetZaxis()->GetTitle());
-  fPtDist->SetYTitle("#frac{1}{p_{T}} #frac{dN}{d#eta dp_{T}}");
+  fPtDist->SetYTitle("#frac{dN}{d#eta dp_{T}} [c/GeV]");
 
   fData->Sumw2();
   fVtx->Sumw2();
@@ -237,8 +237,8 @@ void dNdEtaAnalysis::Finish(AlidNdEtaCorrection* correction, Float_t ptCut)
     return;
   }
 
-  new TCanvas;
-  vtxVsEta->Draw("COLZ");
+  //new TCanvas;
+  //vtxVsEta->Draw("COLZ");
 
   for (Int_t iEta=0; iEta<=vtxVsEta->GetNbinsY(); iEta++)
   {
@@ -326,11 +326,16 @@ void dNdEtaAnalysis::SaveHistograms()
   else
     printf("dNdEtaAnalysis::SaveHistograms: UNEXPECTED: fDataUncorrected is 0\n");
 
-  if (fData)
+  if (fVtx)
     fVtx       ->Write();
   else
     printf("dNdEtaAnalysis::SaveHistograms: UNEXPECTED: fVtx is 0\n");
 
+  if (fPtDist)
+    fPtDist       ->Write();
+  else
+    printf("dNdEtaAnalysis::SaveHistograms: UNEXPECTED: fPtDist is 0\n");
+
   for (Int_t i=0; i<kVertexBinning; ++i)
   {
     if (fdNdEta[i])
index 6495e984600cef94d91a0a31e65b8e10d4db6ded..d6db8669f7be1a47380a0fe6054a72eab97759d0 100644 (file)
@@ -2,6 +2,111 @@
 
 void drawPlots()
 {
+  ptCutoff();
+  TriggerBias();
+  VtxRecon();
+  Track2Particle2D();
+  Track2Particle3D();
+  ptSpectrum();
+  dNdEta();
+}
+
+void dNdEta()
+{
+  TFile* file = TFile::Open("analysis_esd.root");
+  TH1* histESD = file->Get("dndeta/dndeta_dNdEta_corrected_2");
+  TH1* histESDNoPt = file->Get("dndeta/dndeta_dNdEta_2");
+  TH1* histESDMB = file->Get("dndeta_mb/dndeta_mb_dNdEta_corrected_2");
+  TH1* histESDMBVtx = file->Get("dndeta_mbvtx/dndeta_mbvtx_dNdEta_corrected_2");
+
+  TCanvas* canvas = new TCanvas("dNdEta1", "dNdEta1", 500, 500);
+
+  Prepare1DPlot(histESD);
+  Prepare1DPlot(histESDNoPt);
+  Prepare1DPlot(histESDMB);
+  Prepare1DPlot(histESDMBVtx);
+
+  histESD->SetLineColor(kRed);
+  histESDMB->SetLineColor(kBlue);
+  histESDMBVtx->SetLineColor(103);
+
+  TH2F* dummy = new TH2F("dummy", "", 100, -1.5, 1.5, 100, 0, histESDMBVtx->GetMaximum() * 1.1);
+  dummy->SetStats(kFALSE);
+  dummy->SetXTitle("#eta");
+  dummy->SetYTitle("dN/d#eta");
+
+  histESDMBVtx->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
+  histESDMB->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
+  histESD->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
+  histESDNoPt->GetXaxis()->SetRangeUser(-0.7999, 0.7999);
+
+  dummy->Draw();
+  histESDMBVtx->Draw("SAME");
+  histESDMB->Draw("SAME");
+  histESD->Draw("SAME");
+
+  canvas->SaveAs("dNdEta1.gif");
+
+  TFile* file2 = TFile::Open("analysis_mc.root");
+  TH1* histMC = file2->Get("dndeta/dndeta_dNdEta_corrected_2")->Clone("cloned");
+
+  gSystem->Load("libPWG0base");
+  fdNdEtaAnalysis = new dNdEtaAnalysis("dndeta", "dndeta");
+  fdNdEtaAnalysis->LoadHistograms();
+  fdNdEtaAnalysis->Finish(0, 0.3);
+  TH1* histMCPtCut = fdNdEtaAnalysis->GetdNdEtaHistogram(2);
+
+  TCanvas* canvas2 = new TCanvas("dNdEta2", "dNdEta2", 500, 500);
+
+  Prepare1DPlot(histMC);
+  Prepare1DPlot(histMCPtCut);
+
+  histMC->SetLineColor(kBlue);
+  histMCPtCut->SetLineColor(104);
+  histESDNoPt->SetLineColor(102);
+
+  TH2* dummy2 = dummy->Clone("dummy2");
+  dummy2->GetYaxis()->SetRangeUser(0, histESD->GetMaximum() * 1.1);
+
+  dummy2->Draw();
+  histMC->Draw("SAME");
+//  histMC->Draw();
+  histESD->Draw("SAME");
+  histESDNoPt->Draw("SAME");
+  histMCPtCut->Draw("SAME");
+
+  canvas2->SaveAs("dNdEta2.gif");
+}
+
+void ptSpectrum()
+{
+  TFile* file = TFile::Open("analysis_esd.root");
+  TH1* histESD = file->Get("dndeta/dndeta_pt");
+
+  TFile* file2 = TFile::Open("analysis_mc.root");
+  TH1* histMC = file2->Get("dndeta/dndeta_pt");
+
+  TCanvas* canvas = new TCanvas("ptSpectrum", "ptSpectrum", 500, 500);
+  InitPad();
+  gPad->SetLogy();
+
+  Prepare1DPlot(histMC);
+  Prepare1DPlot(histESD);
+
+  histESD->SetTitle("");
+
+  histMC->SetLineColor(kBlue);
+  histESD->SetLineColor(kRed);
+
+  histESD->GetYaxis()->SetTitleOffset(1.5);
+  histESD->GetXaxis()->SetRangeUser(0, 4.9999);
+
+  histESD->SetMaximum(TMath::Max(histESD->GetMaximum(), histMC->GetMaximum()) * 2);
+
+  histESD->Draw();
+  histMC->Draw("SAME");
+
+  canvas->SaveAs("ptSpectrum.gif");
 }
 
 void ptCutoff()
@@ -17,15 +122,16 @@ void ptCutoff()
 
   hist->GetXaxis()->SetRangeUser(0, 0.9999);
   hist->SetMinimum(0);
-  hist->SetStats(kFALSE);
 
   hist->SetTitle("Generated Particles");
+  Prepare1DPlot(hist);
 
   TCanvas* canvas = new TCanvas("ptCutoff", "ptCutoff", 500, 500);
   hist->Draw();
 
-  TLine* line = new TLine(0.3, 0 - hist->GetMaximum() * 0.05, 0.3, hist->GetMaximum() * 1.1);
+  TLine* line = new TLine(0.3, 0 - hist->GetMaximum() * 0, 0.3, hist->GetMaximum() * 1.1);
   line->SetLineWidth(3);
+  line->SetLineColor(kRed);
   line->Draw();
 
   canvas->SaveAs("ptCutoff.gif");
@@ -75,9 +181,9 @@ void Track2Particle2D()
 {
   TFile* file = TFile::Open("correction_map.root");
 
-  TH2* corrYX = dynamic_cast<TH2*> (file->Get("dndeta_correction/meas_nTrackToNPart_yx_div_gene_nTrackToNPart_yx"));
-  TH2* corrZX = dynamic_cast<TH2*> (file->Get("dndeta_correction/meas_nTrackToNPart_zx_div_gene_nTrackToNPart_zx"));
-  TH2* corrZY = dynamic_cast<TH2*> (file->Get("dndeta_correction/meas_nTrackToNPart_zy_div_gene_nTrackToNPart_zy"));
+  TH2* corrYX = dynamic_cast<TH2*> (file->Get("dndeta_correction/gene_nTrackToNPart_yx_div_meas_nTrackToNPart_yx"));
+  TH2* corrZX = dynamic_cast<TH2*> (file->Get("dndeta_correction/gene_nTrackToNPart_zx_div_meas_nTrackToNPart_zx"));
+  TH2* corrZY = dynamic_cast<TH2*> (file->Get("dndeta_correction/gene_nTrackToNPart_zy_div_meas_nTrackToNPart_zy"));
 
   Prepare2DPlot(corrYX);
   Prepare2DPlot(corrZX);
@@ -88,7 +194,7 @@ void Track2Particle2D()
   corrZX->SetTitle(title);
   corrZY->SetTitle(title);
 
-  TCanvas* canvas = new TCanvas("Track2Particle2D", "Track2Particle2D", 1500, 500);
+  TCanvas* canvas = new TCanvas("Track2Particle2D", "Track2Particle2D", 1200, 400);
   canvas->Divide(3, 1);
 
   canvas->cd(1);
@@ -112,6 +218,28 @@ void Track2Particle3D()
 
   TFile* file = TFile::Open("correction_map.root");
 
+  TH3* corr = dynamic_cast<TH3*> (file->Get("dndeta_correction/corr_nTrackToNPart"));
+
+  corr->SetTitle("Correction Factor");
+  SetRanges(corr->GetZaxis());
+
+  Prepare3DPlot(corr);
+
+  TCanvas* canvas = new TCanvas("Track2Particle3D", "Track2Particle3D", 500, 500);
+  canvas->SetTheta(29.428);
+  canvas->SetPhi(16.5726);
+
+  corr->Draw();
+
+  canvas->SaveAs("Track2Particle3D.gif");
+}
+
+void Track2Particle3DAll()
+{
+  // get left margin proper
+
+  TFile* file = TFile::Open("correction_map.root");
+
   TH3* gene = dynamic_cast<TH3*> (file->Get("dndeta_correction/gene_nTrackToNPart"));
   TH3* meas = dynamic_cast<TH3*> (file->Get("dndeta_correction/meas_nTrackToNPart"));
   TH3* corr = dynamic_cast<TH3*> (file->Get("dndeta_correction/corr_nTrackToNPart"));
@@ -124,7 +252,7 @@ void Track2Particle3D()
   Prepare3DPlot(meas);
   Prepare3DPlot(corr);
 
-  TCanvas* canvas = new TCanvas("Track2Particle3D", "Track2Particle3D", 1500, 500);
+  TCanvas* canvas = new TCanvas("Track2Particle3DAll", "Track2Particle3DAll", 1200, 400);
   canvas->Divide(3, 1);
 
   canvas->cd(1);
@@ -136,6 +264,8 @@ void Track2Particle3D()
 
   canvas->cd(3);
   corr->Draw();
+
+  canvas->SaveAs("Track2Particle3DAll.gif");
 }
 
 void SetRanges(TH1* hist)
@@ -148,11 +278,11 @@ void SetRanges(TH1* hist)
 void SetRanges(TAxis* axis)
 {
   if (strcmp(axis->GetTitle(), "#eta") == 0)
-    axis->SetRangeUser(-0.8, 0.79999);
+    axis->SetRangeUser(-1.7999, 1.7999);
   if (strcmp(axis->GetTitle(), "p_{T} [GeV/c]") == 0)
     axis->SetRangeUser(0, 9.9999);
   if (strcmp(axis->GetTitle(), "vtx z [cm]") == 0)
-    axis->SetRangeUser(-10, 9.9999);
+    axis->SetRangeUser(-15, 14.9999);
   if (strcmp(axis->GetTitle(), "Ntracks") == 0)
     axis->SetRangeUser(0, 99.9999);
 }
@@ -162,6 +292,8 @@ void Prepare3DPlot(TH3* hist)
   hist->GetXaxis()->SetTitleOffset(1.5);
   hist->GetYaxis()->SetTitleOffset(1.5);
   hist->GetZaxis()->SetTitleOffset(1.5);
+
+  hist->SetStats(kFALSE);
 }
 
 void Prepare2DPlot(TH2* hist)
@@ -175,21 +307,30 @@ void Prepare2DPlot(TH2* hist)
   SetRanges(hist);
 }
 
+void Prepare1DPlot(TH1* hist)
+{
+  hist->SetLineWidth(2);
+  hist->SetStats(kFALSE);
+}
+
 void InitPad()
 {
   gPad->Range(0, 0, 1, 1);
-  gPad->SetLeftMargin(0);
-  gPad->SetRightMargin(0.05);
-  gPad->SetTopMargin(0.13);
-  gPad->SetBottomMargin(0.1);
+  gPad->SetLeftMargin(0.15);
+  //gPad->SetRightMargin(0.05);
+  //gPad->SetTopMargin(0.13);
+  //gPad->SetBottomMargin(0.1);
 
-  gPad->SetGridx();
-  gPad->SetGridy();
+  //gPad->SetGridx();
+  //gPad->SetGridy();
 }
 
 void InitPadCOLZ()
-{  
+{
   gPad->Range(0, 0, 1, 1);
   gPad->SetRightMargin(0.15);
   gPad->SetLeftMargin(0.12);
+
+  gPad->SetGridx();
+  gPad->SetGridy();
 }
index cfee4db254de270d54ead48cb2e724fe78058b17..5da9f38d605d03dc1e71f575cbe52885e82d990b 100644 (file)
@@ -30,6 +30,7 @@ void makeCorrection2(Char_t* dataDir, Int_t nRuns=20, Int_t offset = 0, Bool_t d
   chain->GetUserInfo()->Add(fEsdTrackCuts);
 
   AliLog::SetClassDebugLevel("AlidNdEtaCorrectionSelector", AliLog::kInfo);
+  AliLog::SetClassDebugLevel("AliSelectorRL", AliLog::kInfo);
 
   TString selector("AlidNdEtaCorrectionSelector.cxx+");
   if (debug != kFALSE)