ROOT logo
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