]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - prod/acrcaf/qa/qa.C
Prototype of the QA analysis mini-train. It uses AliAnalysisTaskCosmic from PWG1...
[u/mrichter/AliRoot.git] / prod / acrcaf / qa / qa.C
diff --git a/prod/acrcaf/qa/qa.C b/prod/acrcaf/qa/qa.C
new file mode 100644 (file)
index 0000000..9aa8fe3
--- /dev/null
@@ -0,0 +1,308 @@
+void qa(Int_t runNumber) {
+  TStopwatch timer;
+  timer.Start();
+
+  gEnv->SetValue("XSec.GSI.DelegProxy","2");
+  // Select ROOT version
+  TProof::Mgr("aliprod@alicecaf")->SetROOTVersion("v5-24-00b-caf");
+  // Login to CAF
+  TProof::Open("aliprod@alicecaf");
+
+  // Enable AliRoot
+  gProof->UploadPackage("/afs/cern.ch/alice/caf/sw/ALICE/PARs/v4-17-Release.rec/AF-v4-17-rec.par");
+  gProof->EnablePackage("AF-v4-17-rec.par");
+
+  gProof->Load(Form("%s/AliAnalysisTaskCosmic.cxx++g",
+                   gSystem->ExpandPathName("$ALICE_ROOT/PWG1/cosmic"));
+
+  //____________________________________________//
+  // Make the analysis manager
+  AliAnalysisManager *mgr = new AliAnalysisManager("AnalysisQAManager");
+  AliESDInputHandler* esdH = new AliESDInputHandler();
+  mgr->SetInputEventHandler(esdH);  
+  mgr->SetDebugLevel(10);
+
+  //____________________________________________//
+  // 1st Cosmic task
+  AliAnalysisTaskCosmic *task1 = new AliAnalysisTaskCosmic("TaskCosmic");
+  mgr->AddTask(task1);
+
+  // Create containers for input/output
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("chist1",TList::Class(),AliAnalysisManager::kOutputContainer,
+                                                           Form("run%d.root",runNumber));
+
+  //____________________________________________//
+  mgr->ConnectInput  (task1,  0, mgr->GetCommonInputContainer());
+  mgr->ConnectOutput (task1,  1, coutput1);
+  
+  if (!mgr->InitAnalysis()) return;
+  mgr->PrintStatus();
+  mgr->StartAnalysis("proof",
+                    Form("ALIREC/aliprod/run%d",runNumber));
+
+  timer.Stop();
+  timer.Print();
+
+  plot(runNumber);
+}
+
+void plot(Int_t runNumber)
+{
+  TFile* f = new TFile(Form("run%d.root",runNumber), "read");
+
+  // pt, phi ....
+  TCanvas* c1 = new TCanvas("c1", "pt,eta,phi", 10, 10, 1100, 800);
+  c1->Divide(2,2);
+  c1->cd(1);
+  c1->GetPad(1)->SetLogy();
+    
+  fhPtP = (TH1F*) chist1->FindObject("fhPtPC");
+  fhPtP->SetLineColor(2);
+  fhPtP->Draw();
+  fhPtN = (TH1F*) chist1->FindObject("fhPtNC");
+  fhPtN->SetLineColor(4);
+  fhPtN->Draw("same");
+
+  c1->cd(2);
+  fhPhiP = (TH1F*) chist1->FindObject("fhPhiPC");
+  fhPhiP->SetLineColor(2);
+  fhPhiP->Draw();
+  fhPhiN = (TH1F*) chist1->FindObject("fhPhiNC");
+  fhPhiN->SetLineColor(4);
+  fhPhiN->Draw("same");
+
+  c1->cd(3);
+  fhThetaP = (TH1F*) chist1->FindObject("fhThetaPC");
+  fhThetaP->SetLineColor(2);
+  fhThetaP->Draw();
+  fhThetaN = (TH1F*) chist1->FindObject("fhThetaNC");
+  fhThetaN->SetLineColor(4);
+  fhThetaN->Draw("same");
+
+    
+  // delta phi
+  TCanvas* c2 = new TCanvas("c2", "#Delta#phi", 10, 10, 1100, 800);
+  c2->Divide(2,2);
+  // pos/neg charge
+  c2->cd(1);
+  c2->GetPad(1)->SetLogy();
+  fhDPhiP = (TH1F*) chist1->FindObject("fhDPhiPC");
+  fhDPhiN = (TH1F*) chist1->FindObject("fhDPhiNC");
+  fhDPhiP->SetLineColor(2);
+  fhDPhiN->SetLineColor(4);
+  fhDPhiP->SetXTitle("#Delta#phi [rad]");
+  fhDPhiP->Draw();
+  fhDPhiN->Draw("same");
+
+  // pos/neg z
+  c2->cd(2);
+  c2->GetPad(2)->SetLogy();
+
+  fhDPhiZP = (TH1F*) chist1->FindObject("fhDPhiPZ");
+  fhDPhiZN = (TH1F*) chist1->FindObject("fhDPhiNZ");
+  fhDPhiBA = (TH1F*) chist1->FindObject("fhDPhi_Bad");
+  fhDPhiZP->SetLineColor(2);
+  fhDPhiZN->SetLineColor(4);
+  fhDPhiBA->SetLineColor(6);
+
+  fhDPhiZP->SetXTitle("#Delta#phi [rad]");
+  fhDPhiZP->Draw();
+  fhDPhiZN->Draw("same");
+  //  fhDPhiBA->Draw("same");
+
+    
+  // delta theta
+  // pos/neg charge
+  c2->cd(3);
+  c2->GetPad(3)->SetLogy();
+  fhDThetaP = (TH1F*) chist1->FindObject("fhDThetaPC");
+  fhDThetaN = (TH1F*) chist1->FindObject("fhDThetaNC");
+  fhDThetaP->SetLineColor(2);
+  fhDThetaN->SetLineColor(4);
+
+  fhDThetaP->SetXTitle("#Delta#theta [rad]");
+  fhDThetaP->Draw();
+  fhDThetaN->Draw("same");
+
+  // pos/neg z
+  c2->cd(4);
+  c2->GetPad(4)->SetLogy();
+
+  fhDThetaZP = (TH1F*) chist1->FindObject("fhDThetaPZ");
+  fhDThetaZN = (TH1F*) chist1->FindObject("fhDThetaNZ");
+  fhDThetaBA = (TH1F*) chist1->FindObject("fhDTheta_Bad");
+  fhDThetaZP->SetLineColor(2);
+  fhDThetaZN->SetLineColor(4);
+  fhDThetaBA->SetLineColor(6);
+  fhDThetaZP->SetXTitle("#Delta#theta [rad]");
+  fhDThetaZP->Draw();
+
+  fhDThetaZN->Draw("same");
+  //    fhDThetaBA->Draw("same");
+
+    
+  // delta Pt
+  TCanvas* c3 = new TCanvas("c3", "#Delta p_{T}", 10, 10, 1100, 800);
+  c3->Divide(2,2);
+  // pos/neg charge
+  c3->cd(1);
+  c3->GetPad(1)->SetLogy();
+  fhDPtP = (TH1F*) chist1->FindObject("fhDPtPC");
+  fhDPtN = (TH1F*) chist1->FindObject("fhDPtNC");
+  fhDPtP->SetLineColor(2);
+  fhDPtN->SetLineColor(4);
+    
+  fhDPtP->Draw();
+  fhDPtN->Draw("same");
+
+  // pos/neg z
+  c3->cd(2);
+  c3->GetPad(2)->SetLogy();
+
+  fhDPtZP = (TH1F*) chist1->FindObject("fhDPtPZ");
+  fhDPtZN = (TH1F*) chist1->FindObject("fhDPtNZ");
+  fhDPtZP->SetLineColor(2);
+  fhDPtZN->SetLineColor(4);
+  fhDPtZP->Draw();
+  fhDPtZN->Draw("same");
+
+  c3->cd(3);
+
+  fpDPtP = (TH1F*) chist1->FindObject("fpDPtPC");
+  fpDPtN = (TH1F*) chist1->FindObject("fpDPtNC");
+  fpDPtP->SetLineColor(2);
+  fpDPtN->SetLineColor(4);
+  fpDPtP->Draw();
+  fpDPtN->Draw("same");
+
+  c3->cd(4);
+
+  fpDPtZP = (TH1F*) chist1->FindObject("fpDPtPZ");
+  fpDPtZN = (TH1F*) chist1->FindObject("fpDPtNZ");
+  fpDPtZP->SetLineColor(2);
+  fpDPtZN->SetLineColor(4);
+  fpDPtZP->Draw();
+  fpDPtZN->Draw("same");
+    
+
+  // dZ
+  TCanvas* c4 = new TCanvas("c4", "#Delta Z", 10, 10, 1100, 800);
+  c4->Divide(2,2);
+  // pos/neg charge
+  c4->cd(1);
+  c4->GetPad(1)->SetLogy();
+  fhDZP = (TH1F*) chist1->FindObject("fhDZPC");
+  fhDZN = (TH1F*) chist1->FindObject("fhDZNC");
+  fhDZP->SetLineColor(2);
+  fhDZN->SetLineColor(4);
+    
+  fhDZP->Draw();
+  fhDZN->Draw("same");
+  
+  // pos/neg z
+  c4->cd(2);
+  c4->GetPad(2)->SetLogy();
+
+  fhDZZP = (TH1F*) chist1->FindObject("fhDZPZ");
+  fhDZZN = (TH1F*) chist1->FindObject("fhDZNZ");
+  fhDZBA = (TH1F*) chist1->FindObject("fhDZ_Bad");
+
+  fhDZZP->SetLineColor(2);
+  fhDZZN->SetLineColor(4);
+  fhDZBA->SetLineColor(6);
+  
+  fhDZZP->Draw();
+  fhDZZN->Draw("same");
+  fhDZBA->Draw("same");
+
+  // dX
+  // pos/neg charge
+  c4->cd(3);
+  c4->GetPad(3)->SetLogy();
+  fhDXP = (TH1F*) chist1->FindObject("fhDXPC");
+  fhDXN = (TH1F*) chist1->FindObject("fhDXNC");
+  fhDXP->SetLineColor(2);
+  fhDXN->SetLineColor(4);
+    
+  fhDXP->Draw();
+  fhDXN->Draw("same");
+
+  // pos/neg z
+  c4->cd(4);
+  c4->GetPad(4)->SetLogy();
+
+  fhDXZP = (TH1F*) chist1->FindObject("fhDXPZ");
+  fhDXZN = (TH1F*) chist1->FindObject("fhDXNZ");
+  fhDXBA = (TH1F*) chist1->FindObject("fhDX_Bad");
+
+  fhDXZP->SetLineColor(2);
+  fhDXZN->SetLineColor(4);
+  fhDXBA->SetLineColor(6);
+
+  fhDXZP->Draw();
+  fhDXZN->Draw("same");
+  fhDXBA->Draw("same");
+
+  // dY
+  TCanvas* c4a = new TCanvas("c4a", "#Delta Y", 10, 10, 1100, 800);
+  c4a->Divide(2,2);
+  // pos/neg charge
+  c4a->cd(1);
+  c4a->GetPad(1)->SetLogy();
+  fhDYP = (TH1F*) chist1->FindObject("fhDYPC");
+  fhDYN = (TH1F*) chist1->FindObject("fhDYNC");
+  fhDYP->SetLineColor(2);
+  fhDYN->SetLineColor(4);
+  
+  fhDYP->Draw();
+  fhDYN->Draw("same");
+
+  // pos/neg z
+  c4a->cd(2);
+  c4a->GetPad(2)->SetLogy();
+
+  fhDYZP = (TH1F*) chist1->FindObject("fhDYPZ");
+  fhDYZN = (TH1F*) chist1->FindObject("fhDYNZ");
+  fhDYBA = (TH1F*) chist1->FindObject("fhDY_Bad");
+  
+  fhDYZP->SetLineColor(2);
+  fhDYZN->SetLineColor(4);
+  fhDYBA->SetLineColor(6);
+
+  fhDYZP->Draw();
+  fhDYZN->Draw("same");
+  fhDYBA->Draw("same");
+
+  // delta Pt
+  TCanvas* c5 = new TCanvas("c5", "#Delta p_{T} (n-sigma)", 10, 10, 1100, 800);
+  c5->Divide(2,2);
+  c5->cd(1);
+
+  fpDPtSP = (TH1F*) chist1->FindObject("fpDPtSPC");
+  fpDPtSN = (TH1F*) chist1->FindObject("fpDPtSNC");
+  fpDPtSP->SetLineColor(2);
+  fpDPtSN->SetLineColor(4);
+  fpDPtSP->Draw();
+  fpDPtSN->Draw("same");
+
+
+  c5->cd(2);
+
+  fpDPtSPZ = (TH1F*) chist1->FindObject("fpDPtSPZ");
+  fpDPtSNZ = (TH1F*) chist1->FindObject("fpDPtSNZ");
+  fpDPtSPZ->SetLineColor(2);
+  fpDPtSNZ->SetLineColor(4);
+  fpDPtSPZ->Draw();
+  fpDPtSNZ->Draw("same");
+
+  TCanvas* c6 = new TCanvas("c6", "Dz vs z", 10, 10, 1100, 800);
+  fhDZvsZ = (TH2F*) chist1->FindObject("fhDZvsZ");
+  fhDZvsZ->SetXTitle("z_{in} * sign(z_{in}) * sign(z_{out}) [cm]");
+  fhDZvsZ->SetYTitle("#DeltaZ [cm]");
+
+  gStyle->SetPalette(1);
+    
+  fhDZvsZ->Draw("colz");
+}
+