]>
Commit | Line | Data |
---|---|---|
5ea3b761 | 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 | |
11 | //const char* centralityEstimator = "V0M"; // V0M, TRK, FMD, .... | |
12 | ||
13 | //_________________________________________________________// | |
14 | ||
15 | AliAnalysisTask* AddAliEbyEHigherMomentsEffContTask(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 | Int_t AODfilterBit = 128, | |
27 | Bool_t usepid, | |
28 | TString particle, | |
29 | Double_t nsigma, | |
30 | Bool_t CheckCont, | |
31 | Bool_t efficiency, | |
32 | const char* centralityEstimator, | |
33 | Bool_t trigger = kFALSE, | |
34 | const char* analysisType, | |
35 | const char* taskss) { | |
36 | ||
37 | ||
38 | TString taskname = "HMQA"; | |
39 | TString taskname1 = "HM"; | |
40 | taskname.Append(taskss); | |
41 | taskname1.Append(taskss); | |
42 | ||
43 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
44 | if (!mgr) { | |
45 | ::Error("AddTaskFluctuations", "No analysis manager to connect to."); | |
46 | return NULL; | |
47 | } | |
48 | ||
49 | if (!mgr->GetInputEventHandler()) { | |
50 | ::Error("AddTaskFluctuations", "This task requires an input event handler"); | |
51 | return NULL; | |
52 | } | |
53 | TString type = mgr->GetInputEventHandler()->GetDataType(); | |
54 | ||
55 | AliEbyEHigherMomentsEffContTask *taskHM = new AliEbyEHigherMomentsEffContTask("HigherMomentsTask"); | |
56 | taskHM->SetVertexDiamond(vx,vy,vz); | |
57 | taskHM->SetKinematicsCutsAOD(ptl,pth,eta); | |
58 | taskHM->SetDCA(dcaxy, dcaz); | |
59 | taskHM->SetCentralityEstimator(centralityEstimator); | |
60 | taskHM->SetAnalysisType(analysisType); | |
61 | taskHM->SetPtRange(ptl,pth); | |
62 | taskHM->SetEta(eta); | |
63 | taskHM->SetTPCNclus(nclus); | |
64 | taskHM->SetChi2PerNDF(chi2ndf); | |
65 | taskHM->SetAODtrackCutBit(AODfilterBit); | |
66 | taskHM->SetUsePid(usepid); | |
67 | taskHM->SetContaMinationCheck(CheckCont); | |
68 | taskHM->SetEfficencyJob(efficiency); | |
69 | ||
70 | if( usepid ){ | |
71 | taskHM->SetNSigmaCut(nsigma); | |
72 | taskHM->SetRapidityCut(rapidity); | |
73 | if( particle == "Proton" ){ taskHM->SetParticleSpecies(AliPID::kProton); } | |
74 | else if( particle == "Kaon") { taskHM->SetParticleSpecies(AliPID::kKaon); } | |
75 | else if( particle == "Pion" ){ taskHM->SetParticleSpecies(AliPID::kPion); } | |
76 | } | |
77 | ||
78 | if(trigger) taskHM->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral); | |
79 | else taskHM->SelectCollisionCandidates(AliVEvent::kMB); | |
80 | ||
81 | mgr->AddTask(taskHM); | |
82 | ||
83 | ||
84 | AliAnalysisDataContainer *coutQA = mgr->CreateContainer(taskname.Data(), | |
85 | TList::Class(), | |
86 | AliAnalysisManager::kOutputContainer,fileNameBase.Data()); | |
87 | AliAnalysisDataContainer *coutFA = mgr->CreateContainer(taskname1.Data(), | |
88 | TList::Class(), | |
89 | AliAnalysisManager::kOutputContainer,fileNameBase.Data()); | |
90 | mgr->ConnectInput(taskHM, 0, mgr->GetCommonInputContainer()); | |
91 | mgr->ConnectOutput(taskHM, 1, coutQA); | |
92 | mgr->ConnectOutput(taskHM, 2, coutFA); | |
93 | ||
94 | return taskHM; | |
95 | } |