1 void AddTaskPWG4HighPtQAMCAll(char *prodType = "LHC10e14") {
3 AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,0);
4 AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,1);
5 AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,2);
6 AliPWG4HighPtQAMC *taskQAMC10 = AddTaskPWG4HighPtQAMC(prodType,1,0);
7 AliPWG4HighPtQAMC *taskQAMC20 = AddTaskPWG4HighPtQAMC(prodType,2,0);
8 AliPWG4HighPtQAMC *taskQAMC70 = AddTaskPWG4HighPtQAMC(prodType,7,0);
11 AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC(char *prodType = "LHC10e14", Int_t trackType = 0, Int_t cuts =0)
13 // Creates HighPtQAMC analysis task and adds it to the analysis manager.
19 // 2: TPConly constrained tracks
21 //Load common track cut class
22 gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/CreateTrackCutsPWG4.C");
24 // A. Get the pointer to the existing analysis manager via the static access method.
25 //==============================================================================
26 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
28 Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
32 // B. Check the analysis type using the event handlers connected to the analysis
33 // manager. The availability of MC handler can also be checked here.
34 //==============================================================================
35 if (!mgr->GetInputEventHandler()) {
36 ::Error("AddPWG4TaskHighPtQAMC", "This task requires an input event handler");
39 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
40 const char *analysisType = "ESD";
42 // C. Create the task, add it to manager.
43 //===========================================================================
45 //CREATE THE CUTS -----------------------------------------------
47 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
49 //Set track cuts for global tracks
50 if(trackType==0 && cuts==0) {
51 // tight global tracks - RAA analysis
52 trackCuts = CreateTrackCutsPWG4(1000);
54 if(trackType==0 && cuts==1) {
55 //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
56 trackCuts = CreateTrackCutsPWG4(10001001);
58 if(trackType==0 && cuts==2) {
59 //Cuts global tracks with ITSrefit requirement but without SPD
60 trackCuts = CreateTrackCutsPWG4(10011001);
62 if(trackType==7 && cuts==0) {
63 // tight global tracks
64 trackCuts = CreateTrackCutsPWG4(10041001);
66 if(trackType==7 && cuts==1) {
67 // tight global tracks
68 trackCuts = CreateTrackCutsPWG4(10011001);
70 //Set track cuts for TPConly tracks
71 if(trackType==1 || trackType==2) {
72 //Set track cuts for TPConly tracks
73 trackCuts = CreateTrackCutsPWG4(2001);
75 trackCuts->SetEtaRange(-0.9,0.9);
76 trackCuts->SetPtRange(0.15, 1e10);
79 AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC(Form("AliPWG4HighPtQAMC%d",trackType));
80 taskPWG4QAMC->SetCuts(trackCuts);
81 taskPWG4QAMC->SetTrackType(trackType);
83 if(!strcmp(prodType, "LHC10e14")) taskPWG4QAMC->SetPtMax(500.);
84 else taskPWG4QAMC->SetPtMax(100.);
86 //taskPWG4QAMC->SetSigmaConstrainedMax(5.);
88 // E. Create ONLY the output containers for the data produced by the task.
89 // Get and connect other common input/output containers via the manager as below
90 //==============================================================================
92 //------ input data ------
93 // AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
94 printf("Create output containers \n");
95 TString outputfile = AliAnalysisManager::GetCommonFileName();
96 outputfile += Form(":PWG4_HighPtQAMC%d%d",trackType,cuts);
98 AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer(Form("qa_histsMC%d%d",trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
100 mgr->AddTask(taskPWG4QAMC);
101 mgr->ConnectInput(taskPWG4QAMC,0,mgr->GetCommonInputContainer());
102 mgr->ConnectOutput(taskPWG4QAMC,0,cout_hist1);
104 // Return task pointer at the end