//DEFINITION OF A FEW CONSTANTS
AliPWG4HighPtQATPConly* AddTaskPWG4HighPtQATPConly(char *prodType = "LHC10e14",int cuts=2)//1: Standard Cuts 2009 2: GetStandardITSTPCTrackCuts2009
{
// Creates HighPtQATPConly analysis task and adds it to the analysis manager.
// A. Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
Error("AddTaskPWG4HighPtQATPConly", "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("AddTaskPWG4HighPtQATPConly", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
const char *analysisType = "ESD";//"TPC"
// C. Create the task, add it to manager.
//===========================================================================
//CREATE THE CUTS -----------------------------------------------
//Use AliESDtrackCuts
AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
if(cuts==1) {
trackCuts=trackCuts->GetStandardITSTPCTrackCuts2010(kTRUE);//Primary Track Selection
trackCuts->SetEtaRange(-0.9,0.9);
trackCuts->SetPtRange(0.15, 1e10);
}
else if(cuts==2) {
trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
trackCuts->SetEtaRange(-0.9,0.9);
trackCuts->SetPtRange(0.15, 1e10);
}
AliESDtrackCuts *trackCutsITS = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts with ITSrefit");
if(cuts==1) {
//Cuts SPD || SDD
// TPC
trackCutsITS->SetMinNClustersTPC(70);
trackCutsITS->SetMaxChi2PerClusterTPC(4);
trackCutsITS->SetAcceptKinkDaughters(kFALSE);
trackCutsITS->SetRequireTPCRefit(kTRUE);
// ITS
trackCutsITS->SetRequireITSRefit(kTRUE);
trackCutsITS->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone);
trackCutsITS->SetClusterRequirementITS(AliESDtrackCuts::kSDD, AliESDtrackCuts::kFirst);
trackCutsITS->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
trackCutsITS->SetMaxDCAToVertexZ(2);
trackCutsITS->SetDCAToVertex2D(kFALSE);
trackCutsITS->SetRequireSigmaToVertex(kFALSE);
trackCutsITS->SetEtaRange(-0.9,0.9);
trackCutsITS->SetPtRange(0.15, 1e10);
trackCutsITS->SetRequireITSRefit(kTRUE);
}
else if(cuts==2) {
trackCutsITS=trackCutsITS->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
trackCutsITS->SetEtaRange(-0.9,0.9);
trackCutsITS->SetPtRange(0.15, 1e10);
}
//Create the task
AliPWG4HighPtQATPConly *taskPWG4QA = new AliPWG4HighPtQATPConly(Form("AliPWG4HighPtQATPConly%d",cuts));
taskPWG4QA->SetCuts(trackCuts);
taskPWG4QA->SetCutsITS(trackCutsITS);
taskPWG4QA->SetCutType(cuts);
if(!strcmp(prodType, "LHC10e14") || !strcmp(prodType, "PbPb")) taskPWG4QA->SetPtMax(500.);
else taskPWG4QA->SetPtMax(100.);
// 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 ------
TString outputfile = "";
outputfile = AliAnalysisManager::GetCommonFileName();
outputfile += Form(":PWG4_HighPtQATPConly%d",cuts);
AliAnalysisDataContainer *cout_hist0;
AliAnalysisDataContainer *cout_hist1;
AliAnalysisDataContainer *cout_hist2;
AliAnalysisDataContainer *cout_cuts0;
AliAnalysisDataContainer *cout_cuts1;
cout_hist0 = mgr->CreateContainer(Form("qa_histsCuts%d",cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
cout_hist1 = mgr->CreateContainer(Form("qa_histsTPCCuts%d",cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
cout_hist2 = mgr->CreateContainer(Form("qa_histsITSCuts%d",cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
cout_cuts0 = mgr->CreateContainer(Form("qa_trackCuts%d",cuts), AliESDtrackCuts::Class(), AliAnalysisManager::kParamContainer,outputfile);
cout_cuts1 = mgr->CreateContainer(Form("qa_trackCutsITS%d",cuts), AliESDtrackCuts::Class(), AliAnalysisManager::kParamContainer,outputfile);
//Add task to manager
mgr->AddTask(taskPWG4QA);
//Connect input containter to manager
mgr->ConnectInput(taskPWG4QA,0,mgr->GetCommonInputContainer());
//Connect output containers to manager
mgr->ConnectOutput(taskPWG4QA,0,cout_hist0);
mgr->ConnectOutput(taskPWG4QA,1,cout_hist1);
mgr->ConnectOutput(taskPWG4QA,2,cout_hist2);
mgr->ConnectOutput(taskPWG4QA,3,cout_cuts0);
mgr->ConnectOutput(taskPWG4QA,4,cout_cuts1);
// Return task pointer at the end
return taskPWG4QA;
}
AddTaskPWG4HighPtQATPConly.C:1 AddTaskPWG4HighPtQATPConly.C:2 AddTaskPWG4HighPtQATPConly.C:3 AddTaskPWG4HighPtQATPConly.C:4 AddTaskPWG4HighPtQATPConly.C:5 AddTaskPWG4HighPtQATPConly.C:6 AddTaskPWG4HighPtQATPConly.C:7 AddTaskPWG4HighPtQATPConly.C:8 AddTaskPWG4HighPtQATPConly.C:9 AddTaskPWG4HighPtQATPConly.C:10 AddTaskPWG4HighPtQATPConly.C:11 AddTaskPWG4HighPtQATPConly.C:12 AddTaskPWG4HighPtQATPConly.C:13 AddTaskPWG4HighPtQATPConly.C:14 AddTaskPWG4HighPtQATPConly.C:15 AddTaskPWG4HighPtQATPConly.C:16 AddTaskPWG4HighPtQATPConly.C:17 AddTaskPWG4HighPtQATPConly.C:18 AddTaskPWG4HighPtQATPConly.C:19 AddTaskPWG4HighPtQATPConly.C:20 AddTaskPWG4HighPtQATPConly.C:21 AddTaskPWG4HighPtQATPConly.C:22 AddTaskPWG4HighPtQATPConly.C:23 AddTaskPWG4HighPtQATPConly.C:24 AddTaskPWG4HighPtQATPConly.C:25 AddTaskPWG4HighPtQATPConly.C:26 AddTaskPWG4HighPtQATPConly.C:27 AddTaskPWG4HighPtQATPConly.C:28 AddTaskPWG4HighPtQATPConly.C:29 AddTaskPWG4HighPtQATPConly.C:30 AddTaskPWG4HighPtQATPConly.C:31 AddTaskPWG4HighPtQATPConly.C:32 AddTaskPWG4HighPtQATPConly.C:33 AddTaskPWG4HighPtQATPConly.C:34 AddTaskPWG4HighPtQATPConly.C:35 AddTaskPWG4HighPtQATPConly.C:36 AddTaskPWG4HighPtQATPConly.C:37 AddTaskPWG4HighPtQATPConly.C:38 AddTaskPWG4HighPtQATPConly.C:39 AddTaskPWG4HighPtQATPConly.C:40 AddTaskPWG4HighPtQATPConly.C:41 AddTaskPWG4HighPtQATPConly.C:42 AddTaskPWG4HighPtQATPConly.C:43 AddTaskPWG4HighPtQATPConly.C:44 AddTaskPWG4HighPtQATPConly.C:45 AddTaskPWG4HighPtQATPConly.C:46 AddTaskPWG4HighPtQATPConly.C:47 AddTaskPWG4HighPtQATPConly.C:48 AddTaskPWG4HighPtQATPConly.C:49 AddTaskPWG4HighPtQATPConly.C:50 AddTaskPWG4HighPtQATPConly.C:51 AddTaskPWG4HighPtQATPConly.C:52 AddTaskPWG4HighPtQATPConly.C:53 AddTaskPWG4HighPtQATPConly.C:54 AddTaskPWG4HighPtQATPConly.C:55 AddTaskPWG4HighPtQATPConly.C:56 AddTaskPWG4HighPtQATPConly.C:57 AddTaskPWG4HighPtQATPConly.C:58 AddTaskPWG4HighPtQATPConly.C:59 AddTaskPWG4HighPtQATPConly.C:60 AddTaskPWG4HighPtQATPConly.C:61 AddTaskPWG4HighPtQATPConly.C:62 AddTaskPWG4HighPtQATPConly.C:63 AddTaskPWG4HighPtQATPConly.C:64 AddTaskPWG4HighPtQATPConly.C:65 AddTaskPWG4HighPtQATPConly.C:66 AddTaskPWG4HighPtQATPConly.C:67 AddTaskPWG4HighPtQATPConly.C:68 AddTaskPWG4HighPtQATPConly.C:69 AddTaskPWG4HighPtQATPConly.C:70 AddTaskPWG4HighPtQATPConly.C:71 AddTaskPWG4HighPtQATPConly.C:72 AddTaskPWG4HighPtQATPConly.C:73 AddTaskPWG4HighPtQATPConly.C:74 AddTaskPWG4HighPtQATPConly.C:75 AddTaskPWG4HighPtQATPConly.C:76 AddTaskPWG4HighPtQATPConly.C:77 AddTaskPWG4HighPtQATPConly.C:78 AddTaskPWG4HighPtQATPConly.C:79 AddTaskPWG4HighPtQATPConly.C:80 AddTaskPWG4HighPtQATPConly.C:81 AddTaskPWG4HighPtQATPConly.C:82 AddTaskPWG4HighPtQATPConly.C:83 AddTaskPWG4HighPtQATPConly.C:84 AddTaskPWG4HighPtQATPConly.C:85 AddTaskPWG4HighPtQATPConly.C:86 AddTaskPWG4HighPtQATPConly.C:87 AddTaskPWG4HighPtQATPConly.C:88 AddTaskPWG4HighPtQATPConly.C:89 AddTaskPWG4HighPtQATPConly.C:90 AddTaskPWG4HighPtQATPConly.C:91 AddTaskPWG4HighPtQATPConly.C:92 AddTaskPWG4HighPtQATPConly.C:93 AddTaskPWG4HighPtQATPConly.C:94 AddTaskPWG4HighPtQATPConly.C:95 AddTaskPWG4HighPtQATPConly.C:96 AddTaskPWG4HighPtQATPConly.C:97 AddTaskPWG4HighPtQATPConly.C:98 AddTaskPWG4HighPtQATPConly.C:99 AddTaskPWG4HighPtQATPConly.C:100 AddTaskPWG4HighPtQATPConly.C:101 AddTaskPWG4HighPtQATPConly.C:102 AddTaskPWG4HighPtQATPConly.C:103 AddTaskPWG4HighPtQATPConly.C:104 AddTaskPWG4HighPtQATPConly.C:105 AddTaskPWG4HighPtQATPConly.C:106 AddTaskPWG4HighPtQATPConly.C:107 AddTaskPWG4HighPtQATPConly.C:108 AddTaskPWG4HighPtQATPConly.C:109 AddTaskPWG4HighPtQATPConly.C:110 AddTaskPWG4HighPtQATPConly.C:111 AddTaskPWG4HighPtQATPConly.C:112 AddTaskPWG4HighPtQATPConly.C:113 AddTaskPWG4HighPtQATPConly.C:114 AddTaskPWG4HighPtQATPConly.C:115 AddTaskPWG4HighPtQATPConly.C:116 AddTaskPWG4HighPtQATPConly.C:117 AddTaskPWG4HighPtQATPConly.C:118 AddTaskPWG4HighPtQATPConly.C:119