]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/macros/AddTaskPPJetSpectra.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskPPJetSpectra.C
1 AliAnalysisTaskPPJetSpectra *jetAnal = 0;
2
3 AliAnalysisTaskPPJetSpectra *AddTaskPPJetSpectra(TString name = "", TString recBranch = "", TString genBranch = "", TString recBckg = "", TString genBckg= "", UInt_t fEvtSelMask=AliVEvent::kMB, Float_t fEvtClass = -1,  Int_t nVtxContCut=0, Double_t fVtxZcut = 10, Double_t fVtxRcut = 1, UInt_t nTrackFilter = 272, Double_t trackPtMin = 0.15, Double_t trackPtMax = 100., Double_t trackEtaAbs = 0.9, Double_t fJetPtMin= 5, Double_t fJetEta = 0.9, Double_t fJetZ = 0.99)
4 {
5
6   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7   if(!mgr) 
8   {
9     ::Error("AddTaskJetAnalysis", "No Analysis Manager found");
10     return NULL;
11   }
12   AliAnalysisTaskPPJetSpectra *task = 0;
13
14   if(name.Length() == 0) name = Form("JetAnalysis-%s-%s-%s-%s",recBranch.Data(),genBranch.Data(), recBckg.Data(), genBckg.Data() );
15   task = new AliAnalysisTaskPPJetSpectra(name.Data());
16   task->SetRecJetBranch(recBranch);
17   task->SetGenJetBranch(genBranch);
18   task->SetRecBckgBranch(recBckg);
19   task->SetGenBckgBranch(genBckg);
20   task->SetEventSelectionMask(fEvtSelMask);
21   task->SetEventClass(fEvtClass);
22   task->SetTrackFilter(nTrackFilter);
23   task->SetVertexCuts(nVtxContCut, fVtxZcut, fVtxRcut);
24   task->SetTrackCuts(trackPtMin, trackPtMax, trackEtaAbs);
25   task->SetJetCuts(fJetPtMin, fJetEta, fJetZ);
26
27   if(recBranch.Contains("MC") || genBranch.Contains("MC")) task->UseMC(kTRUE);
28   else task->UseMC(kFALSE);
29
30   if(recBranch.Contains("MC2")) task->SetTrackType(3);
31   else if(recBranch.Contains("MC")) task->SetTrackType(2);
32   else task->SetTrackType(1);
33   
34   if(genBranch.Contains("MC2")) task->SetParticleType(3);
35   else if(genBranch.Contains("MC")) task->SetParticleType(2);
36   else task->SetParticleType(1);
37
38   mgr->AddTask(task);
39
40   AliAnalysisDataContainer *container = mgr->CreateContainer(name.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:JETANALYSIS_%s", AliAnalysisManager::GetCommonFileName(), name.Data()));
41
42   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
43   mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
44   mgr->ConnectOutput(task, 1, container);
45
46   mgr->Print();
47   cout<<__LINE__<<endl;
48   
49   return task;
50 }