]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/macros/AddAliEbyEHigherMomentsTaskCentrality.C
adding higher moments with central triggers task macro (Nirbhay Kumar Behera)
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / AddAliEbyEHigherMomentsTaskCentrality.C
1 //=========================================================================//
2 //                                                                         //
3 //           Analysis AddTask for Net-Charge Higher Moment Analysis        //
4 //              Author: Satyajit Jena || Nirbhay K. Behera                 //
5 //                      sjena@cern.ch || nbehera@cern.ch                   //
6 //                               V0.0 23/08/2012                           //
7 //=========================================================================//
8
9 TString fileNameBase="AnalysisResults.root";
10
11 //  const char* analysisType        = "AOD"; // MC, ESD, AOD
12 // const char* centralityEstimator = "V0M"; // V0M, TRK, FMD, ....
13
14 //_________________________________________________________//
15
16 AliAnalysisTask* AddAliEbyEHigherMomentsTask(Double_t vx, 
17                                              Double_t vy, 
18                                              Double_t vz,
19                                              Double_t dcaxy, 
20                                              Double_t dcaz,
21                                              Double_t ptl, 
22                                              Double_t pth,
23                                              Double_t eta,
24                                              Int_t    nclus,
25                                              Int_t AODfilterBit, 
26                                              const char* centralityEstimator,
27                                              Bool_t trigger = kFALSE,
28                                              const char* analysisType,
29                                              const char* taskss) {
30   
31   
32   TString taskname = "HM";
33   taskname.Append(taskss);
34
35     AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
36   if (!mgr) {
37     ::Error("AddTaskFluctuations", "No analysis manager to connect to.");
38     return NULL;
39   }
40
41   if (!mgr->GetInputEventHandler()) {
42     ::Error("AddTaskFluctuations", "This task requires an input event handler");
43     return NULL;
44   }
45   TString type = mgr->GetInputEventHandler()->GetDataType(); 
46
47   AliEbyEHigherMomentsTask *taskHM = new AliEbyEHigherMomentsTask("HigherMomentsTask");
48
49   taskHM->SetVertexDiamond(vx,vy,vz);
50   taskHM->SetKinematicsCutsAOD(ptl,pth,eta);
51   taskHM->SetDCA(dcaxy, dcaz);
52   
53   taskHM->SetCentralityEstimator(centralityEstimator);
54   taskHM->SetAnalysisType(analysisType);
55   taskHM->SetPtRange(ptl,pth);
56   taskHM->SetEta(eta);
57   taskHM->SetTPCNclus(nclus);
58   taskHM->SetAODtrackCutBit(AODfilterBit);
59   if(trigger) taskHM->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral);
60   else taskHM->SelectCollisionCandidates(AliVEvent::kMB);
61   
62   mgr->AddTask(taskHM);
63   
64   AliAnalysisDataContainer *coutFA = mgr->CreateContainer(taskname.Data(), 
65                                                           TList::Class(),
66                                                           AliAnalysisManager::kOutputContainer,
67                                                           fileNameBase.Data());
68   mgr->ConnectInput(taskHM, 0, mgr->GetCommonInputContainer());
69   mgr->ConnectOutput(taskHM, 1, coutFA);
70   
71   return taskHM;
72 }