]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/macros/AddTaskDiHadronPID.C
Modifications for proper scaling to bin width, Event Mixing bins for centrality and...
[u/mrichter/AliRoot.git] / PWGCF / Correlations / macros / AddTaskDiHadronPID.C
1 // AddTask Macro (v 8.00).
2 // Updated: May 2nd 2012.
3 // Author: Misha Veldhoen (m.veldhoen@cern.ch)
4
5 AliAnalysisTaskDiHadronPID *AddTaskDiHadronPID(Int_t verbose = 1,
6                                                Bool_t printbuffersize = kFALSE,
7                                                Bool_t mixedevents = kTRUE,
8                                                                                            Bool_t setmc = kFALSE,
9                                                TString beamtype = "PbPb",
10                                                Double_t MaxEta = 0.8,
11                                                                                            Double_t maxrap = 0.5,
12                                                Double_t MaxPlotEta = 0.8,
13                                                Double_t MaxPt = 10.,
14                                                Int_t NEtaBins = 32,
15                                                Int_t NPhiBins = 36,
16                                                Double_t VertexZMixedEvents = 2.,
17                                                Bool_t zoomed = kFALSE,
18                                                Bool_t DoITSCut = kFALSE,
19                                                Bool_t DoDCACut = kTRUE,
20                                                Bool_t DemandNoMismatch = kTRUE,
21                                                Int_t trigbuffermaxsize=2500,
22                                                Double_t centralitycutmax=0.,
23                                                Double_t centralitycutmin=10.,
24                                                                                            const char* outputFileName = 0,
25                                                                                            const char* containerName = "DiHadronPID", 
26                                                                                            const char* folderName = "PWGCF_DiHadronPID")
27
28                                                
29
30 {
31         
32         // Get the current analysis manager.
33     AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
34     if (!mgr) {
35         Error("AddTaskDiHadronPID.C", "No analysis manager found.");
36         return 0;
37     }
38     
39     // Create an instance of the task.
40     AliAnalysisTaskDiHadronPID *task = new AliAnalysisTaskDiHadronPID(containerName);
41     
42     // Configure the task.
43     task->SetVerbose(verbose);
44     task->SetPrintBufferSize(printbuffersize);
45     task->SetCalculateMixedEvents(mixedevents);
46         task->SetMC(setmc);
47     task->SetBeamType(beamtype);
48     task->SetMaxEta(MaxEta);
49         task->SetMaxRapidityInInclusiveSpectra(maxrap);
50     task->SetMaxPlotEta(MaxPlotEta);
51     task->SetMaxPt(MaxPt);
52     task->SetNEtaBins(NEtaBins);
53     task->SetNPhiBins(NPhiBins);
54     task->SetVertexZMixedEvents(VertexZMixedEvents);
55     task->SetZoomed(zoomed);
56     task->SetDoITSCut(DoITSCut);
57     task->SetDoDCACut(DoDCACut);
58     task->SetDemandNoMismatch(DemandNoMismatch);
59     task->SetTrigBufferMaxSize(trigbuffermaxsize);
60     task->SetCentralityCut(centralitycutmax,centralitycutmin);
61
62     // Add the task.
63         mgr->AddTask(task);
64     
65         // Data containers.
66         AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
67         mgr->ConnectInput(task, 0, cinput); 
68         
69         if (!outputFileName)
70                 outputFileName = AliAnalysisManager::GetCommonFileName();
71         
72         AliAnalysisDataContainer *coutput1 = 
73     mgr->CreateContainer(containerName, TList::Class(),
74                          AliAnalysisManager::kOutputContainer,Form("%s:%s", outputFileName, folderName));
75         
76         mgr->ConnectOutput (task,  1, coutput1);
77         
78         return task;
79         
80 }
81
82