ROOT logo
AliAnalysisTaskExtractPerformanceCascade *AddTaskExtractPerformanceCascade( 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("AddTaskExtractPerformanceCascade", "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("AddTaskExtractPerformanceCascade", "This task requires an input event handler");
      return NULL;
   }   
   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"

   // Create and configure the task
	 AliAnalysisTaskExtractPerformanceCascade *taskextractperformance = new AliAnalysisTaskExtractPerformanceCascade("taskextractperformance");

   //Configuration
   taskextractperformance -> SetIsNuclear     ( lSwitchIsNuclear     );
   taskextractperformance -> SetINT7Trigger   ( lSwitchINT7          );

   mgr->AddTask(taskextractperformance);

   TString outputFileName = AliAnalysisManager::GetCommonFileName();
   
   outputFileName += ":PWGLFExtractPerformanceCascade";
   //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("clistMC",
							     TList::Class(),
							     AliAnalysisManager::kOutputContainer,
							     outputFileName );
   AliAnalysisDataContainer *coutputTreeCascade = mgr->CreateContainer("cTreeCascadeMC",
							     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( taskextractperformance, 0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput(taskextractperformance, 1, coutputList);
   mgr->ConnectOutput(taskextractperformance, 2, coutputTreeCascade);
   
   return taskextractperformance;
}   
 AddTaskExtractPerformanceCascade.C:1
 AddTaskExtractPerformanceCascade.C:2
 AddTaskExtractPerformanceCascade.C:3
 AddTaskExtractPerformanceCascade.C:4
 AddTaskExtractPerformanceCascade.C:5
 AddTaskExtractPerformanceCascade.C:6
 AddTaskExtractPerformanceCascade.C:7
 AddTaskExtractPerformanceCascade.C:8
 AddTaskExtractPerformanceCascade.C:9
 AddTaskExtractPerformanceCascade.C:10
 AddTaskExtractPerformanceCascade.C:11
 AddTaskExtractPerformanceCascade.C:12
 AddTaskExtractPerformanceCascade.C:13
 AddTaskExtractPerformanceCascade.C:14
 AddTaskExtractPerformanceCascade.C:15
 AddTaskExtractPerformanceCascade.C:16
 AddTaskExtractPerformanceCascade.C:17
 AddTaskExtractPerformanceCascade.C:18
 AddTaskExtractPerformanceCascade.C:19
 AddTaskExtractPerformanceCascade.C:20
 AddTaskExtractPerformanceCascade.C:21
 AddTaskExtractPerformanceCascade.C:22
 AddTaskExtractPerformanceCascade.C:23
 AddTaskExtractPerformanceCascade.C:24
 AddTaskExtractPerformanceCascade.C:25
 AddTaskExtractPerformanceCascade.C:26
 AddTaskExtractPerformanceCascade.C:27
 AddTaskExtractPerformanceCascade.C:28
 AddTaskExtractPerformanceCascade.C:29
 AddTaskExtractPerformanceCascade.C:30
 AddTaskExtractPerformanceCascade.C:31
 AddTaskExtractPerformanceCascade.C:32
 AddTaskExtractPerformanceCascade.C:33
 AddTaskExtractPerformanceCascade.C:34
 AddTaskExtractPerformanceCascade.C:35
 AddTaskExtractPerformanceCascade.C:36
 AddTaskExtractPerformanceCascade.C:37
 AddTaskExtractPerformanceCascade.C:38
 AddTaskExtractPerformanceCascade.C:39
 AddTaskExtractPerformanceCascade.C:40
 AddTaskExtractPerformanceCascade.C:41
 AddTaskExtractPerformanceCascade.C:42
 AddTaskExtractPerformanceCascade.C:43
 AddTaskExtractPerformanceCascade.C:44
 AddTaskExtractPerformanceCascade.C:45
 AddTaskExtractPerformanceCascade.C:46
 AddTaskExtractPerformanceCascade.C:47
 AddTaskExtractPerformanceCascade.C:48
 AddTaskExtractPerformanceCascade.C:49
 AddTaskExtractPerformanceCascade.C:50
 AddTaskExtractPerformanceCascade.C:51
 AddTaskExtractPerformanceCascade.C:52
 AddTaskExtractPerformanceCascade.C:53
 AddTaskExtractPerformanceCascade.C:54
 AddTaskExtractPerformanceCascade.C:55
 AddTaskExtractPerformanceCascade.C:56
 AddTaskExtractPerformanceCascade.C:57
 AddTaskExtractPerformanceCascade.C:58
 AddTaskExtractPerformanceCascade.C:59
 AddTaskExtractPerformanceCascade.C:60