]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskEMCALTriggerQA.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCALTriggerQA.C
1 // $Id$
2 AliAnalysisTaskEMCALTriggerQA * AddTaskEMCALTriggerQA(Bool_t kSimulation = kFALSE, TString outputFile = "", )
3 {
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("AddTaskEMCALTriggerQA", "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("AddTaskEMCALTriggerQA", "This task requires an input event handler");
16     return NULL;
17   }
18   
19   Bool_t kUseKinematics = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
20
21   if(kUseKinematics) kSimulation = kTRUE;
22   
23   TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
24   
25   AliAnalysisTaskEMCALTriggerQA * qatrigger = new AliAnalysisTaskEMCALTriggerQA("QAEMCALTrigger");  
26   if(kSimulation) qatrigger->SwitchOnMCData();
27   else            qatrigger->SwitchOffMCData();
28   if(outputFile.Length()==0)outputFile = AliAnalysisManager::GetCommonFileName(); 
29
30   if(inputDataType.Contains("AOD")) qatrigger->SwitchOffV0SignalHistograms();
31   else                              qatrigger->SwitchOnV0SignalHistograms();
32   
33   AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
34   AliAnalysisDataContainer *coutput = 0;
35   if(outputFile.Length()==0)
36     coutput = mgr->CreateContainer("EMCALQATrigger", TList::Class(), AliAnalysisManager::kOutputContainer,  Form("%s:EMCALQATrigger",outputFile.Data()));
37   else
38     coutput = mgr->CreateContainer("EMCALQATrigger", TList::Class(), AliAnalysisManager::kOutputContainer,  outputFile.Data());
39
40   mgr->AddTask(qatrigger);
41   mgr->ConnectInput  (qatrigger, 0, cinput1);
42   mgr->ConnectOutput (qatrigger, 1, coutput);
43   
44   return qatrigger;
45 }