ROOT logo
///////////////////////////////////////////////////////////////////////////////
// Macro to setup AliAnalysisTaskV0QA for
// V0 performance QA to run on PWGPP QA train.
// ESD and MC input handlers must be attached to AliAnalysisManager
// 
// Output:
// V0QA.root file with V0QA for gammas,K0s,Lambdas, antilambdas is created.
//
// The file contains 4 THnSparse generic histograms which
// have to be analysed using the macros 
// PWGPP/macros/plotSparseK0.C
// PWGPP/macros/plotSparseGamma.C
// PWGPP/macros/plotSparseL.C
// PWGPP/macros/plotSparseAL.C
// 
// 14.10.09 A. Marin  a.marin@gsi.de
///////////////////////////////////////
 
AliAnalysisTaskV0QA *AddTaskV0QA(Bool_t bUseMCInfo=kTRUE)
{
// Creates a filter task and adds it to the analysis manager.

   // Get the pointer to the existing analysis manager via the static access method.
   //==============================================================================
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   if (!mgr) {
      ::Error("AddTaskV0QA", "No analysis manager to connect to.");
      return NULL;
   }   
   
   // This task requires an ESD input handler and an AOD output handler.
   // Check this using the analysis manager.
   //===============================================================================
   TString type = mgr->GetInputEventHandler()->GetDataType();
   if (!type.Contains("ESD")) {
      ::Error("AddTaskV0QA", "V0QA task needs the manager to have an ESD input handler.");
      return NULL;
   }   

   // Check if MC handler is connected in case kine filter requested
   AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
   if (!mcH && bUseMCInfo)) {
      ::Error("AddTaskV0QA", "No MC handler connected");
      return NULL;
   }   
   
   // Create the task, add it to the manager and configure it.
   //===========================================================================   
   // Barrel tracks filter
   AliAnalysisTaskV0QA * v0QA = new AliAnalysisTaskV0QA("V0QA");
   mgr->AddTask(v0QA);


   // Create ONLY the output containers for the data produced by the task.
   // Get and connect other common input/output containers via the manager as below
   //==============================================================================
   mgr->ConnectInput  (v0QA,  0, mgr->GetCommonInputContainer());

   // Create containers for output

   AliAnalysisDataContainer *coutput_v0QA =  
   mgr->CreateContainer("V0QA", TList::Class(), 
			AliAnalysisManager::kOutputContainer, Form("%s:%s", mgr->GetCommonFileName(),v0QA->GetName()));
   mgr->ConnectOutput(v0QA, 1, coutput_v0QA);
 	

   return v0QA;
}   
 AddTaskV0QA.C:1
 AddTaskV0QA.C:2
 AddTaskV0QA.C:3
 AddTaskV0QA.C:4
 AddTaskV0QA.C:5
 AddTaskV0QA.C:6
 AddTaskV0QA.C:7
 AddTaskV0QA.C:8
 AddTaskV0QA.C:9
 AddTaskV0QA.C:10
 AddTaskV0QA.C:11
 AddTaskV0QA.C:12
 AddTaskV0QA.C:13
 AddTaskV0QA.C:14
 AddTaskV0QA.C:15
 AddTaskV0QA.C:16
 AddTaskV0QA.C:17
 AddTaskV0QA.C:18
 AddTaskV0QA.C:19
 AddTaskV0QA.C:20
 AddTaskV0QA.C:21
 AddTaskV0QA.C:22
 AddTaskV0QA.C:23
 AddTaskV0QA.C:24
 AddTaskV0QA.C:25
 AddTaskV0QA.C:26
 AddTaskV0QA.C:27
 AddTaskV0QA.C:28
 AddTaskV0QA.C:29
 AddTaskV0QA.C:30
 AddTaskV0QA.C:31
 AddTaskV0QA.C:32
 AddTaskV0QA.C:33
 AddTaskV0QA.C:34
 AddTaskV0QA.C:35
 AddTaskV0QA.C:36
 AddTaskV0QA.C:37
 AddTaskV0QA.C:38
 AddTaskV0QA.C:39
 AddTaskV0QA.C:40
 AddTaskV0QA.C:41
 AddTaskV0QA.C:42
 AddTaskV0QA.C:43
 AddTaskV0QA.C:44
 AddTaskV0QA.C:45
 AddTaskV0QA.C:46
 AddTaskV0QA.C:47
 AddTaskV0QA.C:48
 AddTaskV0QA.C:49
 AddTaskV0QA.C:50
 AddTaskV0QA.C:51
 AddTaskV0QA.C:52
 AddTaskV0QA.C:53
 AddTaskV0QA.C:54
 AddTaskV0QA.C:55
 AddTaskV0QA.C:56
 AddTaskV0QA.C:57
 AddTaskV0QA.C:58
 AddTaskV0QA.C:59
 AddTaskV0QA.C:60
 AddTaskV0QA.C:61
 AddTaskV0QA.C:62
 AddTaskV0QA.C:63
 AddTaskV0QA.C:64
 AddTaskV0QA.C:65
 AddTaskV0QA.C:66
 AddTaskV0QA.C:67
 AddTaskV0QA.C:68
 AddTaskV0QA.C:69