ROOT logo
AliAnalysisTaskCheckCascade *AddTaskCheckCascade(Short_t       lCollidingSystems     = 0  /*0 = pp, 1 = AA*/,
						 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("AddTaskCheckCascade", "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("AddTaskCheckCascade", "This task requires an input event handler");
      return NULL;
   }   
   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"

   // Create and configure the task
	AliAnalysisTaskCheckCascade *taskcheckcascade = new AliAnalysisTaskCheckCascade("TaskCheckCascade");
   taskcheckcascade-> SetCollidingSystems           (lCollidingSystems);
   taskcheckcascade-> SetAnalysisType               (type);
   
   taskcheckcascade-> SetTriggerMaskType            ("kMB");
   taskcheckcascade-> SetRelaunchV0CascVertexers    (0);     //NOTE
   taskcheckcascade-> SetQualityCutZprimVtxPos      (kTRUE);
   taskcheckcascade-> SetRejectEventPileUp          (kTRUE);
   taskcheckcascade-> SetQualityCutNoTPConlyPrimVtx (kTRUE);
   taskcheckcascade-> SetQualityCutTPCrefit         (kTRUE);
   taskcheckcascade-> SetQualityCut80TPCcls         (kTRUE);
   taskcheckcascade-> SetAlephParamFor1PadTPCCluster(kTRUE);
        // taskcheckcascade-> SetExtraSelections            (0);
   taskcheckcascade-> SetAngularCorrelationType     ("TrigLeadingTrck-AssoCasc"); // 1.1 - "TrigAnyCasc-AssoAnyPrim", 1.2 - "TrigCascLeading-AssoAnyPrim", 2. - "TrigLeadingTrck-AssoCasc"
   
   mgr->AddTask(taskcheckcascade);

   // 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
   //==============================================================================

   // User file name (if need be)
   /*
   TString DefaultCommonFileName = AliAnalysisManager::GetCommonFileName();
   
   if(DefaultCommonFileName == "AnalysisResults.root"){
        // Just change the Common File name IF it was not change before
        // -> To avoid screwing-up the analysis train and send the output of the previous task to a non-existing file
        TString lCommonFileName = "sLHC10-CheckCascade";
        if(lMasterJobSessionFlag.Length()){
                lCommonFileName += "-";
                lCommonFileName += lMasterJobSessionFlag.Data();
        }
                lCommonFileName += ".root"; 
        
        mgr->SetCommonFileName( lCommonFileName.Data() );
   }
   */
   
   TString outputFileName = AliAnalysisManager::GetCommonFileName();
   
   outputFileName += ":PWG2CheckCascade";
   if (lCollidingSystems) outputFileName += "_AA_";
   else outputFileName += "_PP";
   if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
   //if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
   
   Printf("AddTaskCheckCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );

   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCasc",
							     TList::Class(),
							     AliAnalysisManager::kOutputContainer,
							     outputFileName );
   
//    AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("cPaveTextBookKeeping",
// 							     TPaveText::Class(),
// 							     AliAnalysisManager::kOutputContainer,
// 							     outputFileName );
   
   
   mgr->ConnectInput( taskcheckcascade, 0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput(taskcheckcascade, 1, coutput1);
   //mgr->ConnectOutput(taskcheckcascade, 2, coutput2);
   
   return taskcheckcascade;
}   
 AddTaskCheckCascade.C:1
 AddTaskCheckCascade.C:2
 AddTaskCheckCascade.C:3
 AddTaskCheckCascade.C:4
 AddTaskCheckCascade.C:5
 AddTaskCheckCascade.C:6
 AddTaskCheckCascade.C:7
 AddTaskCheckCascade.C:8
 AddTaskCheckCascade.C:9
 AddTaskCheckCascade.C:10
 AddTaskCheckCascade.C:11
 AddTaskCheckCascade.C:12
 AddTaskCheckCascade.C:13
 AddTaskCheckCascade.C:14
 AddTaskCheckCascade.C:15
 AddTaskCheckCascade.C:16
 AddTaskCheckCascade.C:17
 AddTaskCheckCascade.C:18
 AddTaskCheckCascade.C:19
 AddTaskCheckCascade.C:20
 AddTaskCheckCascade.C:21
 AddTaskCheckCascade.C:22
 AddTaskCheckCascade.C:23
 AddTaskCheckCascade.C:24
 AddTaskCheckCascade.C:25
 AddTaskCheckCascade.C:26
 AddTaskCheckCascade.C:27
 AddTaskCheckCascade.C:28
 AddTaskCheckCascade.C:29
 AddTaskCheckCascade.C:30
 AddTaskCheckCascade.C:31
 AddTaskCheckCascade.C:32
 AddTaskCheckCascade.C:33
 AddTaskCheckCascade.C:34
 AddTaskCheckCascade.C:35
 AddTaskCheckCascade.C:36
 AddTaskCheckCascade.C:37
 AddTaskCheckCascade.C:38
 AddTaskCheckCascade.C:39
 AddTaskCheckCascade.C:40
 AddTaskCheckCascade.C:41
 AddTaskCheckCascade.C:42
 AddTaskCheckCascade.C:43
 AddTaskCheckCascade.C:44
 AddTaskCheckCascade.C:45
 AddTaskCheckCascade.C:46
 AddTaskCheckCascade.C:47
 AddTaskCheckCascade.C:48
 AddTaskCheckCascade.C:49
 AddTaskCheckCascade.C:50
 AddTaskCheckCascade.C:51
 AddTaskCheckCascade.C:52
 AddTaskCheckCascade.C:53
 AddTaskCheckCascade.C:54
 AddTaskCheckCascade.C:55
 AddTaskCheckCascade.C:56
 AddTaskCheckCascade.C:57
 AddTaskCheckCascade.C:58
 AddTaskCheckCascade.C:59
 AddTaskCheckCascade.C:60
 AddTaskCheckCascade.C:61
 AddTaskCheckCascade.C:62
 AddTaskCheckCascade.C:63
 AddTaskCheckCascade.C:64
 AddTaskCheckCascade.C:65
 AddTaskCheckCascade.C:66
 AddTaskCheckCascade.C:67
 AddTaskCheckCascade.C:68
 AddTaskCheckCascade.C:69
 AddTaskCheckCascade.C:70
 AddTaskCheckCascade.C:71
 AddTaskCheckCascade.C:72
 AddTaskCheckCascade.C:73
 AddTaskCheckCascade.C:74
 AddTaskCheckCascade.C:75
 AddTaskCheckCascade.C:76
 AddTaskCheckCascade.C:77
 AddTaskCheckCascade.C:78
 AddTaskCheckCascade.C:79
 AddTaskCheckCascade.C:80
 AddTaskCheckCascade.C:81
 AddTaskCheckCascade.C:82
 AddTaskCheckCascade.C:83
 AddTaskCheckCascade.C:84
 AddTaskCheckCascade.C:85
 AddTaskCheckCascade.C:86
 AddTaskCheckCascade.C:87
 AddTaskCheckCascade.C:88