///////////////////////////////////////////////////////////////////////////////
// Macro to setup AliPerformanceTask for
// TPC performance QA to run on PWGPP QA train.
//
// By default 1 performance component is added to
// the task:
// 1. AliPerformancePtCalib
// or AliPerformancePtCalibMC if bUseMCinfo = kTRUE (use MC info)
// Usage on the analysis train (default configuration):
// gSystem->Load("libANALYSIS");
// gSystem->Load("libANALYSISalice");
// gSystem->Load("libTPCcalib.so");
// gSystem->Load("libPWGPP.so");
//
// gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskPerformanceTPCPtCalib.C");
// AliPerformanceTask *tpcQA = AddTaskPerformanceTPCPtCalib("kTRUE","kTRUE","CINT1B-ABCE-NOPF-ALL");
//
// Output:
// TPCPtCalib.Performance.root file with TPC performance components is created.
//
// Each of the components contains THnSparse generic histograms which
// have to be analysed (post-analysis) by using Analyse() function.
// Each component contains such function.
//
// June 2010 - Simone Schuchmann sschuchm@ikf.uni-frankfurt.de
///////////////////////////////////////////////////////////////////////////////
//____________________________________________
AliPerformanceTask* AddTaskPerformanceTPCPtCalib(Bool_t bUseMCInfo=kFALSE, Bool_t bUseESDfriend=kFALSE, const char *triggerClass=0)
{
//
// Create physics trigger selection class
//
AliPhysicsSelection *physTrigSel = new AliPhysicsSelection();
//
// Add AliPerformanceTask with TPC performance components
//
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if(!mgr) {
Error("AddTaskPerformanceTPCPtCalib","AliAnalysisManager not set!");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType();
if (!type.Contains("ESD")) {
Error("AddTaskPerformanceTPCPtCalib", "ESD input handler needed!");
return NULL;
}
AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
if (!mcH && bUseMCInfo) {
Error("AddTaskPerformanceTPCPtCalib", "MC input handler needed!");
return NULL;
}
//
// Create task
//
AliPerformanceTask *task = new AliPerformanceTask("TPCPerformanceInvPt","TPC Performance PtCalib");
if (!task) {
Error("AddTaskPerformanceTPCPtCalib", "TPC performance task cannot be created!");
return NULL;
}
task->SetUseMCInfo(bUseMCInfo);
task->SetUseESDfriend(kFALSE);
task->SelectCollisionCandidates();
//
// Add physics selection task to analysis manager
//
// gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
// AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
// mgr->AddTask(physSelTask);
mgr->AddTask(task);
//
// Create TPC-ESD track reconstruction cuts
//
AliRecInfoCuts *pRecInfoCuts = new AliRecInfoCuts();
if(pRecInfoCuts) {
pRecInfoCuts->SetMaxDCAToVertexXY(3.0);
pRecInfoCuts->SetMaxDCAToVertexZ(3.0);
pRecInfoCuts->SetMinNClustersTPC(50);
pRecInfoCuts->SetMinNClustersITS(2);
pRecInfoCuts->SetHistogramsOn(kFALSE);
}
else {
Error("AddTaskPerformanceTPCPtCalib", "AliRecInfoCuts cannot be created!");
return NULL;
}
//
// Create TPC-MC track reconstruction cuts
//
AliMCInfoCuts *pMCInfoCuts = new AliMCInfoCuts();
if(pMCInfoCuts) {
pMCInfoCuts->SetMinTrackLength(70);
}
else {
Error("AddTaskPerformanceTPCPtCalib", "AliMCInfoCuts cannot be created!");
return NULL;
}
//
// Create performance objects for TPC and set cuts
//
enum { kTPC = 0, kTPCITS, kConstrained, kTPCInner, kTPCOuter, kTPCSec };
AliPerformancePtCalib *ptCalib = NULL;
AliPerformancePtCalibMC *ptCalibMC = NULL;
if(bUseMCInfo){
ptCalibMC = new AliPerformancePtCalibMC("AliPerformancePtCalibMC","AliPerformancePtCalibMC");
if(!ptCalibMC) {
Error("AddTaskPerformanceTPCPtCalib", "Cannot create AliPerformancePtCalibMC");
}
// physTrigSel->SetAnalyzeMC();
// ptCalibMC->SetPhysicsTriggerSelection(physTrigSel);
ptCalibMC->SetAliRecInfoCuts(pRecInfoCuts);
ptCalibMC->SetReadTPCTracks(kTRUE);
AliESDtrackCuts* esdtrackCuts = new AliESDtrackCuts("AliESDtrackCutsPtMC");
esdtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2009(kTRUE);
ptCalibMC->SetAliESDtrackCuts(esdtrackCuts);
//ptCalibMC->SetEtaRange(0.9);
}
else{
ptCalib = new AliPerformancePtCalib("AliPerformancePtCalib","AliPerformancePtCalib");
if(!ptCalib) {
Error("AddTaskPerformanceTPCPtCalib", "Cannot create AliPerformancePtCalib");
}
ptCalib->SetAliRecInfoCuts(pRecInfoCuts);
ptCalib->SetReadTPCTracks(kTRUE);
ptCalib->SetEtaRange(0.8);
// ptCalib->SetAliMCInfoCuts(pMCInfoCut);
//if(triggerClass) ptCalib->SetTriggerClass(triggerClass);
//ptCalib->SetPhysicsTriggerSelection(physTrigSel);
//ptCalib->SetTrigger(AliTriggerAnalysis::kMB1);
AliESDtrackCuts* esdtrackCuts = new AliESDtrackCuts("AliESDtrackCutsPt");
esdtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2009(kTRUE);
ptCalib->SetAliESDtrackCuts(esdtrackCuts);
}
// add components to the performance task
if(bUseMCInfo) task->AddPerformanceObject(ptCalibMC);
else task->AddPerformanceObject(ptCalib);
// Create containers for input
//
mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
//
// Create containers for output
//
AliAnalysisDataContainer *coutput_tpcptcalib = mgr->CreateContainer("TPCPtCalib", TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s.Performance.root", task->GetName()));
mgr->ConnectOutput(task, 1, coutput_tpcptcalib);
return task;
}
AddTaskPerformanceTPCPtCalib.C:1 AddTaskPerformanceTPCPtCalib.C:2 AddTaskPerformanceTPCPtCalib.C:3 AddTaskPerformanceTPCPtCalib.C:4 AddTaskPerformanceTPCPtCalib.C:5 AddTaskPerformanceTPCPtCalib.C:6 AddTaskPerformanceTPCPtCalib.C:7 AddTaskPerformanceTPCPtCalib.C:8 AddTaskPerformanceTPCPtCalib.C:9 AddTaskPerformanceTPCPtCalib.C:10 AddTaskPerformanceTPCPtCalib.C:11 AddTaskPerformanceTPCPtCalib.C:12 AddTaskPerformanceTPCPtCalib.C:13 AddTaskPerformanceTPCPtCalib.C:14 AddTaskPerformanceTPCPtCalib.C:15 AddTaskPerformanceTPCPtCalib.C:16 AddTaskPerformanceTPCPtCalib.C:17 AddTaskPerformanceTPCPtCalib.C:18 AddTaskPerformanceTPCPtCalib.C:19 AddTaskPerformanceTPCPtCalib.C:20 AddTaskPerformanceTPCPtCalib.C:21 AddTaskPerformanceTPCPtCalib.C:22 AddTaskPerformanceTPCPtCalib.C:23 AddTaskPerformanceTPCPtCalib.C:24 AddTaskPerformanceTPCPtCalib.C:25 AddTaskPerformanceTPCPtCalib.C:26 AddTaskPerformanceTPCPtCalib.C:27 AddTaskPerformanceTPCPtCalib.C:28 AddTaskPerformanceTPCPtCalib.C:29 AddTaskPerformanceTPCPtCalib.C:30 AddTaskPerformanceTPCPtCalib.C:31 AddTaskPerformanceTPCPtCalib.C:32 AddTaskPerformanceTPCPtCalib.C:33 AddTaskPerformanceTPCPtCalib.C:34 AddTaskPerformanceTPCPtCalib.C:35 AddTaskPerformanceTPCPtCalib.C:36 AddTaskPerformanceTPCPtCalib.C:37 AddTaskPerformanceTPCPtCalib.C:38 AddTaskPerformanceTPCPtCalib.C:39 AddTaskPerformanceTPCPtCalib.C:40 AddTaskPerformanceTPCPtCalib.C:41 AddTaskPerformanceTPCPtCalib.C:42 AddTaskPerformanceTPCPtCalib.C:43 AddTaskPerformanceTPCPtCalib.C:44 AddTaskPerformanceTPCPtCalib.C:45 AddTaskPerformanceTPCPtCalib.C:46 AddTaskPerformanceTPCPtCalib.C:47 AddTaskPerformanceTPCPtCalib.C:48 AddTaskPerformanceTPCPtCalib.C:49 AddTaskPerformanceTPCPtCalib.C:50 AddTaskPerformanceTPCPtCalib.C:51 AddTaskPerformanceTPCPtCalib.C:52 AddTaskPerformanceTPCPtCalib.C:53 AddTaskPerformanceTPCPtCalib.C:54 AddTaskPerformanceTPCPtCalib.C:55 AddTaskPerformanceTPCPtCalib.C:56 AddTaskPerformanceTPCPtCalib.C:57 AddTaskPerformanceTPCPtCalib.C:58 AddTaskPerformanceTPCPtCalib.C:59 AddTaskPerformanceTPCPtCalib.C:60 AddTaskPerformanceTPCPtCalib.C:61 AddTaskPerformanceTPCPtCalib.C:62 AddTaskPerformanceTPCPtCalib.C:63 AddTaskPerformanceTPCPtCalib.C:64 AddTaskPerformanceTPCPtCalib.C:65 AddTaskPerformanceTPCPtCalib.C:66 AddTaskPerformanceTPCPtCalib.C:67 AddTaskPerformanceTPCPtCalib.C:68 AddTaskPerformanceTPCPtCalib.C:69 AddTaskPerformanceTPCPtCalib.C:70 AddTaskPerformanceTPCPtCalib.C:71 AddTaskPerformanceTPCPtCalib.C:72 AddTaskPerformanceTPCPtCalib.C:73 AddTaskPerformanceTPCPtCalib.C:74 AddTaskPerformanceTPCPtCalib.C:75 AddTaskPerformanceTPCPtCalib.C:76 AddTaskPerformanceTPCPtCalib.C:77 AddTaskPerformanceTPCPtCalib.C:78 AddTaskPerformanceTPCPtCalib.C:79 AddTaskPerformanceTPCPtCalib.C:80 AddTaskPerformanceTPCPtCalib.C:81 AddTaskPerformanceTPCPtCalib.C:82 AddTaskPerformanceTPCPtCalib.C:83 AddTaskPerformanceTPCPtCalib.C:84 AddTaskPerformanceTPCPtCalib.C:85 AddTaskPerformanceTPCPtCalib.C:86 AddTaskPerformanceTPCPtCalib.C:87 AddTaskPerformanceTPCPtCalib.C:88 AddTaskPerformanceTPCPtCalib.C:89 AddTaskPerformanceTPCPtCalib.C:90 AddTaskPerformanceTPCPtCalib.C:91 AddTaskPerformanceTPCPtCalib.C:92 AddTaskPerformanceTPCPtCalib.C:93 AddTaskPerformanceTPCPtCalib.C:94 AddTaskPerformanceTPCPtCalib.C:95 AddTaskPerformanceTPCPtCalib.C:96 AddTaskPerformanceTPCPtCalib.C:97 AddTaskPerformanceTPCPtCalib.C:98 AddTaskPerformanceTPCPtCalib.C:99 AddTaskPerformanceTPCPtCalib.C:100 AddTaskPerformanceTPCPtCalib.C:101 AddTaskPerformanceTPCPtCalib.C:102 AddTaskPerformanceTPCPtCalib.C:103 AddTaskPerformanceTPCPtCalib.C:104 AddTaskPerformanceTPCPtCalib.C:105 AddTaskPerformanceTPCPtCalib.C:106 AddTaskPerformanceTPCPtCalib.C:107 AddTaskPerformanceTPCPtCalib.C:108 AddTaskPerformanceTPCPtCalib.C:109 AddTaskPerformanceTPCPtCalib.C:110 AddTaskPerformanceTPCPtCalib.C:111 AddTaskPerformanceTPCPtCalib.C:112 AddTaskPerformanceTPCPtCalib.C:113 AddTaskPerformanceTPCPtCalib.C:114 AddTaskPerformanceTPCPtCalib.C:115 AddTaskPerformanceTPCPtCalib.C:116 AddTaskPerformanceTPCPtCalib.C:117 AddTaskPerformanceTPCPtCalib.C:118 AddTaskPerformanceTPCPtCalib.C:119 AddTaskPerformanceTPCPtCalib.C:120 AddTaskPerformanceTPCPtCalib.C:121 AddTaskPerformanceTPCPtCalib.C:122 AddTaskPerformanceTPCPtCalib.C:123 AddTaskPerformanceTPCPtCalib.C:124 AddTaskPerformanceTPCPtCalib.C:125 AddTaskPerformanceTPCPtCalib.C:126 AddTaskPerformanceTPCPtCalib.C:127 AddTaskPerformanceTPCPtCalib.C:128 AddTaskPerformanceTPCPtCalib.C:129 AddTaskPerformanceTPCPtCalib.C:130 AddTaskPerformanceTPCPtCalib.C:131 AddTaskPerformanceTPCPtCalib.C:132 AddTaskPerformanceTPCPtCalib.C:133 AddTaskPerformanceTPCPtCalib.C:134 AddTaskPerformanceTPCPtCalib.C:135 AddTaskPerformanceTPCPtCalib.C:136 AddTaskPerformanceTPCPtCalib.C:137 AddTaskPerformanceTPCPtCalib.C:138 AddTaskPerformanceTPCPtCalib.C:139 AddTaskPerformanceTPCPtCalib.C:140 AddTaskPerformanceTPCPtCalib.C:141 AddTaskPerformanceTPCPtCalib.C:142 AddTaskPerformanceTPCPtCalib.C:143 AddTaskPerformanceTPCPtCalib.C:144 AddTaskPerformanceTPCPtCalib.C:145 AddTaskPerformanceTPCPtCalib.C:146 AddTaskPerformanceTPCPtCalib.C:147 AddTaskPerformanceTPCPtCalib.C:148 AddTaskPerformanceTPCPtCalib.C:149 AddTaskPerformanceTPCPtCalib.C:150 AddTaskPerformanceTPCPtCalib.C:151 AddTaskPerformanceTPCPtCalib.C:152 AddTaskPerformanceTPCPtCalib.C:153 AddTaskPerformanceTPCPtCalib.C:154 AddTaskPerformanceTPCPtCalib.C:155 AddTaskPerformanceTPCPtCalib.C:156 AddTaskPerformanceTPCPtCalib.C:157 AddTaskPerformanceTPCPtCalib.C:158 AddTaskPerformanceTPCPtCalib.C:159 AddTaskPerformanceTPCPtCalib.C:160 AddTaskPerformanceTPCPtCalib.C:161 AddTaskPerformanceTPCPtCalib.C:162 AddTaskPerformanceTPCPtCalib.C:163 AddTaskPerformanceTPCPtCalib.C:164 AddTaskPerformanceTPCPtCalib.C:165 AddTaskPerformanceTPCPtCalib.C:166 AddTaskPerformanceTPCPtCalib.C:167 AddTaskPerformanceTPCPtCalib.C:168