]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/macros/AddAliHigherMomentsToyModelTask.C
adding away side subtraction for 2D correlation functions
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / AddAliHigherMomentsToyModelTask.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 //const char* analysisType        = "MCAOD"; // MC, ESD, AOD
11 const char* centralityEstimator = "V0M"; // V0M, TRK, FMD, ....
12
13 //_________________________________________________________//
14
15 AliAnalysisTask* AddAliHigherMomentsToyModelTask(Double_t vx,
16                                                  Double_t vy,
17                                                  Double_t vz,
18                                                  Double_t dcaxy,
19                                                  Double_t dcaz,
20                                                  Double_t ptl,
21                                                  Double_t pth,
22                                                  Double_t eta,
23                                                  Double_t rapidity,
24                                                  Int_t    nclus,
25                                                  Double_t chi2ndf,
26                                                  TString particle,
27                                                  Double_t nsigma,
28                                                  Int_t AODfilterBit = 128,
29                                                  Bool_t usepid,
30                                                  TString  analysis) {
31   
32   
33   TString taskname = "HMMCQA";
34   TString taskname1 = "HMToyModel";
35   
36   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
37   if (!mgr) {
38     ::Error("AddTaskFluctuations", "No analysis manager to connect to.");
39     return NULL;
40   }
41   
42   if (!mgr->GetInputEventHandler()) {
43     ::Error("AddTaskFluctuations", "This task requires an input event handler");
44     return NULL;
45   }
46   TString type = mgr->GetInputEventHandler()->GetDataType(); 
47   
48   AliHigherMomentsToyModel *taskHM = new AliHigherMomentsToyModel("HigherMomentsTask");
49   taskHM->SetVertexDiamond(vx,vy,vz);
50   taskHM->SetCentralityEstimator(centralityEstimator);
51   taskHM->SetAnalysisType(analysis);
52   taskHM->SetDCA(dcaxy, dcaz);
53   taskHM->SetPtRange(ptl,pth);
54   taskHM->SetEta(eta);
55   taskHM->SetTPCNclus(nclus);
56   taskHM->SetChi2PerNDF(chi2ndf);
57   taskHM->SetAODtrackCutBit(AODfilterBit);
58   taskHM->SetKinematicsCutsAOD(ptl,pth,eta);
59   taskHM->SetUsePid(usepid);
60   
61   
62   if( usepid ){
63     taskHM->SetNSigmaCut(nsigma);
64     taskHM->SetRapidityCut(rapidity);
65     if( particle == "Proton" ){  taskHM->SetParticleSpecies(AliPID::kProton); }
66     else if( particle == "Kaon") { taskHM->SetParticleSpecies(AliPID::kKaon); }
67     else if( particle == "Pion" ){ taskHM->SetParticleSpecies(AliPID::kPion); }
68   }
69   // cout << " Check analysis type " << analysisType << endl;
70   
71   mgr->AddTask(taskHM);
72   
73   AliAnalysisDataContainer *coutQA = mgr->CreateContainer(taskname.Data(), 
74                                                           TList::Class(),
75                                                           AliAnalysisManager::kOutputContainer,fileNameBase.Data());
76   AliAnalysisDataContainer *coutFA = mgr->CreateContainer(taskname1.Data(), 
77                                                           TList::Class(),
78                                                           AliAnalysisManager::kOutputContainer,fileNameBase.Data());
79   mgr->ConnectInput(taskHM, 0, mgr->GetCommonInputContainer());
80   mgr->ConnectOutput(taskHM, 1, coutQA);
81   mgr->ConnectOutput(taskHM, 2, coutFA);
82   
83   return taskHM;
84 }