ROOT logo
AliAnalysisTaskQAMultistrange *AddTaskQAMultistrange( Bool_t   isMC                   = kFALSE,
                                                      Int_t    minnTPCcls             = 70,
                                                      Float_t  centrlowlim            = 0.,
                                                      Float_t  centruplim             = 90.,
                                                      TString  centrest               = "V0M",
                                                      Bool_t   kusecleaning           = kTRUE, 
                                                      Float_t  vtxlim                 = 10.,
                                                      TString  collidingSystem        = "PbPb",
                                                      Float_t  minptondaughtertracks  = 0.,
                                                      Float_t  etacutondaughtertracks = 0.8) {

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

   // Create and configure the task
   AliAnalysisTaskQAMultistrange *taskcheckcascade = new AliAnalysisTaskQAMultistrange("TaskCheckCascade");

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

   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 outputFileName = AliAnalysisManager::GetCommonFileName();
   outputFileName += ":PWGLFStrangeness.outputCheckCascade";

   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("fListHistMultistrangeQA",
                                                             TList::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("cfcontCuts",
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cfcontMCgen",
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
   
   mgr->ConnectInput( taskcheckcascade, 0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput(taskcheckcascade, 1, coutput1);
   mgr->ConnectOutput(taskcheckcascade, 2, coutput2);  
   mgr->ConnectOutput(taskcheckcascade, 3, coutput3);  
 
   return taskcheckcascade;
}   

 AddTaskQAMultistrange.C:1
 AddTaskQAMultistrange.C:2
 AddTaskQAMultistrange.C:3
 AddTaskQAMultistrange.C:4
 AddTaskQAMultistrange.C:5
 AddTaskQAMultistrange.C:6
 AddTaskQAMultistrange.C:7
 AddTaskQAMultistrange.C:8
 AddTaskQAMultistrange.C:9
 AddTaskQAMultistrange.C:10
 AddTaskQAMultistrange.C:11
 AddTaskQAMultistrange.C:12
 AddTaskQAMultistrange.C:13
 AddTaskQAMultistrange.C:14
 AddTaskQAMultistrange.C:15
 AddTaskQAMultistrange.C:16
 AddTaskQAMultistrange.C:17
 AddTaskQAMultistrange.C:18
 AddTaskQAMultistrange.C:19
 AddTaskQAMultistrange.C:20
 AddTaskQAMultistrange.C:21
 AddTaskQAMultistrange.C:22
 AddTaskQAMultistrange.C:23
 AddTaskQAMultistrange.C:24
 AddTaskQAMultistrange.C:25
 AddTaskQAMultistrange.C:26
 AddTaskQAMultistrange.C:27
 AddTaskQAMultistrange.C:28
 AddTaskQAMultistrange.C:29
 AddTaskQAMultistrange.C:30
 AddTaskQAMultistrange.C:31
 AddTaskQAMultistrange.C:32
 AddTaskQAMultistrange.C:33
 AddTaskQAMultistrange.C:34
 AddTaskQAMultistrange.C:35
 AddTaskQAMultistrange.C:36
 AddTaskQAMultistrange.C:37
 AddTaskQAMultistrange.C:38
 AddTaskQAMultistrange.C:39
 AddTaskQAMultistrange.C:40
 AddTaskQAMultistrange.C:41
 AddTaskQAMultistrange.C:42
 AddTaskQAMultistrange.C:43
 AddTaskQAMultistrange.C:44
 AddTaskQAMultistrange.C:45
 AddTaskQAMultistrange.C:46
 AddTaskQAMultistrange.C:47
 AddTaskQAMultistrange.C:48
 AddTaskQAMultistrange.C:49
 AddTaskQAMultistrange.C:50
 AddTaskQAMultistrange.C:51
 AddTaskQAMultistrange.C:52
 AddTaskQAMultistrange.C:53
 AddTaskQAMultistrange.C:54
 AddTaskQAMultistrange.C:55
 AddTaskQAMultistrange.C:56
 AddTaskQAMultistrange.C:57
 AddTaskQAMultistrange.C:58
 AddTaskQAMultistrange.C:59
 AddTaskQAMultistrange.C:60
 AddTaskQAMultistrange.C:61
 AddTaskQAMultistrange.C:62
 AddTaskQAMultistrange.C:63
 AddTaskQAMultistrange.C:64
 AddTaskQAMultistrange.C:65
 AddTaskQAMultistrange.C:66
 AddTaskQAMultistrange.C:67
 AddTaskQAMultistrange.C:68
 AddTaskQAMultistrange.C:69
 AddTaskQAMultistrange.C:70
 AddTaskQAMultistrange.C:71
 AddTaskQAMultistrange.C:72
 AddTaskQAMultistrange.C:73
 AddTaskQAMultistrange.C:74
 AddTaskQAMultistrange.C:75
 AddTaskQAMultistrange.C:76
 AddTaskQAMultistrange.C:77
 AddTaskQAMultistrange.C:78
 AddTaskQAMultistrange.C:79
 AddTaskQAMultistrange.C:80