ROOT logo
AliAnalysisTaskExtractV0 *AddTaskExtractV0( Bool_t lSwitchIsNuclear      = kFALSE, 
                                            Bool_t lSwitchINT7           = kFALSE,
                                            Bool_t lSwitchUseOnTheFly    = kFALSE,
                                            Bool_t lSwitchTakeAllTracks  = 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("AddTaskExtractV0", "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("AddTaskExtractV0", "This task requires an input event handler");
      return NULL;
   }   
   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"

   // Create and configure the task
	 AliAnalysisTaskExtractV0 *taskv0extract = new AliAnalysisTaskExtractV0("taskv0extract");

   //Configuration
   taskv0extract -> SetIsNuclear     ( lSwitchIsNuclear     );
   taskv0extract -> SetINT7Trigger   ( lSwitchINT7          );
   taskv0extract -> SetUseOnTheFly   ( lSwitchUseOnTheFly   );
   taskv0extract -> SetTakeAllTracks ( lSwitchTakeAllTracks );

   mgr->AddTask(taskv0extract);

   TString outputFileName = AliAnalysisManager::GetCommonFileName();
   
   outputFileName += ":PWGLFExtractV0";
   //if (lCollidingSystems) outputFileName += "_AA_";
   outputFileName += "_PP";
   if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
   if (lSwitchUseOnTheFly==kTRUE) outputFileName += "_OnTheFly";
   //if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
   
   Printf("Set OutputFileName : \n %s\n", outputFileName.Data() );

   AliAnalysisDataContainer *coutputList = mgr->CreateContainer("clistV0",
							     TList::Class(),
							     AliAnalysisManager::kOutputContainer,
							     outputFileName );
   AliAnalysisDataContainer *coutputTree = mgr->CreateContainer("cTree",
							     TTree::Class(),
							     AliAnalysisManager::kOutputContainer,
							     outputFileName );
   
   //This one you should merge in file-resident ways...
   coutputTree->SetSpecialOutput();

   mgr->ConnectInput( taskv0extract, 0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput(taskv0extract, 1, coutputList);
   mgr->ConnectOutput(taskv0extract, 2, coutputTree);
   
   return taskv0extract;
}   
 AddTaskExtractV0.C:1
 AddTaskExtractV0.C:2
 AddTaskExtractV0.C:3
 AddTaskExtractV0.C:4
 AddTaskExtractV0.C:5
 AddTaskExtractV0.C:6
 AddTaskExtractV0.C:7
 AddTaskExtractV0.C:8
 AddTaskExtractV0.C:9
 AddTaskExtractV0.C:10
 AddTaskExtractV0.C:11
 AddTaskExtractV0.C:12
 AddTaskExtractV0.C:13
 AddTaskExtractV0.C:14
 AddTaskExtractV0.C:15
 AddTaskExtractV0.C:16
 AddTaskExtractV0.C:17
 AddTaskExtractV0.C:18
 AddTaskExtractV0.C:19
 AddTaskExtractV0.C:20
 AddTaskExtractV0.C:21
 AddTaskExtractV0.C:22
 AddTaskExtractV0.C:23
 AddTaskExtractV0.C:24
 AddTaskExtractV0.C:25
 AddTaskExtractV0.C:26
 AddTaskExtractV0.C:27
 AddTaskExtractV0.C:28
 AddTaskExtractV0.C:29
 AddTaskExtractV0.C:30
 AddTaskExtractV0.C:31
 AddTaskExtractV0.C:32
 AddTaskExtractV0.C:33
 AddTaskExtractV0.C:34
 AddTaskExtractV0.C:35
 AddTaskExtractV0.C:36
 AddTaskExtractV0.C:37
 AddTaskExtractV0.C:38
 AddTaskExtractV0.C:39
 AddTaskExtractV0.C:40
 AddTaskExtractV0.C:41
 AddTaskExtractV0.C:42
 AddTaskExtractV0.C:43
 AddTaskExtractV0.C:44
 AddTaskExtractV0.C:45
 AddTaskExtractV0.C:46
 AddTaskExtractV0.C:47
 AddTaskExtractV0.C:48
 AddTaskExtractV0.C:49
 AddTaskExtractV0.C:50
 AddTaskExtractV0.C:51
 AddTaskExtractV0.C:52
 AddTaskExtractV0.C:53
 AddTaskExtractV0.C:54
 AddTaskExtractV0.C:55
 AddTaskExtractV0.C:56
 AddTaskExtractV0.C:57
 AddTaskExtractV0.C:58
 AddTaskExtractV0.C:59
 AddTaskExtractV0.C:60
 AddTaskExtractV0.C:61
 AddTaskExtractV0.C:62
 AddTaskExtractV0.C:63
 AddTaskExtractV0.C:64