]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/macros/AddAliEbyEHigherMomentsTaskCentrality.C
HM - included pT bin-wise Np and Nm
[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 //                                                                         //
7 //=========================================================================//
8 TString fileNameBase="AnalysisResults.root";
9 //_________________________________________________________//
10 AliAnalysisTask*  AddAliEbyEHigherMomentsTaskCentrality(Double_t vx,
11                                                         Double_t vy,
12                                                         Double_t vz,
13                                                         Double_t ptl,
14                                                         Double_t pth,
15                                                         Int_t nptbins,
16                                                         Double_t eta,
17                                                         Int_t AODfilterBit = 128,
18                                                         const char* centralityEstimator,
19                                                         Bool_t trigger = kFALSE,
20                                                         TString  analysis,
21                                                         const char* taskss) {
22   
23
24
25    
26   Bool_t IsMC = kFALSE;  
27   if(analysis=="MCAOD") IsMC = kTRUE;
28   
29   TString taskname = "HM";
30   taskname.Append(taskss);
31   
32   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
33   if (!mgr) {
34     ::Error("AddTaskFluctuations", "No analysis manager to connect to.");
35     return NULL;
36   }
37   
38   if (!mgr->GetInputEventHandler()) {
39     ::Error("AddTaskFluctuations", "This task requires an input event handler");
40     return NULL;
41   }
42   TString type = mgr->GetInputEventHandler()->GetDataType();
43   
44   AliEbyEHigherMomentsTask *taskHM = new AliEbyEHigherMomentsTask("HigherMomentsTask");
45   taskHM->SetVertexDiamond(vx,vy,vz);
46   taskHM->SetCentralityEstimator(centralityEstimator);
47   taskHM->SetAnalysisType(analysis);
48   taskHM->SetAODtrackCutBit(AODfilterBit);
49   taskHM->SetKinematicsCutsAOD(ptl,pth,eta);
50   taskHM->SetNumberOfPtBins(nptbins);
51   
52   if(trigger) taskHM->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral);
53   else taskHM->SelectCollisionCandidates(AliVEvent::kMB);
54   // cout << " Check analysis type " << analysisType << endl;
55   
56   mgr->AddTask(taskHM);
57  
58   AliAnalysisDataContainer *coutFA = mgr->CreateContainer(taskname.Data(), 
59                                                           TList::Class(),
60                                                           AliAnalysisManager::kOutputContainer,fileNameBase.Data());
61   mgr->ConnectInput(taskHM, 0, mgr->GetCommonInputContainer());
62   mgr->ConnectOutput(taskHM, 1, coutFA);
63   
64   return taskHM;
65 }