]>
Commit | Line | Data |
---|---|---|
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 | //=========================================================================// | |
8 | TString fileNameBase="AnalysisResults.root"; | |
9 | ||
10 | //const char* analysisType = "MCAOD"; // MC, ESD, AOD | |
beb13b6c | 11 | //const char* centralityEstimator = "V0M"; // V0M, TRK, FMD, .... |
5c43679b | 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, | |
beb13b6c | 29 | const char* centralityEstimator, |
30 | Bool_t trigger = kFALSE, | |
5c43679b | 31 | Bool_t usepid, |
b1d5bc20 | 32 | TString analysis, |
33 | const char* taskss) { | |
5c43679b | 34 | |
35 | ||
36 | TString taskname = "HMMCQA"; | |
b1d5bc20 | 37 | taskname.Append(taskss); |
38 | TString taskname1 = "HMTM"; | |
39 | taskname1.Append(taskss); | |
5c43679b | 40 | |
41 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
42 | if (!mgr) { | |
43 | ::Error("AddTaskFluctuations", "No analysis manager to connect to."); | |
44 | return NULL; | |
45 | } | |
46 | ||
47 | if (!mgr->GetInputEventHandler()) { | |
48 | ::Error("AddTaskFluctuations", "This task requires an input event handler"); | |
49 | return NULL; | |
50 | } | |
51 | TString type = mgr->GetInputEventHandler()->GetDataType(); | |
52 | ||
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); | |
59 | taskHM->SetEta(eta); | |
60 | taskHM->SetTPCNclus(nclus); | |
61 | taskHM->SetChi2PerNDF(chi2ndf); | |
62 | taskHM->SetAODtrackCutBit(AODfilterBit); | |
63 | taskHM->SetKinematicsCutsAOD(ptl,pth,eta); | |
64 | taskHM->SetUsePid(usepid); | |
beb13b6c | 65 | if(trigger) taskHM->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral); |
66 | else taskHM->SelectCollisionCandidates(AliVEvent::kMB); | |
5c43679b | 67 | |
68 | if( usepid ){ | |
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); } | |
74 | } | |
75 | // cout << " Check analysis type " << analysisType << endl; | |
76 | ||
77 | mgr->AddTask(taskHM); | |
78 | ||
79 | AliAnalysisDataContainer *coutQA = mgr->CreateContainer(taskname.Data(), | |
80 | TList::Class(), | |
81 | AliAnalysisManager::kOutputContainer,fileNameBase.Data()); | |
82 | AliAnalysisDataContainer *coutFA = mgr->CreateContainer(taskname1.Data(), | |
83 | TList::Class(), | |
84 | AliAnalysisManager::kOutputContainer,fileNameBase.Data()); | |
85 | mgr->ConnectInput(taskHM, 0, mgr->GetCommonInputContainer()); | |
86 | mgr->ConnectOutput(taskHM, 1, coutQA); | |
87 | mgr->ConnectOutput(taskHM, 2, coutFA); | |
88 | ||
89 | return taskHM; | |
90 | } |