]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TestAOD/AddTaskV2AllChAOD.C
small fix
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AddTaskV2AllChAOD.C
CommitLineData
10a99a07 1AliAnalysisTaskV2AllChAOD* AddTaskV2AllChAOD(
2 Bool_t mc=kFALSE,
3 Double_t CentCutMin=0,
4 Double_t CentCutMax=100,
5 Double_t QvecCutMin=0,
6 Double_t QvecCutMax=100,
7 Double_t EtaMin=-0.8,
8 Double_t EtaMax=0.8,
9 Double_t pt=50.,
10 Double_t ptTofMatch=.6,
11 UInt_t trkbit=1,
12 Double_t DCA=100000,
13 UInt_t minNclsTPC=70,
14 TString opt=""){
15
16 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
17 if (!mgr)
18 {
19 ::Error("AddAliAnalysisTaskV2AllChAOD", "No analysis manager to connect to.");
20 return NULL;
21 }
22
23 // Check the analysis type using the event handlers connected to the analysis manager.
24 //==============================================================================
25 if (!mgr->GetInputEventHandler())
26 {
27 ::Error("AliAnalysisTaskV2AllChAOD", "This task requires an input event handler");
28 return NULL;
29 }
30
31 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
32 if(type.Contains("ESD"))
33 {
34 ::Error("AliAnalysisTaskV2AllChAOD", "This task requires to run on AOD");
35 return NULL;
36 }
37
38 AliSpectraAODTrackCuts * trcuts = new AliSpectraAODTrackCuts(Form("TrackCuts%s",opt.Data()));
39 trcuts->SetDCA(DCA);
40 trcuts->SetTrackBits(trkbit);
41 trcuts->SetPt(pt);
42 trcuts->SetPtTOFMatching(ptTofMatch);
43 trcuts->SetEta(EtaMin,EtaMax);
44 trcuts->SetMinTPCcls(minNclsTPC);
45 trcuts->PrintCuts();
46
47 AliSpectraAODEventCuts * evcuts = new AliSpectraAODEventCuts(Form("EventCuts%s",opt.Data()));
48 evcuts->SetQVectorCut(QvecCutMin,QvecCutMax);
49 evcuts->SetCentralityCutMax(CentCutMax);
50 evcuts->SetCentralityCutMin(CentCutMin);
51 if(mc==1)evcuts->SetIsMC(kTRUE);
52 evcuts->PrintCuts();
53
54 AliAnalysisTaskV2AllChAOD *task = new AliAnalysisTaskV2AllChAOD(Form("TaskAODSpectraCent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f_TrBit%d%s",
55 CentCutMin,
56 CentCutMax,
57 QvecCutMin,
58 QvecCutMax,
59 EtaMin,
60 EtaMax,
61 trkbit,
62 opt.Data()));
63 task->SetEventCuts(evcuts);
64 task->SetTrackCuts(trcuts);
65 if(mc==1)task->SetIsMC(kTRUE);
66
67 TString outputFileName = AliAnalysisManager::GetCommonFileName();
68
69 TString typeofdata=mc?"MC":"Data";
70
71 outputFileName += Form(":V2_ESE_%s%s",typeofdata.Data(),opt.Data());
72
73 cout<<"outputFileName: "<<outputFileName<<endl;
74 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
75 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chist%s",opt.Data()), TList::Class(), AliAnalysisManager::kOutputContainer,outputFileName);
76 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcut%s",opt.Data()), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,outputFileName);
77 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcut%s",opt.Data()), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
78 AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("chist_lq%s",opt.Data()), TList::Class(), AliAnalysisManager::kOutputContainer,outputFileName);
79 AliAnalysisDataContainer *coutputpt5 = mgr->CreateContainer(Form("chist_sq%s",opt.Data()), TList::Class(), AliAnalysisManager::kOutputContainer,outputFileName);
80 mgr->AddTask(task);
81
82 mgr->ConnectInput(task, 0, cinput);
83 mgr->ConnectOutput(task, 1, coutputpt1);
84 mgr->ConnectOutput(task, 2, coutputpt2);
85 mgr->ConnectOutput(task, 3, coutputpt3);
86 mgr->ConnectOutput(task, 4, coutputpt4);
87 mgr->ConnectOutput(task, 5, coutputpt5);
88
89 return task;
90}