]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/macros/AddTaskJetServices.C
name changes from PWG4 to PWGJE
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetServices.C
1 AliAnalysisTaskJetServices *AddTaskJetServices(TString v0CalibFile = "")\r
2 {\r
3    // Get the pointer to the existing analysis manager via the static access method.\r
4    //==============================================================================\r
5    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
6    if (!mgr) {\r
7       ::Error("AddTaskJetServices", "No analysis manager to connect to.");\r
8       return NULL;\r
9    }  \r
10    \r
11    // Check the analysis type using the event handlers connected to the analysis manager.\r
12    //==============================================================================\r
13    if (!mgr->GetInputEventHandler()) {\r
14      ::Error("AddTaskJetServices", "This task requires an input event handler");\r
15       return NULL;\r
16    }\r
17 \r
18    TString type = mgr->GetInputEventHandler()->GetDataType();\r
19    type.ToUpper();\r
20    // Create the task and configure it.\r
21    //===========================================================================\r
22    \r
23    AliAnalysisTaskJetServices* serv = new  AliAnalysisTaskJetServices("JetServices");\r
24       \r
25    if(v0CalibFile.Length()){\r
26      TFile *fV0 = TFile::Open(v0CalibFile.Data());\r
27      if(fV0){\r
28        TDirectory *dir = (TDirectory*)fV0->Get("PWG4_services");\r
29        TList *list = (TList*)dir->Get("serv");\r
30        TProfile *xa = (TProfile*)list->FindObject("fp1RPXA");\r
31        TProfile *ya = (TProfile*)list->FindObject("fp1RPYA");\r
32        TProfile *xc = (TProfile*)list->FindObject("fp1RPXC");\r
33        TProfile *yc = (TProfile*)list->FindObject("fp1RPYC");\r
34        serv->SetV0Centroids(xa,ya,xc,yc);\r
35      }\r
36    }\r
37 \r
38    if(type == "AOD"){\r
39      serv->SetAODInput(kTRUE);\r
40    }\r
41    mgr->AddTask(serv);\r
42      \r
43    // Create ONLY the output containers for the data produced by the task.\r
44    // Get and connect other common input/output containers via the manager as below\r
45    //==============================================================================\r
46    AliAnalysisDataContainer *coutput1_Serv = mgr->CreateContainer("pwgje_services", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWGJE_services",AliAnalysisManager::GetCommonFileName()));\r
47 \r
48    mgr->ConnectInput  (serv, 0, mgr->GetCommonInputContainer());\r
49    mgr->ConnectOutput (serv, 0, mgr->GetCommonOutputContainer());\r
50    mgr->ConnectOutput (serv,  1, coutput1_Serv );\r
51    \r
52    return serv;\r
53 }\r