1 //DEFINITION OF A FEW CONSTANTS
3 AliPWG4HighPtQATPConly* AddTaskPWG4HighPtQATPConly()//<some_parameters>)
5 // Creates a proton analysis task and adds it to the analysis manager.
7 // A. Get the pointer to the existing analysis manager via the static access method.
8 //==============================================================================
9 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
11 Error("AddTaskPWG4HighPtSpectra", "No analysis manager to connect to.");
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("AddTaskPWG4HighPtTPConly", "This task requires an input event handler");
22 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
23 const char *analysisType = "ESD";//"TPC"
25 // C. Create the task, add it to manager.
26 //===========================================================================
28 //CREATE THE CUTS -----------------------------------------------
30 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
32 trackCuts->SetAcceptKinkDaughters(kFALSE);//
33 trackCuts->SetRequireTPCRefit(kTRUE);//
34 trackCuts->SetEtaRange(-0.9,0.9);//-0.5,0.5);//
35 trackCuts->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);//
36 trackCuts->SetPtRange(0.15, 1e10);//
37 trackCuts->SetMinNClustersTPC(50);//
38 trackCuts->SetMaxChi2PerClusterTPC(3.5);//
39 //trackCuts->SetRequireITSRefit(kTRUE);
40 trackCuts->SetMaxDCAToVertexXY(2.4);
41 trackCuts->SetMaxDCAToVertexZ(3.2);
42 trackCuts->SetDCAToVertex2D(kTRUE);
44 AliESDtrackCuts *trackCutsITS = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts with ITSrefit");
45 trackCutsITS->SetAcceptKinkDaughters(kFALSE);//
46 trackCutsITS->SetRequireTPCRefit(kTRUE);//
47 trackCutsITS->SetEtaRange(-0.9,0.9);//-0.5,0.5);//
48 trackCutsITS->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);//
49 trackCutsITS->SetPtRange(0.15, 1e10);//
50 trackCutsITS->SetMinNClustersTPC(50);//
51 trackCutsITS->SetMaxChi2PerClusterTPC(3.5);//
52 trackCutsITS->SetRequireITSRefit(kTRUE);
53 trackCutsITS->SetMaxDCAToVertexXY(2.4);
54 trackCutsITS->SetMaxDCAToVertexZ(3.2);
55 trackCutsITS->SetDCAToVertex2D(kTRUE);
58 AliPWG4HighPtQATPConly *taskPWG4QA = new AliPWG4HighPtQATPConly("AliPWG4HighPtQATPConly");
59 taskPWG4QA->SetCuts(trackCuts);
60 taskPWG4QA->SetCutsITS(trackCutsITS);
63 // E. Create ONLY the output containers for the data produced by the task.
64 // Get and connect other common input/output containers via the manager as below
65 //==============================================================================
67 //------ input data ------
68 // AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
69 TString outputfile = AliAnalysisManager::GetCommonFileName();
70 outputfile += ":PWG4_HighPtQATPConly";
71 //char *outputfile = "outputAliPWG4HighPtQATPConlyTestTrain.root";
72 AliAnalysisDataContainer *cout_hist0 = mgr->CreateContainer("qa_hists", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
73 AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer("qa_histsTPC", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
74 AliAnalysisDataContainer *cout_hist2 = mgr->CreateContainer("qa_histsITS", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
77 mgr->AddTask(taskPWG4QA);
79 mgr->ConnectInput(taskPWG4QA,0,mgr->GetCommonInputContainer());
80 mgr->ConnectOutput(taskPWG4QA,0,cout_hist0);
81 mgr->ConnectOutput(taskPWG4QA,1,cout_hist1);
82 mgr->ConnectOutput(taskPWG4QA,2,cout_hist2);
84 // Return task pointer at the end