ROOT logo
AliAnalysisTaskCheckCascadePbPb *AddTaskCheckCascadePbPb( Int_t    minnTPCcls          = 80,
                                                          Float_t  centrlowlim         = 0.,
                                                          Float_t  centruplim          = 90.,
                                                          TString  centrest            = "V0M",
                                                          Bool_t   kusecleaning        = kTRUE, 
                                                          Float_t  vtxlim              = 10.,
                                                          Bool_t   kextrasel           = kFALSE,
                                                          Bool_t   krelaunchvertexers  = kFALSE,
                                                          Float_t  minptondaughtertracks = 1.,
                                                          Float_t  etacutondaughtertracks = 9999999.) {

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

   // Create and configure the task
	AliAnalysisTaskCheckCascadePbPb *taskcheckcascadepbpb = new AliAnalysisTaskCheckCascadePbPb("TaskCheckCascadePbPb");

   taskcheckcascadepbpb->SetRelaunchV0CascVertexers    (krelaunchvertexers);
   taskcheckcascadepbpb->SetAnalysisType               (type);
   taskcheckcascadepbpb->SetQualityCutZprimVtxPos      (kTRUE);             // selects vertices in +-10cm
   taskcheckcascadepbpb->SetQualityCutNoTPConlyPrimVtx (kTRUE);             // retains only events with tracking + SPD vertex
   taskcheckcascadepbpb->SetQualityCutTPCrefit         (kTRUE);             // requires TPC refit flag to be true to select a track
   taskcheckcascadepbpb->SetQualityCutnTPCcls          (kTRUE);             // rejects tracks that have less than n clusters in the TPC
   taskcheckcascadepbpb->SetQualityCutMinnTPCcls       (minnTPCcls);        // minimum number of TPC clusters to accept daughter tracks
   taskcheckcascadepbpb->SetExtraSelections            (kextrasel);         // used to add other selection cuts
   taskcheckcascadepbpb->SetCentralityLowLim           (centrlowlim);       // setting centrality selection vriables
   taskcheckcascadepbpb->SetCentralityUpLim            (centruplim);
   taskcheckcascadepbpb->SetCentralityEst              (centrest);
   taskcheckcascadepbpb->SetUseCleaning                (kusecleaning);
   taskcheckcascadepbpb->SetVertexRange                (vtxlim);
   taskcheckcascadepbpb->SetMinptCutOnDaughterTracks   (minptondaughtertracks);  
   taskcheckcascadepbpb->SetEtaCutOnDaughterTracks     (etacutondaughtertracks);
   taskcheckcascadepbpb->SelectCollisionCandidates();

   mgr->AddTask(taskcheckcascadepbpb);

   // 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 outputFileName = AliAnalysisManager::GetCommonFileName();
   
   outputFileName += ":PWGLFStrangeness.outputCheckCascadePbPb";
   
   Printf("AddTaskCheckCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );

   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCasc",
							     TList::Class(),
							     AliAnalysisManager::kOutputContainer,
							     outputFileName );
   
   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("cfcontPIDXiM",
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );

   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cfcontPIDXiP",
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );

   AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("cfcontPIDOmegaM",
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );

   AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("cfcontPIDOmegaP",
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );

   AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("cfcontCuts",
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );

   
   mgr->ConnectInput( taskcheckcascadepbpb, 0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput(taskcheckcascadepbpb, 1, coutput1);
   mgr->ConnectOutput(taskcheckcascadepbpb, 1, coutput1);
   mgr->ConnectOutput(taskcheckcascadepbpb, 2, coutput2);
   mgr->ConnectOutput(taskcheckcascadepbpb, 3, coutput3);
   mgr->ConnectOutput(taskcheckcascadepbpb, 4, coutput4);
   mgr->ConnectOutput(taskcheckcascadepbpb, 5, coutput5);
   mgr->ConnectOutput(taskcheckcascadepbpb, 6, coutput6);
   
   return taskcheckcascadepbpb;
}   
 AddTaskCheckCascadePbPb.C:1
 AddTaskCheckCascadePbPb.C:2
 AddTaskCheckCascadePbPb.C:3
 AddTaskCheckCascadePbPb.C:4
 AddTaskCheckCascadePbPb.C:5
 AddTaskCheckCascadePbPb.C:6
 AddTaskCheckCascadePbPb.C:7
 AddTaskCheckCascadePbPb.C:8
 AddTaskCheckCascadePbPb.C:9
 AddTaskCheckCascadePbPb.C:10
 AddTaskCheckCascadePbPb.C:11
 AddTaskCheckCascadePbPb.C:12
 AddTaskCheckCascadePbPb.C:13
 AddTaskCheckCascadePbPb.C:14
 AddTaskCheckCascadePbPb.C:15
 AddTaskCheckCascadePbPb.C:16
 AddTaskCheckCascadePbPb.C:17
 AddTaskCheckCascadePbPb.C:18
 AddTaskCheckCascadePbPb.C:19
 AddTaskCheckCascadePbPb.C:20
 AddTaskCheckCascadePbPb.C:21
 AddTaskCheckCascadePbPb.C:22
 AddTaskCheckCascadePbPb.C:23
 AddTaskCheckCascadePbPb.C:24
 AddTaskCheckCascadePbPb.C:25
 AddTaskCheckCascadePbPb.C:26
 AddTaskCheckCascadePbPb.C:27
 AddTaskCheckCascadePbPb.C:28
 AddTaskCheckCascadePbPb.C:29
 AddTaskCheckCascadePbPb.C:30
 AddTaskCheckCascadePbPb.C:31
 AddTaskCheckCascadePbPb.C:32
 AddTaskCheckCascadePbPb.C:33
 AddTaskCheckCascadePbPb.C:34
 AddTaskCheckCascadePbPb.C:35
 AddTaskCheckCascadePbPb.C:36
 AddTaskCheckCascadePbPb.C:37
 AddTaskCheckCascadePbPb.C:38
 AddTaskCheckCascadePbPb.C:39
 AddTaskCheckCascadePbPb.C:40
 AddTaskCheckCascadePbPb.C:41
 AddTaskCheckCascadePbPb.C:42
 AddTaskCheckCascadePbPb.C:43
 AddTaskCheckCascadePbPb.C:44
 AddTaskCheckCascadePbPb.C:45
 AddTaskCheckCascadePbPb.C:46
 AddTaskCheckCascadePbPb.C:47
 AddTaskCheckCascadePbPb.C:48
 AddTaskCheckCascadePbPb.C:49
 AddTaskCheckCascadePbPb.C:50
 AddTaskCheckCascadePbPb.C:51
 AddTaskCheckCascadePbPb.C:52
 AddTaskCheckCascadePbPb.C:53
 AddTaskCheckCascadePbPb.C:54
 AddTaskCheckCascadePbPb.C:55
 AddTaskCheckCascadePbPb.C:56
 AddTaskCheckCascadePbPb.C:57
 AddTaskCheckCascadePbPb.C:58
 AddTaskCheckCascadePbPb.C:59
 AddTaskCheckCascadePbPb.C:60
 AddTaskCheckCascadePbPb.C:61
 AddTaskCheckCascadePbPb.C:62
 AddTaskCheckCascadePbPb.C:63
 AddTaskCheckCascadePbPb.C:64
 AddTaskCheckCascadePbPb.C:65
 AddTaskCheckCascadePbPb.C:66
 AddTaskCheckCascadePbPb.C:67
 AddTaskCheckCascadePbPb.C:68
 AddTaskCheckCascadePbPb.C:69
 AddTaskCheckCascadePbPb.C:70
 AddTaskCheckCascadePbPb.C:71
 AddTaskCheckCascadePbPb.C:72
 AddTaskCheckCascadePbPb.C:73
 AddTaskCheckCascadePbPb.C:74
 AddTaskCheckCascadePbPb.C:75
 AddTaskCheckCascadePbPb.C:76
 AddTaskCheckCascadePbPb.C:77
 AddTaskCheckCascadePbPb.C:78
 AddTaskCheckCascadePbPb.C:79
 AddTaskCheckCascadePbPb.C:80
 AddTaskCheckCascadePbPb.C:81
 AddTaskCheckCascadePbPb.C:82
 AddTaskCheckCascadePbPb.C:83
 AddTaskCheckCascadePbPb.C:84
 AddTaskCheckCascadePbPb.C:85
 AddTaskCheckCascadePbPb.C:86
 AddTaskCheckCascadePbPb.C:87
 AddTaskCheckCascadePbPb.C:88
 AddTaskCheckCascadePbPb.C:89
 AddTaskCheckCascadePbPb.C:90
 AddTaskCheckCascadePbPb.C:91
 AddTaskCheckCascadePbPb.C:92
 AddTaskCheckCascadePbPb.C:93
 AddTaskCheckCascadePbPb.C:94
 AddTaskCheckCascadePbPb.C:95
 AddTaskCheckCascadePbPb.C:96
 AddTaskCheckCascadePbPb.C:97
 AddTaskCheckCascadePbPb.C:98
 AddTaskCheckCascadePbPb.C:99
 AddTaskCheckCascadePbPb.C:100
 AddTaskCheckCascadePbPb.C:101
 AddTaskCheckCascadePbPb.C:102
 AddTaskCheckCascadePbPb.C:103
 AddTaskCheckCascadePbPb.C:104
 AddTaskCheckCascadePbPb.C:105