]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/macros/AddAliEbyEHigherMomentsTaskCentrality.C
new task MK
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / AddAliEbyEHigherMomentsTaskCentrality.C
CommitLineData
32cee8f1 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 //
e405901b 6// //
32cee8f1 7//=========================================================================//
32cee8f1 8TString fileNameBase="AnalysisResults.root";
32cee8f1 9//_________________________________________________________//
e405901b 10AliAnalysisTask* AddAliEbyEHigherMomentsTaskCentrality(Double_t vx,
11 Double_t vy,
12 Double_t vz,
13 Double_t dcaxy,
14 Double_t dcaz,
15 Double_t ptl,
16 Double_t pth,
17 Double_t eta,
18 Double_t rapidity,
19 Int_t nclus,
20 Double_t chi2ndf,
21 TString particle,
22 Double_t nsigma,
23 Int_t AODfilterBit = 128,
24 const char* centralityEstimator,
25 Bool_t trigger = kFALSE,
26 Bool_t usepid,
27 Bool_t checkEff,
28 TString analysis,
29 const char* taskss) {
32cee8f1 30
31
e405901b 32 TString taskname = "HMQA";
32cee8f1 33 taskname.Append(taskss);
e405901b 34 TString taskname1 = "HM";
35 taskname1.Append(taskss);
36
37 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
32cee8f1 38 if (!mgr) {
39 ::Error("AddTaskFluctuations", "No analysis manager to connect to.");
40 return NULL;
41 }
e405901b 42
32cee8f1 43 if (!mgr->GetInputEventHandler()) {
44 ::Error("AddTaskFluctuations", "This task requires an input event handler");
45 return NULL;
46 }
47 TString type = mgr->GetInputEventHandler()->GetDataType();
e405901b 48
32cee8f1 49 AliEbyEHigherMomentsTask *taskHM = new AliEbyEHigherMomentsTask("HigherMomentsTask");
32cee8f1 50 taskHM->SetVertexDiamond(vx,vy,vz);
32cee8f1 51 taskHM->SetCentralityEstimator(centralityEstimator);
e405901b 52 taskHM->SetAnalysisType(analysis);
53 taskHM->SetDCA(dcaxy, dcaz);
32cee8f1 54 taskHM->SetPtRange(ptl,pth);
55 taskHM->SetEta(eta);
56 taskHM->SetTPCNclus(nclus);
abe73236 57 taskHM->SetChi2PerNDF(chi2ndf);
32cee8f1 58 taskHM->SetAODtrackCutBit(AODfilterBit);
e405901b 59 taskHM->SetKinematicsCutsAOD(ptl,pth,eta);
60 taskHM->SetUsePid(usepid);
61 taskHM->SetEfficencyJob(checkEff);
62
32cee8f1 63 if(trigger) taskHM->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral);
64 else taskHM->SelectCollisionCandidates(AliVEvent::kMB);
65
e405901b 66 if( usepid ){
67 taskHM->SetNSigmaCut(nsigma);
68 taskHM->SetRapidityCut(rapidity);
69 if( particle == "Proton" ){ taskHM->SetParticleSpecies(AliPID::kProton); }
70 else if( particle == "Kaon") { taskHM->SetParticleSpecies(AliPID::kKaon); }
71 else if( particle == "Pion" ){ taskHM->SetParticleSpecies(AliPID::kPion); }
72 }
73 // cout << " Check analysis type " << analysisType << endl;
74
32cee8f1 75 mgr->AddTask(taskHM);
76
e405901b 77 AliAnalysisDataContainer *coutQA = mgr->CreateContainer(taskname.Data(),
78 TList::Class(),
79 AliAnalysisManager::kOutputContainer,fileNameBase.Data());
80 AliAnalysisDataContainer *coutFA = mgr->CreateContainer(taskname1.Data(),
32cee8f1 81 TList::Class(),
e405901b 82 AliAnalysisManager::kOutputContainer,fileNameBase.Data());
32cee8f1 83 mgr->ConnectInput(taskHM, 0, mgr->GetCommonInputContainer());
e405901b 84 mgr->ConnectOutput(taskHM, 1, coutQA);
85 mgr->ConnectOutput(taskHM, 2, coutFA);
32cee8f1 86
87 return taskHM;
88}