ROOT logo
EmcalHJetMassAnalysis::AliAnalysisTaskEmcalHJetMass* AddTaskEmcalHJetMass(const char * njetsBase,
						   const Double_t R,
						   const char * nrhoBase,
						   const char * ntracks,
						   const char * nclusters,
						   const char * type,
						   Double_t     ptMinH         = 5.,
						   Double_t     maxDPhi        = 0.6,
						   Int_t        pSel,
						   const char * CentEst        = "V0M",
						   TString      trigClass      = "",
						   TString      kEmcalTriggers = "",
						   TString      nJetsUnsub     = "",
						   TString      tag            = "") {

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
    {
      Error("AddTaskEmcalHJetMass","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("AddTaskEmcalHJetMass", "This task requires an input event handler");
      return NULL;
    }

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

  //Configure jet tagger task
  EmcalHJetMassAnalysis::AliAnalysisTaskEmcalHJetMass *task = new EmcalHJetMassAnalysis::AliAnalysisTaskEmcalHJetMass(wagonName.Data());
  task->SetNCentBins(4);
  task->SetMaxDeltaPhi(maxDPhi);
  
  AliParticleContainer *trackCont  = task->AddParticleContainer(ntracks);
  trackCont->SetParticlePtCut(ptMinH);
  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;  

}

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