1 //=========================================================================//
3 // Analysis AddTask for Net-Charge Higher Moment Analysis //
4 // Author: Satyajit Jena || Nirbhay K. Behera //
5 // sjena@cern.ch || nbehera@cern.ch //
7 //=========================================================================//
8 TString fileNameBase="AnalysisResults.root";
10 //const char* analysisType = "MCAOD"; // MC, ESD, AOD
11 //const char* centralityEstimator = "V0M"; // V0M, TRK, FMD, ....
13 //_________________________________________________________//
15 AliAnalysisTask* AddAliHigherMomentsToyModelTask(Double_t vx,
28 Int_t AODfilterBit = 128,
29 const char* centralityEstimator,
30 Bool_t trigger = kFALSE,
36 TString taskname = "HMMCQA";
37 taskname.Append(taskss);
38 TString taskname1 = "HMTM";
39 taskname1.Append(taskss);
41 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
43 ::Error("AddTaskFluctuations", "No analysis manager to connect to.");
47 if (!mgr->GetInputEventHandler()) {
48 ::Error("AddTaskFluctuations", "This task requires an input event handler");
51 TString type = mgr->GetInputEventHandler()->GetDataType();
53 AliHigherMomentsToyModel *taskHM = new AliHigherMomentsToyModel("HigherMomentsTask");
54 taskHM->SetVertexDiamond(vx,vy,vz);
55 taskHM->SetCentralityEstimator(centralityEstimator);
56 taskHM->SetAnalysisType(analysis);
57 taskHM->SetDCA(dcaxy, dcaz);
58 taskHM->SetPtRange(ptl,pth);
60 taskHM->SetTPCNclus(nclus);
61 taskHM->SetChi2PerNDF(chi2ndf);
62 taskHM->SetAODtrackCutBit(AODfilterBit);
63 taskHM->SetKinematicsCutsAOD(ptl,pth,eta);
64 taskHM->SetUsePid(usepid);
65 if(trigger) taskHM->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral);
66 else taskHM->SelectCollisionCandidates(AliVEvent::kMB);
69 taskHM->SetNSigmaCut(nsigma);
70 taskHM->SetRapidityCut(rapidity);
71 if( particle == "Proton" ){ taskHM->SetParticleSpecies(AliPID::kProton); }
72 else if( particle == "Kaon") { taskHM->SetParticleSpecies(AliPID::kKaon); }
73 else if( particle == "Pion" ){ taskHM->SetParticleSpecies(AliPID::kPion); }
75 // cout << " Check analysis type " << analysisType << endl;
79 AliAnalysisDataContainer *coutQA = mgr->CreateContainer(taskname.Data(),
81 AliAnalysisManager::kOutputContainer,fileNameBase.Data());
82 AliAnalysisDataContainer *coutFA = mgr->CreateContainer(taskname1.Data(),
84 AliAnalysisManager::kOutputContainer,fileNameBase.Data());
85 mgr->ConnectInput(taskHM, 0, mgr->GetCommonInputContainer());
86 mgr->ConnectOutput(taskHM, 1, coutQA);
87 mgr->ConnectOutput(taskHM, 2, coutFA);