]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/macros/AddTaskFemtoESE.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / macros / AddTaskFemtoESE.C
1 AliAnalysisTaskFemtoESE *AddTaskFemtoESE(Double_t qmin = 0, Double_t qmax = 100, Int_t EPdet = 1, Int_t qdet = 0)
2 {
3   // Get the pointer to the existing analysis manager via the static access method.
4   //==============================================================================
5   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6   if (!mgr) {
7     ::Error("AddTaskFemtoESEtest", "No analysis manager to connect to.");
8     return NULL;
9   }  
10
11   TString taskname = Form("FemtoESETask_qperc%.2i_%.2i_EP%i_q%i",(Int_t)qmin,(Int_t)qmax,EPdet,qdet);
12
13   // Create the task and configure it.
14   //===========================================================================
15   AliAnalysisTaskFemtoESE* ana = new  AliAnalysisTaskFemtoESE(taskname);
16
17   ana->SetQPercCuts(qmin,qmax);
18   ana->SetEPDetector(EPdet); // detector used for event plane (0-V0A, 1-V0C)
19   ana->SetQPercDetector(qdet); // detector used for q-vector (0-V0A, 1-V0C)
20
21   mgr->AddTask(ana);
22   
23   // Create ONLY the output containers for the data produced by the task.
24   // Get and connect other common input/output containers via the manager as below
25   //==============================================================================
26   
27   TString contname(taskname);
28   contname += "_output";
29
30   TString outputFileName = AliAnalysisManager::GetCommonFileName();  
31
32   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
33   AliAnalysisDataContainer *coutputA = mgr->CreateContainer(contname, TList::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
34   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("HelperPIDOutput_%s",contname.Data()), AliHelperPID::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
35   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("EventCutsOutput_%s",contname.Data()), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
36   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(Form("TrackCutsOutput_%s",contname.Data()), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
37   
38   //connect containers
39   mgr->ConnectInput(ana, 0, cinput);
40   mgr->ConnectOutput(ana, 1, coutputA);
41   mgr->ConnectOutput(ana, 2, coutput1);
42   mgr->ConnectOutput(ana, 3, coutput2);
43   mgr->ConnectOutput(ana, 4, coutput3);
44   mgr->AddTask(ana);
45   return ana;
46
47 }