//=============================================================================
//
// *** AddTaskFemto.C ***
//
// This macro initialize a complete AnalysisTask object for femtoscopy.
//
//=============================================================================
AliAnalysisTaskFemto *AddTaskFemto(TString *configMacroName="ConfigFemtoAnalysis.C", TString containerName="femtolist", const char *configMacroParameters="")
{
// Creates a proton 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("AddTaskFemto", "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 cann also be checked here.
//==============================================================================
if (!mgr->GetInputEventHandler()) {
::Error("AddTaskFemto", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
cout << "Found " <<type << " event handler" << endl;
// C. Create the task, add it to manager.
//===========================================================================
// gSystem->SetIncludePath("-I$ROOTSYS/include -I./PWG2AOD/AOD -I./PWG2femtoscopy/FEMTOSCOPY/AliFemto -I./PWG2femtoscopyUser/FEMTOSCOPY/AliFemtoUser -I$ALICE_ROOT/include");
if (TProofMgr::GetListOfManagers()->GetEntries()) {
// if (dynamic_cast<TProofLite *> gProof) {
// char *macrocommand[10000];
// sprintf(macrocommand, ".L %s", configMacroName);
// gProof->Exec(macrocommand);
// }
// else
gProof->Load(configMacroName);
}
// gROOT->LoadMacro("ConfigFemtoAnalysis.C++");
AliAnalysisTaskFemto *taskfemto = new AliAnalysisTaskFemto("TaskFemto",configMacroName,Form("%s",configMacroParameters));
mgr->AddTask(taskfemto);
// D. Configure the analysis task. Extra parameters can be used via optional
// arguments of the AddTaskXXX() function.
//===========================================================================
// 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
//==============================================================================
TString outputfile = AliAnalysisManager::GetCommonFileName();
outputfile += ":PWG2FEMTO";
AliAnalysisDataContainer *cout_femto = mgr->CreateContainer(containerName, TList::Class(),
AliAnalysisManager::kOutputContainer,outputfile);
mgr->ConnectInput(taskfemto, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskfemto, 0, cout_femto);
// Return task pointer at the end
return taskfemto;
}
AddTaskFemtoConfigOnGrid.C:1 AddTaskFemtoConfigOnGrid.C:2 AddTaskFemtoConfigOnGrid.C:3 AddTaskFemtoConfigOnGrid.C:4 AddTaskFemtoConfigOnGrid.C:5 AddTaskFemtoConfigOnGrid.C:6 AddTaskFemtoConfigOnGrid.C:7 AddTaskFemtoConfigOnGrid.C:8 AddTaskFemtoConfigOnGrid.C:9 AddTaskFemtoConfigOnGrid.C:10 AddTaskFemtoConfigOnGrid.C:11 AddTaskFemtoConfigOnGrid.C:12 AddTaskFemtoConfigOnGrid.C:13 AddTaskFemtoConfigOnGrid.C:14 AddTaskFemtoConfigOnGrid.C:15 AddTaskFemtoConfigOnGrid.C:16 AddTaskFemtoConfigOnGrid.C:17 AddTaskFemtoConfigOnGrid.C:18 AddTaskFemtoConfigOnGrid.C:19 AddTaskFemtoConfigOnGrid.C:20 AddTaskFemtoConfigOnGrid.C:21 AddTaskFemtoConfigOnGrid.C:22 AddTaskFemtoConfigOnGrid.C:23 AddTaskFemtoConfigOnGrid.C:24 AddTaskFemtoConfigOnGrid.C:25 AddTaskFemtoConfigOnGrid.C:26 AddTaskFemtoConfigOnGrid.C:27 AddTaskFemtoConfigOnGrid.C:28 AddTaskFemtoConfigOnGrid.C:29 AddTaskFemtoConfigOnGrid.C:30 AddTaskFemtoConfigOnGrid.C:31 AddTaskFemtoConfigOnGrid.C:32 AddTaskFemtoConfigOnGrid.C:33 AddTaskFemtoConfigOnGrid.C:34 AddTaskFemtoConfigOnGrid.C:35 AddTaskFemtoConfigOnGrid.C:36 AddTaskFemtoConfigOnGrid.C:37 AddTaskFemtoConfigOnGrid.C:38 AddTaskFemtoConfigOnGrid.C:39 AddTaskFemtoConfigOnGrid.C:40 AddTaskFemtoConfigOnGrid.C:41 AddTaskFemtoConfigOnGrid.C:42 AddTaskFemtoConfigOnGrid.C:43 AddTaskFemtoConfigOnGrid.C:44 AddTaskFemtoConfigOnGrid.C:45 AddTaskFemtoConfigOnGrid.C:46 AddTaskFemtoConfigOnGrid.C:47 AddTaskFemtoConfigOnGrid.C:48 AddTaskFemtoConfigOnGrid.C:49 AddTaskFemtoConfigOnGrid.C:50 AddTaskFemtoConfigOnGrid.C:51 AddTaskFemtoConfigOnGrid.C:52 AddTaskFemtoConfigOnGrid.C:53 AddTaskFemtoConfigOnGrid.C:54 AddTaskFemtoConfigOnGrid.C:55 AddTaskFemtoConfigOnGrid.C:56 AddTaskFemtoConfigOnGrid.C:57 AddTaskFemtoConfigOnGrid.C:58 AddTaskFemtoConfigOnGrid.C:59 AddTaskFemtoConfigOnGrid.C:60 AddTaskFemtoConfigOnGrid.C:61 AddTaskFemtoConfigOnGrid.C:62 AddTaskFemtoConfigOnGrid.C:63 AddTaskFemtoConfigOnGrid.C:64 AddTaskFemtoConfigOnGrid.C:65 AddTaskFemtoConfigOnGrid.C:66 AddTaskFemtoConfigOnGrid.C:67 AddTaskFemtoConfigOnGrid.C:68