]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/SPECTRA/PiKaPr/TestAOD/HighLevelQA/CheckEfficiencies.C
Split: removed dirs now in AliPhysics
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / HighLevelQA / CheckEfficiencies.C
diff --git a/PWGLF/SPECTRA/PiKaPr/TestAOD/HighLevelQA/CheckEfficiencies.C b/PWGLF/SPECTRA/PiKaPr/TestAOD/HighLevelQA/CheckEfficiencies.C
deleted file mode 100644 (file)
index 67b4fae..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/////////////////////////////////////////////////////////////////////
-// CheckEfficiencies.C (called by AODQAChecks.C)                   //
-//                                                                 //
-// Written by John Groh                                            //
-/////////////////////////////////////////////////////////////////////
-
-void CheckEfficiencies(AliSpectraAODHistoManager * hman,
-                      TCanvas*& cEfficienciesAllRuns,
-                      TH1F*& EfficiencyPiPlus,
-                      TH1F*& EfficiencyKPlus,
-                      TH1F*& EfficiencyProton,
-                      TH1F*& EfficiencyPiMinus,
-                      TH1F*& EfficiencyKMinus,
-                      TH1F*& EfficiencyAntiproton,
-                      Float_t FixedPtEff,
-                      Int_t runs[],
-                      Int_t nRuns,
-                      Int_t irun)
-{
-  // canvas for printing individual runs seperately to Efficiencies.pdf
-  TCanvas * cEfficienciesIndiv = new TCanvas("cEfficienciesIndiv","cEfficienciesIndiv");
-  cEfficienciesIndiv->Divide(3,2);
-
-  // calculate correction factors
-  TH1F * CorrFact[nCharge*nPart];
-  TLegend * lEfficiencyAllRuns[nCharge*nPart];
-  for (Int_t icharge=0; icharge<nCharge; icharge++)
-    {
-      for (Int_t ipart=0; ipart<nPart; ipart++)
-       {
-         // get recreated histo and format it
-         Int_t index = ipart + nPart*icharge;
-         TString hname = Form("hHistPtRecSigma%s%s",Particle[ipart].Data(),Sign[icharge].Data());
-         CorrFact[index] = (TH1F*)((TH1F*)hman->GetPtHistogram1D(hname.Data(),-1,-1))->Clone();
-         CorrFact[index]->SetName(Form("CorrFact_%s%s",Particle[ipart].Data(),Sign[icharge].Data()));
-         CorrFact[index]->SetTitle(Form("CorrFact_%s%s",Particle[ipart].Data(),Sign[icharge].Data()));
-         CorrFact[index]->SetMarkerStyle(Marker[index]);
-         CorrFact[index]->SetMarkerColor(Color[ipart]);
-         CorrFact[index]->SetLineColor(Color[ipart]);
-         CorrFact[index]->SetStats(kFALSE);
-         CorrFact[index]->GetYaxis()->SetTitle("MC Correction Factor");
-
-         // divide it by MC truth histo
-         hname = Form("hHistPtGenTruePrimary%s%s",Particle[ipart].Data(),Sign[icharge].Data());
-         CorrFact[index]->Divide(CorrFact[index],(TH1F*)((TH1F*)hman->GetPtHistogram1D(hname.Data(),-1,-1))->Clone(),1,1,"B"); // binomial error
-         
-         // draw efficiency histos for individual runs
-         cEfficienciesIndiv->cd(index+1);
-         TLegend * lEfficiencyIndiv = new TLegend(.55,.15,.85,.25);
-         lEfficiencyIndiv->AddEntry(CorrFact[index],Form("%s, Run %i",Names[index].Data(), runs[irun]),"lpe");
-         CorrFact[index]->DrawCopy();
-         lEfficiencyIndiv->DrawClone();
-
-         // superimpose efficiency histos on a different canvas for all runs
-         cEfficienciesAllRuns->cd(index+1);
-         if (irun == 0)
-           {
-             CorrFact[index]->DrawCopy(); 
-             lEfficiencyAllRuns[index] = new TLegend(.15,.75,.35,.85);
-             lEfficiencyAllRuns[index]->AddEntry(CorrFact[index],Names[index].Data(),"lpe");
-             lEfficiencyAllRuns[index]->SetFillColor(0);
-             lEfficiencyAllRuns[index]->DrawClone();
-           }
-         else CorrFact[index]->DrawCopy("same");
-
-         // using the values of FixedPtEff for a fixed pt, plot the correction factors vs the run #
-         switch (index)
-           {
-           case 0: // PiPlus
-             EfficiencyPiPlus->SetBinContent(irun+1,CorrFact[index]->GetBinContent(CorrFact[index]->FindBin(FixedPtEff)));
-             EfficiencyPiPlus->SetBinError(irun+1,CorrFact[index]->GetBinError(CorrFact[index]->FindBin(FixedPtEff)));
-             break;
-           case 1: // KPlus
-             EfficiencyKPlus->SetBinContent(irun+1,CorrFact[index]->GetBinContent(CorrFact[index]->FindBin(FixedPtEff)));
-             EfficiencyKPlus->SetBinError(irun+1,CorrFact[index]->GetBinError(CorrFact[index]->FindBin(FixedPtEff)));
-             break;
-           case 2: // Proton
-             EfficiencyProton->SetBinContent(irun+1,CorrFact[index]->GetBinContent(CorrFact[index]->FindBin(FixedPtEff)));
-             EfficiencyProton->SetBinError(irun+1,CorrFact[index]->GetBinError(CorrFact[index]->FindBin(FixedPtEff)));
-             break;
-           case 3: // PiMinus
-             EfficiencyPiMinus->SetBinContent(irun+1,CorrFact[index]->GetBinContent(CorrFact[index]->FindBin(FixedPtEff)));
-             EfficiencyPiMinus->SetBinError(irun+1,CorrFact[index]->GetBinError(CorrFact[index]->FindBin(FixedPtEff)));
-             break;
-           case 4: // KMinus
-             EfficiencyKMinus->SetBinContent(irun+1,CorrFact[index]->GetBinContent(CorrFact[index]->FindBin(FixedPtEff)));
-             EfficiencyKMinus->SetBinError(irun+1,CorrFact[index]->GetBinError(CorrFact[index]->FindBin(FixedPtEff)));
-             break;
-           case 5: // Antiproton
-             EfficiencyAntiproton->SetBinContent(irun+1,CorrFact[index]->GetBinContent(CorrFact[index]->FindBin(FixedPtEff)));
-             EfficiencyAntiproton->SetBinError(irun+1,CorrFact[index]->GetBinError(CorrFact[index]->FindBin(FixedPtEff)));
-             break;
-           default:
-             Printf("\n!!! ERROR in switch statement in CheckEfficiencies.C !!!\n");
-             break;
-           }
-       } // end loop over ipart
-    } // end loop over icharge
-  
-  // save the projections and fits to a pdf file once per run
-  if (irun == 0) cEfficienciesIndiv->SaveAs("Plots/MC/AODEfficiencies.pdf(","pdf");
-  else if (irun < nRuns-1) cEfficienciesIndiv->SaveAs("Plots/MC/AODEfficiencies.pdf","pdf");
-  else if (irun == nRuns-1) cEfficienciesIndiv->SaveAs("Plots/MC/AODEfficiencies.pdf)","pdf");
-   cEfficienciesIndiv->Close();
-
-}
-
-
-
-
-
-
-
-
-
-