First commit of V0 QA Task. A long way from perfect but probably ok to catch early...
[u/mrichter/AliRoot.git] / PWGLF / QATasks / macros / AddTaskQAV0.C
1 AliAnalysisTaskQAV0 *AddTaskQAV0( TString lCustomName = "QA", const TString lMasterJobSessionFlag = "")
2 {
3 // Creates, configures and attaches to the train a cascades check task.
4    // Get the pointer to the existing analysis manager via the static access method.
5    //==============================================================================
6    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7    if (!mgr) {
8       ::Error("AddTaskExtractV0", "No analysis manager to connect to.");
9       return NULL;
10    }   
11
12    // Check the analysis type using the event handlers connected to the analysis manager.
13    //==============================================================================
14    if (!mgr->GetInputEventHandler()) {
15       ::Error("AddTaskExtractV0", "This task requires an input event handler");
16       return NULL;
17    }   
18    TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
19
20    // Create and configure the task
21          AliAnalysisTaskQAV0 *taskv0extract = new AliAnalysisTaskQAV0("taskv0extract");
22
23    //No Configuration Required at this stage  
24
25    mgr->AddTask(taskv0extract);
26
27    TString outputFileName = AliAnalysisManager::GetCommonFileName();
28    
29    outputFileName += ":PWGLFQAV0";
30    outputFileName += "_";
31    outputFileName += lCustomName.Data(); 
32    //if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
33    
34    Printf("Set OutputFileName : \n %s\n", outputFileName.Data() );
35
36    AliAnalysisDataContainer *coutputList = mgr->CreateContainer("clist",
37                                                              TList::Class(),
38                                                              AliAnalysisManager::kOutputContainer,
39                                                              outputFileName );
40
41    mgr->ConnectInput( taskv0extract, 0, mgr->GetCommonInputContainer());
42    mgr->ConnectOutput(taskv0extract, 1, coutputList);
43    
44    return taskv0extract;
45 }