Updating track cuts and removing functionality that is now in separate cosmics tasks
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskPWG4HighPtQAMC.C
... / ...
CommitLineData
1//DEFINITION OF A FEW CONSTANTS
2
3AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC()
4{
5 // Creates HighPtQAMC analysis task and adds it to the analysis manager.
6
7 // A. Get the pointer to the existing analysis manager via the static access method.
8 //==============================================================================
9 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10 if (!mgr) {
11 Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
12 return NULL;
13 }
14
15 // B. Check the analysis type using the event handlers connected to the analysis
16 // manager. The availability of MC handler can also be checked here.
17 //==============================================================================
18 if (!mgr->GetInputEventHandler()) {
19 ::Error("AddPWG4TaskHighPtQAMC", "This task requires an input event handler");
20 return NULL;
21 }
22 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
23 const char *analysisType = "ESD";//"TPC"
24
25 // C. Create the task, add it to manager.
26 //===========================================================================
27
28 //CREATE THE CUTS -----------------------------------------------
29 //Use AliESDtrackCuts
30 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
31 //Standard Cuts
32 trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
33 trackCuts->SetEtaRange(-0.9,0.9);
34 trackCuts->SetPtRange(0.15, 1e10);
35 trackCuts->SetRequireITSRefit(kFALSE);
36
37 AliESDtrackCuts *trackCutsITS = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts with ITSrefit");
38 //Standard Cuts
39 trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
40 trackCuts->SetEtaRange(-0.9,0.9);
41 trackCuts->SetPtRange(0.15, 1e10);
42 trackCuts->SetRequireITSRefit(kTRUE);
43
44 //Create the task
45 AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC("AliPWG4HighPtQAMC");
46 taskPWG4QAMC->SetCuts(trackCuts);
47 taskPWG4QAMC->SetCutsITS(trackCutsITS);
48
49
50 // E. Create ONLY the output containers for the data produced by the task.
51 // Get and connect other common input/output containers via the manager as below
52 //==============================================================================
53
54 //------ input data ------
55 // AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
56 printf("Create output containers \n");
57 TString outputfile = AliAnalysisManager::GetCommonFileName();
58 outputfile += ":PWG4_HighPtQAMC";
59 //char *outputfile = "outputAliPWG4HighPtQAMCTestTrain.root";
60 AliAnalysisDataContainer *cout_hist0 = mgr->CreateContainer("qa_histsMC", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
61 AliAnalysisDataContainer *cout_hist2 = mgr->CreateContainer("qa_histsMCITS", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
62
63 mgr->AddTask(taskPWG4QAMC);
64 mgr->ConnectInput(taskPWG4QAMC,0,mgr->GetCommonInputContainer());
65 mgr->ConnectOutput(taskPWG4QAMC,0,cout_hist0);
66 mgr->ConnectOutput(taskPWG4QAMC,1,cout_hist2);
67
68 // Return task pointer at the end
69 return taskPWG4QAMC;
70}