ROOT logo
AliAnalysisTaskEmcalJetMass* AddTaskEmcalJetMass(const char * njetsBase,
						 const Double_t R,
						 const char * nrhoBase, 
						 const char * ntracks, 
						 const char * nclusters,
						 const char *type,					     
						 const char *CentEst,
						 Int_t       pSel,
						 TString     trigClass      = "",
						 TString     kEmcalTriggers = "",
						 TString     tag            = "",
						 TString     nJetsUnsub    = "") {

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
    {
      Error("AddTaskEmcalJetMass","No analysis manager found.");
      return 0;
    }
  Bool_t ismc=kFALSE;
  ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;

  // Check the analysis type using the event handlers connected to the analysis manager.
  //==============================================================================
  if (!mgr->GetInputEventHandler())
    {
      ::Error("AddTaskEmcalJetMass", "This task requires an input event handler");
      return NULL;
    }

  TString wagonName = Form("JetMass_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());

  //Configure jet tagger task
  AliAnalysisTaskEmcalJetMass *task = new AliAnalysisTaskEmcalJetMass(wagonName.Data());

  task->SetNCentBins(4);
  //task->SetVzRange(-10.,10.);

  AliParticleContainer *trackCont  = task->AddParticleContainer(ntracks);
  AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters);

  task->SetJetContainerBase(0);

  TString strType(type);
  AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
  if(jetContBase) {
    jetContBase->SetRhoName(nrhoBase);
    jetContBase->ConnectParticleContainer(trackCont);
    jetContBase->ConnectClusterContainer(clusterCont);
    jetContBase->SetPercAreaCut(0.6);
  }
  if(!nJetsUnsub.IsNull()) {
    AliJetContainer *jetContUS = task->AddJetContainer(nJetsUnsub.Data(),strType,R);
    if(jetContUS) {
      jetContUS->SetRhoName(nrhoBase);
      jetContUS->ConnectParticleContainer(trackCont);
      jetContUS->ConnectClusterContainer(clusterCont);
      jetContUS->SetPercAreaCut(0.6);
    }
  }

  task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
  task->SetCentralityEstimator(CentEst);
  task->SelectCollisionCandidates(pSel);
  task->SetUseAliAnaUtils(kFALSE);

  mgr->AddTask(task);

  //Connnect input
  mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );

  //Connect output
  TString contName(wagonName);
  TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
  mgr->ConnectOutput(task,1,coutput1);

  return task;  

}

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