]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskSATR.C
SHUTTLE module
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskSATR.C
1 // $Id$
2
3 AliAnalysisTaskSATR* AddTaskSATR(
4   const char* triggerType = "L0",
5   AliAnalysisTaskEMCALClusterizeFast *clusterizer = 0, 
6   AliAnalysisTaskEMCALClusterizeFast *trgClusterizer = 0)
7 {
8   // Get the pointer to the existing analysis manager via the static access method.
9   //==============================================================================
10   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
11   if (!mgr)
12   {
13     ::Error("AddTaskSATR", "No analysis manager to connect to.");
14     return NULL;
15   }  
16   
17   // Check the analysis type using the event handlers connected to the analysis manager.
18   //==============================================================================
19   if (!mgr->GetInputEventHandler())
20   {
21     ::Error("AddTaskSATR", "This task requires an input event handler");
22     return NULL;
23   }
24   
25   //-------------------------------------------------------
26   // Init the task and do settings
27   //-------------------------------------------------------
28
29   TString caloClusName, trgClusName, taskName;
30   if (!strcmp(triggerType, "L0")) {
31     caloClusName = "ClustersL0FEE";
32     trgClusName = "ClustersL0FOR";
33     taskName = "TriggerAnaL0";
34   }
35   else if (!strcmp(triggerType, "L1GAMMA")) {
36     caloClusName = "ClustersL1GAMMAFEE";
37     trgClusName = "ClustersL1GAMMAFOR";
38     taskName = "TriggerAnaL1GAMMA";
39   }
40   else if (!strcmp(triggerType, "L1JET")) {
41     caloClusName = "ClustersL1JETFEE";
42     trgClusName = "ClustersL1JETFOR";
43     taskName = "TriggerAnaL1JET";
44   }
45         
46   AliAnalysisTaskSATR* task = new AliAnalysisTaskSATR(taskName.Data());
47   task->SetTimeCutOn(kTRUE);
48   task->SetL0TimeCut(-20, 20);
49   task->SetClusTimeCut(-1, 1);
50   task->SetCheckDeadClusters(kFALSE);
51   task->SetLoadPed(kFALSE);
52   task->SetCaloClustersName(caloClusName.Data());
53   task->SetTriggerClustersName(trgClusName.Data());
54   task->SetClusterizer(clusterizer);
55   task->SetTriggerClusterizer(trgClusterizer);
56   task->SetCutL0Amp(-1, 999);
57   task->SetCutClusEnergy(-1, 999);
58
59   //-------------------------------------------------------
60   // Final settings, pass to manager and set the containers
61   //-------------------------------------------------------
62   mgr->AddTask(task);
63
64   // Create containers for input/output
65   AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;
66
67   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("coutput", 
68                                                             TList::Class(),AliAnalysisManager::kOutputContainer,
69                                                             Form("%s", AliAnalysisManager::GetCommonFileName()));
70   mgr->ConnectInput  (task, 0,  cinput1 );
71   mgr->ConnectOutput (task, 1, coutput1 );
72
73   return task;
74 }