]>
Commit | Line | Data |
---|---|---|
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 | 8 | TString fileNameBase="AnalysisResults.root"; |
32cee8f1 | 9 | //_________________________________________________________// |
e405901b | 10 | AliAnalysisTask* 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 | } |