void AddTaskPWG4HighPtQAMCAll(char *prodType = "LHC10e14") {
AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,0);
AliPWG4HighPtQAMC *taskQAMC01 = AddTaskPWG4HighPtQAMC(prodType,0,1);
// AliPWG4HighPtQAMC *taskQAMC02 = AddTaskPWG4HighPtQAMC(prodType,0,2);
// AliPWG4HighPtQAMC *taskQAMC10 = AddTaskPWG4HighPtQAMC(prodType,1,0);
// AliPWG4HighPtQAMC *taskQAMC20 = AddTaskPWG4HighPtQAMC(prodType,2,0);
AliPWG4HighPtQAMC *taskQAMC70 = AddTaskPWG4HighPtQAMC(prodType,7,0);
AliPWG4HighPtQAMC *taskQAMC71 = AddTaskPWG4HighPtQAMC(prodType,7,1);
AliPWG4HighPtQAMC *taskQAMC72 = AddTaskPWG4HighPtQAMC(prodType,7,2);
}
AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC(char *prodType = "LHC10e14", Int_t trackType = 0, Int_t cuts =0)
{
// Creates HighPtQAMC analysis task and adds it to the analysis manager.
//Track types:
//trackType
// 0: global tracks
// 1: TPConly tracks
// 2: TPConly constrained tracks
//Load common track cut class
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
// A. Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
return NULL;
}
// B. Check the analysis type using the event handlers connected to the analysis
// manager. The availability of MC handler can also be checked here.
//==============================================================================
if (!mgr->GetInputEventHandler()) {
::Error("AddPWG4TaskHighPtQAMC", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
const char *analysisType = "ESD";
// C. Create the task, add it to manager.
//===========================================================================
//CREATE THE CUTS -----------------------------------------------
//Use AliESDtrackCuts
AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
AliESDtrackCuts *trackCutsReject = 0x0;
//Standard Cuts
//Set track cuts for global tracks
if(trackType==0 && cuts==0) {
// tight global tracks - RAA analysis
trackCuts = CreateTrackCutsPWGJE(1000);
}
if(trackType==0 && cuts==1) {
//Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
trackCuts = CreateTrackCutsPWGJE(10001006);
}
if(trackType==0 && cuts==2) {
//Cuts global tracks with ITSrefit requirement but without SPD
trackCuts = CreateTrackCutsPWGJE(10011006);
}
if(trackType==7 && cuts==0) {
// tight global tracks
trackCuts = CreateTrackCutsPWGJE(10041006);
trackCutsReject = CreateTrackCutsPWGJE(1006);
trackCutsReject->SetEtaRange(-0.9,0.9);
trackCutsReject->SetPtRange(0.15, 1e10);
}
if(trackType==7 && cuts==1) {
// tight global tracks
trackCuts = CreateTrackCutsPWGJE(10011006);
}
if(trackType==7 && cuts==2) {
// no requirements on SPD and ITSrefit failed
trackCuts = CreateTrackCutsPWGJE(10041006); //no ITSrefit requirement filter 256
trackCutsReject = CreateTrackCutsPWGJE(10001006); //ITSrefit requirement filter 16
trackCutsReject->SetEtaRange(-0.9,0.9);
trackCutsReject->SetPtRange(0.15, 1e10);
}
//Set track cuts for TPConly tracks
if(trackType==1 || trackType==2) {
//Set track cuts for TPConly tracks
trackCuts = CreateTrackCutsPWGJE(2001);
}
trackCuts->SetEtaRange(-0.9,0.9);
trackCuts->SetPtRange(0.15, 1e10);
//Create the task
AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC(Form("AliPWG4HighPtQAMC%d%d",trackType,cuts));
taskPWG4QAMC->SetCuts(trackCuts);
taskPWG4QAMC->SetCutsReject(trackCutsReject);
taskPWG4QAMC->SetTrackType(trackType);
if(!strcmp(prodType, "LHC10e14")) taskPWG4QAMC->SetPtMax(500.);
else taskPWG4QAMC->SetPtMax(100.);
//taskPWG4QAMC->SetSigmaConstrainedMax(5.);
// E. Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
//------ input data ------
// AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
printf("Create output containers \n");
TString outputfile = AliAnalysisManager::GetCommonFileName();
outputfile += Form(":PWG4_HighPtQAMC%d%d",trackType,cuts);
AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer(Form("qa_histsMC%d%d",trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
mgr->AddTask(taskPWG4QAMC);
mgr->ConnectInput(taskPWG4QAMC,0,mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskPWG4QAMC,0,cout_hist1);
// Return task pointer at the end
return taskPWG4QAMC;
}
AddTaskPWG4HighPtQAMC.C:1 AddTaskPWG4HighPtQAMC.C:2 AddTaskPWG4HighPtQAMC.C:3 AddTaskPWG4HighPtQAMC.C:4 AddTaskPWG4HighPtQAMC.C:5 AddTaskPWG4HighPtQAMC.C:6 AddTaskPWG4HighPtQAMC.C:7 AddTaskPWG4HighPtQAMC.C:8 AddTaskPWG4HighPtQAMC.C:9 AddTaskPWG4HighPtQAMC.C:10 AddTaskPWG4HighPtQAMC.C:11 AddTaskPWG4HighPtQAMC.C:12 AddTaskPWG4HighPtQAMC.C:13 AddTaskPWG4HighPtQAMC.C:14 AddTaskPWG4HighPtQAMC.C:15 AddTaskPWG4HighPtQAMC.C:16 AddTaskPWG4HighPtQAMC.C:17 AddTaskPWG4HighPtQAMC.C:18 AddTaskPWG4HighPtQAMC.C:19 AddTaskPWG4HighPtQAMC.C:20 AddTaskPWG4HighPtQAMC.C:21 AddTaskPWG4HighPtQAMC.C:22 AddTaskPWG4HighPtQAMC.C:23 AddTaskPWG4HighPtQAMC.C:24 AddTaskPWG4HighPtQAMC.C:25 AddTaskPWG4HighPtQAMC.C:26 AddTaskPWG4HighPtQAMC.C:27 AddTaskPWG4HighPtQAMC.C:28 AddTaskPWG4HighPtQAMC.C:29 AddTaskPWG4HighPtQAMC.C:30 AddTaskPWG4HighPtQAMC.C:31 AddTaskPWG4HighPtQAMC.C:32 AddTaskPWG4HighPtQAMC.C:33 AddTaskPWG4HighPtQAMC.C:34 AddTaskPWG4HighPtQAMC.C:35 AddTaskPWG4HighPtQAMC.C:36 AddTaskPWG4HighPtQAMC.C:37 AddTaskPWG4HighPtQAMC.C:38 AddTaskPWG4HighPtQAMC.C:39 AddTaskPWG4HighPtQAMC.C:40 AddTaskPWG4HighPtQAMC.C:41 AddTaskPWG4HighPtQAMC.C:42 AddTaskPWG4HighPtQAMC.C:43 AddTaskPWG4HighPtQAMC.C:44 AddTaskPWG4HighPtQAMC.C:45 AddTaskPWG4HighPtQAMC.C:46 AddTaskPWG4HighPtQAMC.C:47 AddTaskPWG4HighPtQAMC.C:48 AddTaskPWG4HighPtQAMC.C:49 AddTaskPWG4HighPtQAMC.C:50 AddTaskPWG4HighPtQAMC.C:51 AddTaskPWG4HighPtQAMC.C:52 AddTaskPWG4HighPtQAMC.C:53 AddTaskPWG4HighPtQAMC.C:54 AddTaskPWG4HighPtQAMC.C:55 AddTaskPWG4HighPtQAMC.C:56 AddTaskPWG4HighPtQAMC.C:57 AddTaskPWG4HighPtQAMC.C:58 AddTaskPWG4HighPtQAMC.C:59 AddTaskPWG4HighPtQAMC.C:60 AddTaskPWG4HighPtQAMC.C:61 AddTaskPWG4HighPtQAMC.C:62 AddTaskPWG4HighPtQAMC.C:63 AddTaskPWG4HighPtQAMC.C:64 AddTaskPWG4HighPtQAMC.C:65 AddTaskPWG4HighPtQAMC.C:66 AddTaskPWG4HighPtQAMC.C:67 AddTaskPWG4HighPtQAMC.C:68 AddTaskPWG4HighPtQAMC.C:69 AddTaskPWG4HighPtQAMC.C:70 AddTaskPWG4HighPtQAMC.C:71 AddTaskPWG4HighPtQAMC.C:72 AddTaskPWG4HighPtQAMC.C:73 AddTaskPWG4HighPtQAMC.C:74 AddTaskPWG4HighPtQAMC.C:75 AddTaskPWG4HighPtQAMC.C:76 AddTaskPWG4HighPtQAMC.C:77 AddTaskPWG4HighPtQAMC.C:78 AddTaskPWG4HighPtQAMC.C:79 AddTaskPWG4HighPtQAMC.C:80 AddTaskPWG4HighPtQAMC.C:81 AddTaskPWG4HighPtQAMC.C:82 AddTaskPWG4HighPtQAMC.C:83 AddTaskPWG4HighPtQAMC.C:84 AddTaskPWG4HighPtQAMC.C:85 AddTaskPWG4HighPtQAMC.C:86 AddTaskPWG4HighPtQAMC.C:87 AddTaskPWG4HighPtQAMC.C:88 AddTaskPWG4HighPtQAMC.C:89 AddTaskPWG4HighPtQAMC.C:90 AddTaskPWG4HighPtQAMC.C:91 AddTaskPWG4HighPtQAMC.C:92 AddTaskPWG4HighPtQAMC.C:93 AddTaskPWG4HighPtQAMC.C:94 AddTaskPWG4HighPtQAMC.C:95 AddTaskPWG4HighPtQAMC.C:96 AddTaskPWG4HighPtQAMC.C:97 AddTaskPWG4HighPtQAMC.C:98 AddTaskPWG4HighPtQAMC.C:99 AddTaskPWG4HighPtQAMC.C:100 AddTaskPWG4HighPtQAMC.C:101 AddTaskPWG4HighPtQAMC.C:102 AddTaskPWG4HighPtQAMC.C:103 AddTaskPWG4HighPtQAMC.C:104 AddTaskPWG4HighPtQAMC.C:105 AddTaskPWG4HighPtQAMC.C:106 AddTaskPWG4HighPtQAMC.C:107 AddTaskPWG4HighPtQAMC.C:108 AddTaskPWG4HighPtQAMC.C:109 AddTaskPWG4HighPtQAMC.C:110 AddTaskPWG4HighPtQAMC.C:111 AddTaskPWG4HighPtQAMC.C:112 AddTaskPWG4HighPtQAMC.C:113 AddTaskPWG4HighPtQAMC.C:114 AddTaskPWG4HighPtQAMC.C:115 AddTaskPWG4HighPtQAMC.C:116 AddTaskPWG4HighPtQAMC.C:117 AddTaskPWG4HighPtQAMC.C:118 AddTaskPWG4HighPtQAMC.C:119 AddTaskPWG4HighPtQAMC.C:120 AddTaskPWG4HighPtQAMC.C:121 AddTaskPWG4HighPtQAMC.C:122