]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/macros/AddTaskChargedHadronSpectraITSTruncatedMean.C
520d651a343ed38572ca6288c89b5dc32bf1de61
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / macros / AddTaskChargedHadronSpectraITSTruncatedMean.C
1 AliAnalysisChargedHadronSpectraITSTruncatedMeanTask* AddTaskChargedHadronSpectraITSTruncatedMean(Int_t lowcut=-1,Int_t upcut=-1,Int_t mc=0,Int_t hi=0 ,TString filename="./configChargedHadronSpectraITSTruncatedMeanTask.C")
2 {
3         //pp settings   
4         AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5         if (!mgr) 
6         {
7                 ::Error("AddTaskITSsaTracks", "No analysis manager to connect to.");
8                 return NULL;
9         }   
10   
11   // Check the analysis type using the event handlers connected to the analysis manager.
12   //==============================================================================
13         if (!mgr->GetInputEventHandler()) 
14         {
15                 ::Error("AddTaskITSsaTracks", "This task requires an input event handler");
16                 return NULL;
17         }   
18   
19         TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
20         if(type.Contains("AOD"))
21         {
22                 ::Error("AddTaskITSsaTracks", "This task requires to run on ESD");
23                 return NULL;
24         }
25         TString outputFileName = AliAnalysisManager::GetCommonFileName();
26         outputFileName += ":PWG2SpectraITSTPC";
27         gROOT->LoadMacro(filename.Data());
28         AliAnalysisChargedHadronSpectraITSTruncatedMeanTask* task = GetAliAnalysisChargedHadronSpectraITSTruncatedMeanTask(mc);
29         mgr->AddTask(task);
30         AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();      
31         AliAnalysisDataContainer *coutput =0x0;
32         if(hi)
33         {
34                 Float_t lowcencut=(Float_t)lowcut;
35                 Float_t upcencut=(Float_t)upcut;
36                 if(lowcencut<0.0)
37                         lowcencut=0.0;
38                 if(upcencut<0.0||upcencut>100.0)
39                         upcencut=100.0;
40                 task->SetCentralityCut(lowcencut,upcencut);
41                 task->SetHImode();      
42                 coutput =mgr->CreateContainer(Form("outputlow%dup%dHI1",lowcut,upcut),TList::Class(),AliAnalysisManager::kOutputContainer,outputFileName);
43                         
44         }
45         else
46         {
47                 task->SetMultiplicityCut(lowcut,upcut);
48                 coutput =mgr->CreateContainer(Form("outputlow%dup%dHI0",lowcut,upcut),TList::Class(),AliAnalysisManager::kOutputContainer,outputFileName);
49         }
50         mgr->ConnectInput(task, 0, cinput);
51         mgr->ConnectOutput(task, 1, coutput);
52         
53         return task;
54   }