1 //DEFINITION OF A FEW CONSTANTS
3 AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC(char *prodType = "LHC10e14")
5 // Creates HighPtQAMC 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("AddTaskPWG4HighPtQMC", "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("AddPWG4TaskHighPtQAMC", "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=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
33 trackCuts->SetEtaRange(-0.9,0.9);
34 trackCuts->SetPtRange(0.15, 1e10);
35 trackCuts->SetRequireITSRefit(kFALSE);
37 AliESDtrackCuts *trackCutsITS = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts with ITSrefit");
39 trackCutsITS=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
40 trackCutsITS->SetEtaRange(-0.9,0.9);
41 trackCutsITS->SetPtRange(0.15, 1e10);
42 trackCutsITS->SetRequireITSRefit(kTRUE);
45 AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC("AliPWG4HighPtQAMC");
46 taskPWG4QAMC->SetCuts(trackCuts);
47 taskPWG4QAMC->SetCutsITS(trackCutsITS);
48 if(!strcmp(prodType, "LHC10e14") || !strcmp(prodType, "PbPb")) taskPWG4QAMC->SetPtMax(500.);
49 else taskPWG4QAMC->SetPtMax(100.);
51 // E. Create ONLY the output containers for the data produced by the task.
52 // Get and connect other common input/output containers via the manager as below
53 //==============================================================================
55 //------ input data ------
56 // AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
57 printf("Create output containers \n");
58 TString outputfile = AliAnalysisManager::GetCommonFileName();
59 outputfile += ":PWG4_HighPtQAMC";
60 //char *outputfile = "outputAliPWG4HighPtQAMCTestTrain.root";
61 AliAnalysisDataContainer *cout_hist0 = mgr->CreateContainer("qa_histsMC", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
62 AliAnalysisDataContainer *cout_hist2 = mgr->CreateContainer("qa_histsMCITS", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
64 mgr->AddTask(taskPWG4QAMC);
65 mgr->ConnectInput(taskPWG4QAMC,0,mgr->GetCommonInputContainer());
66 mgr->ConnectOutput(taskPWG4QAMC,0,cout_hist0);
67 mgr->ConnectOutput(taskPWG4QAMC,1,cout_hist2);
69 // Return task pointer at the end