]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/PIDFluctuation/macros/AddAliEbyEPidBayesTTaskMC.C
Hm task MC
[u/mrichter/AliRoot.git] / PWGCF / EBYE / PIDFluctuation / macros / AddAliEbyEPidBayesTTaskMC.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 AddAliEbyEPidBayesTTaskMC(Double_t ptl                 = 0, 
11                                Int_t    AODfilterBit        = 768, 
12                                Int_t    pidtype             = 3, 
13                                Int_t    requestTofPid       = 0, 
14                                Double_t nSigmaCut           = 5., 
15                                TString  centralityEstimator = "V0M", 
16                                TString  ctaskname           = "2010") {
17   
18   Bool_t isMC = 1; 
19   
20   TString taskname = "CfHmBayes_";
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   TString basefilename = AliAnalysisManager::GetCommonFileName();
42   
43   AliHelperPID* help = new AliHelperPID();
44   help->SetNSigmaCut(nSigmaCut);
45   help->SetPIDType(pidtype);        
46   if (requestTofPid) help->SetfRequestTOFPID(requestTofPid);
47   if (ptl != 0 ) help->SetfPtTOFPID(ptl);
48   //help->SetisMC(isMC);
49   
50  if (pidtype == 3){
51     AliPIDCombined *pidc=new AliPIDCombined();
52     pidc->SetDefaultTPCPriors();
53     help->SetPIDCombined(pidc);
54   }
55
56
57   AliEbyEPidTTaskMC *taskqa;
58   taskqa = new AliEbyEPidTTaskMC(taskname.Data());
59   taskqa->SetAODtrackCutBit(AODfilterBit);
60   taskqa->SetCentralityEstimator(centralityEstimator.Data());
61   taskqa->SetAnalysisType(isMC);
62   taskqa->SetHelperPID(help);
63   mgr->AddTask(taskqa);
64   
65   AliAnalysisDataContainer *coutqa = mgr->CreateContainer(Form("%s_QA",taskname.Data()),TList::Class(),AliAnalysisManager::kOutputContainer, Form("%s",basefilename.Data()));
66   AliAnalysisDataContainer *coutt  = mgr->CreateContainer("fEventTree",TTree::Class(),AliAnalysisManager::kOutputContainer, Form("%s",basefilename.Data()));
67
68   mgr->ConnectInput(taskqa, 0, mgr->GetCommonInputContainer());
69   mgr->ConnectOutput(taskqa, 1, coutqa);
70  mgr->ConnectOutput(taskqa, 2, coutt);
71  
72  
73   return;
74 }