//_________________________________________________________//
AliAnalysisTaskEfficiencyBFPsi *AddTaskBalancePsiEfficiency(TString centralityEstimator="V0M", Double_t centrMin=0., Double_t centrMax=80., Double_t vertexZ=10., TString fileNameBase="AnalysisResults") {
// Create a balance function analysis task and add it to the analysis manager
// Get the pointer to the existing analysis manager via the static access method.
TString centralityName("");
centralityName+=Form("%s_%.0f-%.0f_%.0f",centralityEstimator.Data(),centrMin,centrMax,vertexZ);
TString outputFileName(fileNameBase);
outputFileName.Append(".root");
//===========================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskBalancePsiEfficiency", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//===========================================================================
if (!mgr->GetInputEventHandler()) {
::Error("AddTaskBalancePsiEfficiency", "This task requires an input event handler");
return NULL;
}
TString analysisType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
if(dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler())) analysisType = "MC";
// Create the task, add it to manager and configure it.
//===========================================================================
AliAnalysisTaskEfficiencyBFPsi *taskEfficiencyBFPsi = new AliAnalysisTaskEfficiencyBFPsi("TaskEfficiencyBFPsi");
// analysis mode
taskEfficiencyBFPsi->SetAnalysisMode("TPC");
// centrality
taskEfficiencyBFPsi->SetCentralityEstimator(centralityEstimator);
taskEfficiencyBFPsi->SetCentralityPercentileRange(centrMin,centrMax);
taskEfficiencyBFPsi->SelectCollisionCandidates(AliVEvent::kMB);
// vertex
taskEfficiencyBFPsi->SetVertexDiamond(.3,.3,vertexZ);
// track cuts
AliESDtrackCuts *cuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
cuts->SetRequireTPCStandAlone(kTRUE); // TPC only cuts!
taskEfficiencyBFPsi->SetAnalysisCutObject(cuts);
//analysis kinematic cuts
taskEfficiencyBFPsi->SetMinPt(0.2);
taskEfficiencyBFPsi->SetMaxPt(20.0);
taskEfficiencyBFPsi->SetMaxEta(0.8);
taskEfficiencyBFPsi->SetEtaRangeMax(0.8); //acceptance cuts
taskEfficiencyBFPsi->SetPtRangeMin(0.1); //acceptance cuts
taskEfficiencyBFPsi->SetPtRangeMax(5.0); //acceptance cuts
taskEfficiencyBFPsi->SetPhiRangeMin(0.); //acceptance cuts
taskEfficiencyBFPsi->SetPhiRangeMax(6.28);//acceptance cuts
// ADD the task
//===========================================================================
//bf->PrintAnalysisSettings();
mgr->AddTask(taskEfficiencyBFPsi);
// 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
//==============================================================================
TString outputFileName = AliAnalysisManager::GetCommonFileName();
outputFileName += ":PWGCFEbyE.outputBalanceFunctionPsiEfficiencyAnalysis";
AliAnalysisDataContainer *coutQAPsi = mgr->CreateContainer(Form("listQAPsi_%s",centralityName.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,outputFileName.Data());
AliAnalysisDataContainer *coutEfficiencyBFPsi = mgr->CreateContainer(Form("listEfficiencyBFPsi_%s",centralityName.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,outputFileName.Data());
mgr->ConnectInput(taskEfficiencyBFPsi, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskEfficiencyBFPsi, 1, coutQAPsi);
mgr->ConnectOutput(taskEfficiencyBFPsi, 2, coutEfficiencyBFPsi);
return taskEfficiencyBFPsi;
}
AddTaskBalancePsiEfficiency.C:1 AddTaskBalancePsiEfficiency.C:2 AddTaskBalancePsiEfficiency.C:3 AddTaskBalancePsiEfficiency.C:4 AddTaskBalancePsiEfficiency.C:5 AddTaskBalancePsiEfficiency.C:6 AddTaskBalancePsiEfficiency.C:7 AddTaskBalancePsiEfficiency.C:8 AddTaskBalancePsiEfficiency.C:9 AddTaskBalancePsiEfficiency.C:10 AddTaskBalancePsiEfficiency.C:11 AddTaskBalancePsiEfficiency.C:12 AddTaskBalancePsiEfficiency.C:13 AddTaskBalancePsiEfficiency.C:14 AddTaskBalancePsiEfficiency.C:15 AddTaskBalancePsiEfficiency.C:16 AddTaskBalancePsiEfficiency.C:17 AddTaskBalancePsiEfficiency.C:18 AddTaskBalancePsiEfficiency.C:19 AddTaskBalancePsiEfficiency.C:20 AddTaskBalancePsiEfficiency.C:21 AddTaskBalancePsiEfficiency.C:22 AddTaskBalancePsiEfficiency.C:23 AddTaskBalancePsiEfficiency.C:24 AddTaskBalancePsiEfficiency.C:25 AddTaskBalancePsiEfficiency.C:26 AddTaskBalancePsiEfficiency.C:27 AddTaskBalancePsiEfficiency.C:28 AddTaskBalancePsiEfficiency.C:29 AddTaskBalancePsiEfficiency.C:30 AddTaskBalancePsiEfficiency.C:31 AddTaskBalancePsiEfficiency.C:32 AddTaskBalancePsiEfficiency.C:33 AddTaskBalancePsiEfficiency.C:34 AddTaskBalancePsiEfficiency.C:35 AddTaskBalancePsiEfficiency.C:36 AddTaskBalancePsiEfficiency.C:37 AddTaskBalancePsiEfficiency.C:38 AddTaskBalancePsiEfficiency.C:39 AddTaskBalancePsiEfficiency.C:40 AddTaskBalancePsiEfficiency.C:41 AddTaskBalancePsiEfficiency.C:42 AddTaskBalancePsiEfficiency.C:43 AddTaskBalancePsiEfficiency.C:44 AddTaskBalancePsiEfficiency.C:45 AddTaskBalancePsiEfficiency.C:46 AddTaskBalancePsiEfficiency.C:47 AddTaskBalancePsiEfficiency.C:48 AddTaskBalancePsiEfficiency.C:49 AddTaskBalancePsiEfficiency.C:50 AddTaskBalancePsiEfficiency.C:51 AddTaskBalancePsiEfficiency.C:52 AddTaskBalancePsiEfficiency.C:53 AddTaskBalancePsiEfficiency.C:54 AddTaskBalancePsiEfficiency.C:55 AddTaskBalancePsiEfficiency.C:56 AddTaskBalancePsiEfficiency.C:57 AddTaskBalancePsiEfficiency.C:58 AddTaskBalancePsiEfficiency.C:59 AddTaskBalancePsiEfficiency.C:60 AddTaskBalancePsiEfficiency.C:61 AddTaskBalancePsiEfficiency.C:62 AddTaskBalancePsiEfficiency.C:63 AddTaskBalancePsiEfficiency.C:64 AddTaskBalancePsiEfficiency.C:65 AddTaskBalancePsiEfficiency.C:66 AddTaskBalancePsiEfficiency.C:67 AddTaskBalancePsiEfficiency.C:68 AddTaskBalancePsiEfficiency.C:69 AddTaskBalancePsiEfficiency.C:70 AddTaskBalancePsiEfficiency.C:71 AddTaskBalancePsiEfficiency.C:72 AddTaskBalancePsiEfficiency.C:73 AddTaskBalancePsiEfficiency.C:74 AddTaskBalancePsiEfficiency.C:75 AddTaskBalancePsiEfficiency.C:76 AddTaskBalancePsiEfficiency.C:77