AliAnalysisTaskExtractCascade *AddTaskExtractCascade( Bool_t lSwitchIsNuclear = kFALSE,
Bool_t lSwitchINT7 = kFALSE,
const TString lMasterJobSessionFlag = "")
{
// Creates, configures and attaches to the train a cascades check task.
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskExtractCascade", "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("AddTaskExtractCascade", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
// Create and configure the task
AliAnalysisTaskExtractCascade *taskextract = new AliAnalysisTaskExtractCascade("taskextract");
//Configuration
taskextract -> SetIsNuclear ( lSwitchIsNuclear );
taskextract -> SetINT7Trigger ( lSwitchINT7 );
mgr->AddTask(taskextract);
TString outputFileName = AliAnalysisManager::GetCommonFileName();
outputFileName += ":PWGLFExtractCascade";
//if (lSwitchIsNuclear) outputFileName += "_AA";
outputFileName += "_PP";
if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
//if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
Printf("Set OutputFileName : \n %s\n", outputFileName.Data() );
AliAnalysisDataContainer *coutputList = mgr->CreateContainer("clist",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
AliAnalysisDataContainer *coutputTreeCascade = mgr->CreateContainer("cTreeCascade",
TTree::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
//This one you should merge in file-resident ways...
coutputTreeCascade->SetSpecialOutput();
//Recommendation: Tree as a single output slot
mgr->ConnectInput( taskextract, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskextract, 1, coutputList);
mgr->ConnectOutput(taskextract, 2, coutputTreeCascade);
return taskextract;
}
AddTaskExtractCascade.C:1 AddTaskExtractCascade.C:2 AddTaskExtractCascade.C:3 AddTaskExtractCascade.C:4 AddTaskExtractCascade.C:5 AddTaskExtractCascade.C:6 AddTaskExtractCascade.C:7 AddTaskExtractCascade.C:8 AddTaskExtractCascade.C:9 AddTaskExtractCascade.C:10 AddTaskExtractCascade.C:11 AddTaskExtractCascade.C:12 AddTaskExtractCascade.C:13 AddTaskExtractCascade.C:14 AddTaskExtractCascade.C:15 AddTaskExtractCascade.C:16 AddTaskExtractCascade.C:17 AddTaskExtractCascade.C:18 AddTaskExtractCascade.C:19 AddTaskExtractCascade.C:20 AddTaskExtractCascade.C:21 AddTaskExtractCascade.C:22 AddTaskExtractCascade.C:23 AddTaskExtractCascade.C:24 AddTaskExtractCascade.C:25 AddTaskExtractCascade.C:26 AddTaskExtractCascade.C:27 AddTaskExtractCascade.C:28 AddTaskExtractCascade.C:29 AddTaskExtractCascade.C:30 AddTaskExtractCascade.C:31 AddTaskExtractCascade.C:32 AddTaskExtractCascade.C:33 AddTaskExtractCascade.C:34 AddTaskExtractCascade.C:35 AddTaskExtractCascade.C:36 AddTaskExtractCascade.C:37 AddTaskExtractCascade.C:38 AddTaskExtractCascade.C:39 AddTaskExtractCascade.C:40 AddTaskExtractCascade.C:41 AddTaskExtractCascade.C:42 AddTaskExtractCascade.C:43 AddTaskExtractCascade.C:44 AddTaskExtractCascade.C:45 AddTaskExtractCascade.C:46 AddTaskExtractCascade.C:47 AddTaskExtractCascade.C:48 AddTaskExtractCascade.C:49 AddTaskExtractCascade.C:50 AddTaskExtractCascade.C:51 AddTaskExtractCascade.C:52 AddTaskExtractCascade.C:53 AddTaskExtractCascade.C:54 AddTaskExtractCascade.C:55 AddTaskExtractCascade.C:56 AddTaskExtractCascade.C:57 AddTaskExtractCascade.C:58 AddTaskExtractCascade.C:59 AddTaskExtractCascade.C:60