]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TestAOD/AddTaskJetSpectraAOD.C
TENDER becomes Tender
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AddTaskJetSpectraAOD.C
CommitLineData
582efd60 1AliAnalysisTaskJetSpectraAOD* AddTaskJetSpectraAOD(
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.9,
8 Double_t EtaMax=0.9,
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 //jet settings
582efd60 16 Float_t jetParameterR = 0.4,
17 UInt_t filterMask = 272,
18 Float_t ptJetMin = 0.15){
19
20 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
21 if (!mgr)
22 {
23 ::Error("AddAliAnalysisTaskJetSpectraAOD", "No analysis manager to connect to.");
24 return NULL;
25 }
26
27 // Check the analysis type using the event handlers connected to the analysis manager.
28 //==============================================================================
29 if (!mgr->GetInputEventHandler())
30 {
31 ::Error("AliAnalysisTaskJetSpectraAOD", "This task requires an input event handler");
32 return NULL;
33 }
34
35 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
36 if(type.Contains("ESD"))
37 {
38 ::Error("AliAnalysisTaskJetSpectraAOD", "This task requires to run on AOD");
39 return NULL;
40 }
41
42 AliSpectraAODTrackCuts * trcuts = new AliSpectraAODTrackCuts(Form("TrackCuts%s",opt.Data()));
43 trcuts->SetDCA(DCA);
44 trcuts->SetTrackBits(trkbit);
45 trcuts->SetPt(pt);
46 trcuts->SetPtTOFMatching(ptTofMatch);
47 trcuts->SetEta(EtaMin,EtaMax);
48 trcuts->SetMinTPCcls(minNclsTPC);
49 trcuts->PrintCuts();
50
51 AliSpectraAODEventCuts * evcuts = new AliSpectraAODEventCuts(Form("EventCuts%s",opt.Data()));
52 evcuts->SetQVectorCut(QvecCutMin,QvecCutMax);
53 evcuts->SetCentralityCutMax(CentCutMax);
54 evcuts->SetCentralityCutMin(CentCutMin);
55 if(mc==1)evcuts->SetIsMC(kTRUE);
56 evcuts->PrintCuts();
57
58
59 AliAnalysisTaskJetSpectraAOD *task = new AliAnalysisTaskJetSpectraAOD(Form("TaskAODSpectraCent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f_TrBit%d%s",
60 CentCutMin,
61 CentCutMax,
62 QvecCutMin,
63 QvecCutMax,
64 EtaMin,
65 EtaMax,
66 trkbit,
67 opt.Data()));
68 task->SetEventCuts(evcuts);
69 task->SetTrackCuts(trcuts);
70 if(mc==1)task->SetIsMC(kTRUE);
71
72 //jet settings
582efd60 73 task->SetFilterMask(filterMask);
74 task->SetJetPtMin(ptJetMin);
75
76 Float_t EtaJetMin = EtaMin + jetParameterR;
77 Float_t EtaJetMax = EtaMax - jetParameterR;
78 task->SetEtaJet(EtaJetMin,EtaJetMax);
9a924571 79 task->SetJetParameterR(jetParameterR);
582efd60 80
81 TString outputFileName = AliAnalysisManager::GetCommonFileName();
82
83 TString typeofdata=mc?"MC":"Data";
84
85 outputFileName += Form(":SpectraESE_%s%s",typeofdata.Data(),opt.Data());
86
87 cout<<"outputFileName: "<<outputFileName<<endl;
88 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
89 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chist%s",opt.Data()), TList::Class(), AliAnalysisManager::kOutputContainer,outputFileName);
90 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcut%s",opt.Data()), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,outputFileName);
91 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcut%s",opt.Data()), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
92 mgr->AddTask(task);
93
94 mgr->ConnectInput(task, 0, cinput);
95 mgr->ConnectOutput(task, 1, coutputpt1);
96 mgr->ConnectOutput(task, 2, coutputpt2);
97 mgr->ConnectOutput(task, 3, coutputpt3);
98
99 return task;
100}