]>
Commit | Line | Data |
---|---|---|
1f329128 | 1 | //DEFINITION OF A FEW CONSTANTS |
2 | const Double_t maxDeltaTheta = 0.01; | |
3 | const Double_t ptMin = 5.; | |
4 | ||
5 | AliPWG4CosmicCandidates* 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 | } |