]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/PIDFluctuation/macros/AddAliEbyEPidBayesTTask.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / PIDFluctuation / macros / AddAliEbyEPidBayesTTask.C
1 //=========================================================================//
2 //                                                                         //
3 //           Analysis AddTask for Particle Ratio Fluctuation Study         //
4 //              Author: Deepika Rathee  || Satyajit Jenara                 //
5 //                      drathee@cern.ch || sjena@cern.ch 
6 //                        Thu Jun 19 11:44:51 CEST 2014
7 //                                                                         //
8 //=========================================================================//
9
10 void AddAliEbyEPidBayesTTask(Double_t ptl=0.5, 
11                         Int_t AODfilterBit = 768, 
12                         Int_t pidtype = 3, 
13                         Int_t requestTofPid = 1, 
14                         Double_t nSigmaCut = 3., 
15                         Bool_t isMC = 0, 
16                         TString centralityEstimator = "V0M", 
17                         TString ctaskname = "2011") {
18
19  
20   TString taskname = "EbyECF_";
21   taskname += ctaskname;
22   taskname += "_";
23   taskname += Form("%d",isMC);
24   taskname += "_";
25   taskname += centralityEstimator;
26   taskname += "_";
27   taskname += Form("%d",AODfilterBit);
28   
29  
30     AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
31   if (!mgr) {
32     ::Error("AddTaskFluctuations", "No analysis manager to connect to.");
33     return NULL;
34   }
35
36   if (!mgr->GetInputEventHandler()) {
37     ::Error("AddTaskFluctuations", "This task requires an input event handler");
38     return NULL;
39   }
40   TString type = mgr->GetInputEventHandler()->GetDataType(); 
41
42  
43   TString basefilename = AliAnalysisManager::GetCommonFileName();
44   
45
46   AliHelperPID* help = new AliHelperPID();
47   help->SetNSigmaCut(nSigmaCut);
48   help->SetPIDType(pidtype);
49   if (requestTofPid) help->SetfRequestTOFPID(requestTofPid);
50   if (ptl != 0 ) help->SetfPtTOFPID(ptl);
51   
52   if (pidtype == 3){
53     AliPIDCombined *pidc=new AliPIDCombined();
54     pidc->SetDefaultTPCPriors();
55     help->SetPIDCombined(pidc);
56   }
57   
58   AliEbyEPidTTask *taskqa;
59   taskqa = new AliEbyEPidTTask(taskname.Data());
60   taskqa->SetAODtrackCutBit(AODfilterBit);
61   taskqa->SetCentralityEstimator(centralityEstimator.Data());
62   taskqa->SetAnalysisType(isMC);
63   taskqa->SetHelperPID(help);
64   mgr->AddTask(taskqa);
65   
66   AliAnalysisDataContainer *coutqa = mgr->CreateContainer(Form("%s_QA",taskname.Data()),TList::Class(),AliAnalysisManager::kOutputContainer, Form("%s",basefilename.Data()));
67   AliAnalysisDataContainer *coutt = mgr->CreateContainer("fEventTree",TTree::Class(),AliAnalysisManager::kOutputContainer, Form("%s",basefilename.Data()));
68
69   mgr->ConnectInput(taskqa, 0, mgr->GetCommonInputContainer());
70   mgr->ConnectOutput(taskqa, 1, coutqa);
71  mgr->ConnectOutput(taskqa, 2, coutt);
72  
73  
74   return;
75 }