]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskEmcalTriggerInfoQA.C
Updates from Redmer
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalTriggerInfoQA.C
1 // $Id$
2
3 AliAnalysisTaskEmcalTriggerInfoQA* AddTaskEmcalTriggerInfoQA(
4   const char *triggersName     = "EmcalTriggers",
5   const char *triggerSetupName = "EmcalTriggerSetup",
6   const char *cellsName           = 0,
7   const char *taskName            = "AliEmcalTriggerInfoQA"
8 )
9 {  
10   // Get the pointer to the existing analysis manager via the static access method.
11   //==============================================================================
12   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
13   if (!mgr)
14   {
15     ::Error("AddTaskEmcalTriggerInfoQA", "No analysis manager to connect to.");
16     return NULL;
17   }  
18   
19   // Check the analysis type using the event handlers connected to the analysis manager.
20   //==============================================================================
21   AliVEventHandler *evhand = mgr->GetInputEventHandler();
22   if (!evhand) {
23     ::Error("AddTaskEmcalTriggerInfoQA", "This task requires an input event handler");
24     return NULL;
25   }
26
27   if (!cellsName) {
28     cellsName = new char[100];
29
30     if (evhand->InheritsFrom("AliESDInputHandler")) {
31       strcpy(cellsName,"EMCALCells");
32       ::Info("AddTaskEmcalTriggerInfoQA", Form( "ESD analysis, cellsName = \"%s\"", cellsName ));
33     }
34     else {
35       strcpy(cellsName,"emcalCells");
36       ::Info("AddTaskEmcalTriggerInfoQA", Form( "AOD analysis, cellsName = \"%s\"", cellsName ));
37     }
38   }
39  
40    //-------------------------------------------------------
41   // Init the task and do settings
42   //-------------------------------------------------------
43
44   AliAnalysisTaskEmcalTriggerInfoQA *eTask = new AliAnalysisTaskEmcalTriggerInfoQA(taskName);
45   eTask->SetCaloTriggerPatchInfoName(triggersName);
46   eTask->SetCaloTriggerSetupInfoName(triggerSetupName);
47   eTask->SetCaloCellsName(cellsName);
48   eTask->SetAnaType(AliAnalysisTaskEmcal::kEMCAL);
49
50   //-------------------------------------------------------
51   // Final settings, pass to manager and set the containers
52   //-------------------------------------------------------
53   mgr->AddTask(eTask);
54   
55         TString listName = Form("ListEmcalTriggerInfoQA" );
56         TString fileName = Form("%s:EmcalTriggerInfoQA", AliAnalysisManager::GetCommonFileName());
57
58   // Create containers for input/output
59   AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer();
60   mgr->ConnectInput  (eTask, 0,  cinput1 );
61   
62         AliAnalysisDataContainer *coutput = mgr->CreateContainer( listName, TList::Class(), AliAnalysisManager::kOutputContainer, fileName);
63         mgr->ConnectOutput( eTask, 1, coutput);
64
65  return eTask;
66 }