]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/macros/AddAliHigherMomentsToyModelTask.C
Adding functionalities to transparently get trigger inputs from ESD/AOD (Diego)
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / AddAliHigherMomentsToyModelTask.C
CommitLineData
5c43679b 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//=========================================================================//
8TString fileNameBase="AnalysisResults.root";
9
10//const char* analysisType = "MCAOD"; // MC, ESD, AOD
11const char* centralityEstimator = "V0M"; // V0M, TRK, FMD, ....
12
13//_________________________________________________________//
14
15AliAnalysisTask* 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}