]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/AliAnalysisTaskProtonsQA.cxx
Example macro to get environment variables (Marian)
[u/mrichter/AliRoot.git] / PWG2 / AliAnalysisTaskProtonsQA.cxx
index cef14681e585acf616d5d692af8de643e6929795..8155e5974370e7210a0c995b1bc166a6f2228200 100644 (file)
@@ -17,7 +17,7 @@
 #include "AliMCEvent.h"
 #include "AliStack.h"
 
-#include "PWG2spectra/SPECTRA/AliProtonAnalysis.h"
+#include "PWG2spectra/SPECTRA/AliProtonQAAnalysis.h"
 #include "AliAnalysisTaskProtonsQA.h"
 
 // Analysis task used for the QA of the (anti)proton analysis
@@ -28,18 +28,16 @@ ClassImp(AliAnalysisTaskProtonsQA)
 //________________________________________________________________________ 
 AliAnalysisTaskProtonsQA::AliAnalysisTaskProtonsQA()
   : AliAnalysisTask(), fESD(0), fMC(0),
-    fList(0), fAnalysis(0) {
+    fList0(0), fList1(0), fList2(0),
+    fAnalysis(0) {
     //Dummy constructor
-                                                                                                   
 }
 
 //________________________________________________________________________
 AliAnalysisTaskProtonsQA::AliAnalysisTaskProtonsQA(const char *name) 
-: AliAnalysisTask(name, ""), fESD(0), fAOD(0), fMC(0), fAnalysisType("ESD"),
-  fList(0), fAnalysis(0), 
-  fElectronFunction(0), fMuonFunction(0),
-  fPionFunction(0), fKaonFunction(0), fProtonFunction(0),
-  fFunctionUsed(kFALSE) { 
+: AliAnalysisTask(name, ""), fESD(0), fMC(0),
+  fList0(0), fList1(0), fList2(0),
+  fAnalysis(0) {
   // Constructor
 
   // Define input and output slots here
@@ -47,6 +45,8 @@ AliAnalysisTaskProtonsQA::AliAnalysisTaskProtonsQA(const char *name)
   DefineInput(0, TChain::Class());
   // Output slot #0 writes into a TList container
   DefineOutput(0, TList::Class());
+  DefineOutput(1, TList::Class());
+  DefineOutput(2, TList::Class());
 }
 
 //________________________________________________________________________
@@ -85,11 +85,12 @@ void AliAnalysisTaskProtonsQA::CreateOutputObjects() {
   Double_t partFrac[5] = {0.01, 0.01, 0.85, 0.10, 0.05};
   
   //proton analysis object
-  fAnalysis = new AliProtonAnalysis();
+  fAnalysis = new AliProtonQAAnalysis();
   fAnalysis->SetQAOn();
+  fAnalysis->SetRunMCAnalysis();
 
-  //Use of TPConly tracks                                                                                                                                                      
-  fAnalysis->SetQAYPtBins(10, -0.5, 0.5, 12, 0.5, 0.9); //TPC only
+  //Use of TPConly tracks
+  /*fAnalysis->SetQAYPtBins(10, -0.5, 0.5, 12, 0.5, 0.9); //TPC only
   fAnalysis->UseTPCOnly();
   fAnalysis->SetMinTPCClusters(50);
   fAnalysis->SetMaxChi2PerTPCCluster(3.5);
@@ -100,10 +101,10 @@ void AliAnalysisTaskProtonsQA::CreateOutputObjects() {
   fAnalysis->SetMaxCov55(2.0);
   fAnalysis->SetMaxSigmaToVertexTPC(2.5);
   fAnalysis->SetTPCRefit();
-  fAnalysis->SetTPCpid();
+  fAnalysis->SetTPCpid();*/
 
   //Combined tracking
-  /*fAnalysis->SetQAYPtBins(20, -1.0, 1.0, 27, 0.4, 3.1); //combined tracking
+  fAnalysis->SetQAYPtBins(20, -1.0, 1.0, 27, 0.4, 3.1); //combined tracking
   fAnalysis->SetMinTPCClusters(50);
   fAnalysis->SetMaxChi2PerTPCCluster(3.5);
   fAnalysis->SetMaxCov11(2.0);
@@ -111,17 +112,30 @@ void AliAnalysisTaskProtonsQA::CreateOutputObjects() {
   fAnalysis->SetMaxCov33(0.5);
   fAnalysis->SetMaxCov44(0.5);
   fAnalysis->SetMaxCov55(2.0);
-  fAnalysis->SetMaxSigmaToVertexTPC(2.5);
+  fAnalysis->SetMaxSigmaToVertex(2.5);
   fAnalysis->SetTPCRefit();
-  //ITS related cuts - to be used in the case of the analysis of global tracks                                                                                                
-  fAnalysis->SetMinITSClusters(5);                                                                                                                                          
-  fAnalysis->SetITSRefit();                                                                                                                                                  
-  fAnalysis->SetESDpid();*/
-
+  //ITS related cuts - to be used in the case of the analysis of global tracks
+  fAnalysis->SetPointOnITSLayer1();
+  fAnalysis->SetPointOnITSLayer2();
+  fAnalysis->SetPointOnITSLayer3();
+  fAnalysis->SetPointOnITSLayer4();
+  fAnalysis->SetPointOnITSLayer5();
+  fAnalysis->SetPointOnITSLayer6();
+  fAnalysis->SetMinITSClusters(1);
+  fAnalysis->SetITSRefit();
+  fAnalysis->SetESDpid();
+
+  fAnalysis->InitQA();
   fAnalysis->SetPriorProbabilities(partFrac);
 
-  fList = new TList();
-  fList = GetGlobalQAList();
+  fList0 = new TList();
+  fList0 = fAnalysis->GetGlobalQAList();
+
+  fList1 = new TList();
+  fList1 = fAnalysis->GetPDGList();
+
+  fList2 = new TList();
+  fList2 = fAnalysis->GetMCProcessesList();
 }
 
 //________________________________________________________________________
@@ -146,9 +160,12 @@ void AliAnalysisTaskProtonsQA::Exec(Option_t *) {
   }
   
   fAnalysis->RunQA(stack, fESD);
-    
+  fAnalysis->RunMCAnalysis(stack);
+
   // Post output data.
-  PostData(0, fList);
+  PostData(0, fList0);
+  PostData(1, fList1);
+  PostData(2, fList2);
 }      
 
 //________________________________________________________________________
@@ -156,8 +173,8 @@ void AliAnalysisTaskProtonsQA::Terminate(Option_t *) {
   // Draw result to the screen
   // Called once at the end of the query
   
-  fList = dynamic_cast<TList*> (GetOutputData(0));
-  if (!fList) {
+  fList0 = dynamic_cast<TList*> (GetOutputData(0));
+  if (!fList0) {
     Printf("ERROR: fList not available");
     return;
   }