]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/AddTaskPWG4CosmicCandidates.C
Bastian Bathen:
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskPWG4CosmicCandidates.C
CommitLineData
1f329128 1//DEFINITION OF A FEW CONSTANTS
2const Double_t maxDeltaTheta = 0.01;
3const Double_t ptMin = 5.;
4
5AliPWG4CosmicCandidates* AddTaskPWG4CosmicCandidates(int cuts=1)
6{
7 // Creates HighPtQATPConly analysis task and adds it to the analysis manager.
8
9 // A. Get the pointer to the existing analysis manager via the static access method.
10 //==============================================================================
11 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12 if (!mgr) {
13 Error("AddTaskPWG4CosmicCandidates", "No analysis manager to connect to.");
14 return NULL;
15 }
16
17 // B. Check the analysis type using the event handlers connected to the analysis
18 // manager. The availability of MC handler can also be checked here.
19 //==============================================================================
20 if (!mgr->GetInputEventHandler()) {
21 ::Error("AddTaskPWG4CosmicCandidates", "This task requires an input event handler");
22 return NULL;
23 }
24
25 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
26
27 // C. Create the task, add it to manager.
28 //===========================================================================
29
30 //CREATE THE CUTS -----------------------------------------------
31 //Use AliESDtrackCuts
32 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
33 if(cuts==1) trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
34 trackCuts->SetEtaRange(-0.9,0.9);
35 trackCuts->SetPtRange(0.15, 1e10);
36
37
38 //Create the task
39 cout << "Create the task AliPWG4CosmicCandidates" << endl;
40 AliPWG4CosmicCandidates *taskPWG4CC = new AliPWG4CosmicCandidates(Form("AliPWG4CosmicCandidates%d",cuts));
41 taskPWG4CC->SetCuts(trackCuts);
42 taskPWG4CC->SetMaxCosmicAngle(maxDeltaTheta);//0.008);
43 taskPWG4CC->SetPtMin(ptMin);
44 taskPWG4CC->SelectCollisionCandidates();
45
46 //Add task to manager
47 mgr->AddTask(taskPWG4CC);
48
49 // E. Create ONLY the output containers for the data produced by the task.
50 // Get and connect other common input/output containers via the manager as below
51 //==============================================================================
52 // TString commonFileName = AliAnalysisManager::GetCommonFileName();
53 // commonFileName += ":PWG4_CosmicCandidates";
54 AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer(Form("cosmic_hists%d",cuts), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:PWG4_CosmicCandidates%d", AliAnalysisManager::GetCommonFileName(),cuts));
55 AliAnalysisDataContainer *cout_cuts0 = mgr->CreateContainer(Form("cosmic_cuts%d",cuts), AliESDtrackCuts::Class(), AliAnalysisManager::kParamContainer, Form("%s:PWG4_CosmicCandidates%d",AliAnalysisManager::GetCommonFileName(),cuts));
56
57
58 //Connect input containter to manager
59 mgr->ConnectInput(taskPWG4CC,0,mgr->GetCommonInputContainer());
60
61 //Connect output containers to manager
62 mgr->ConnectOutput(taskPWG4CC,1,cout_hist1);
63 mgr->ConnectOutput(taskPWG4CC,2,cout_cuts0);
64
65 // Return task pointer at the end
66 return taskPWG4CC;
67}