ROOT logo
AliAnalysisTaskEmcalJetMassBkg* AddTaskEmcalJetMassBkg(const char * njetsBase, 
						       const Double_t R,
						       const char * nrhoBase, 
						       const char * nrhoMass,
						       const char * ntracks, 
						       const char * nclusters,	
						       const char *type,					     
						       const char *CentEst,
						       Int_t       pSel,
						       TString     trigClass,
						       TString     kEmcalTriggers) {

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

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

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

  task->SetNCentBins(4);
  task->SetConeRadius(R);

  if (strcmp(type,"TPC")==0)
    task->SetConeEtaPhiTPC();
  else if (strcmp(type,"EMCAL")==0)
    task->SetConeEtaPhiEMCAL();

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

  TString strJetsBase(njetsBase);
  if(strJetsBase.Contains("JetPythia")) {
    if(trackCont)   trackCont->SetTrackBitMap(TObject::kBitMask);
    if(clusterCont) clusterCont->SetClusterBitMap(TObject::kBitMask);
  }

  task->SetJetContainerBase(0);

  TString strType(type);
  AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
  if(jetContBase) {
    jetContBase->SetRhoName(nrhoBase);
    jetContBase->SetRhoMassName(nrhoMass);
    jetContBase->ConnectParticleContainer(trackCont);
    jetContBase->ConnectClusterContainer(clusterCont);
    //  jetContBase->SetZLeadingCut(0.98,0.98);
    jetContBase->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;  
}
 AddTaskEmcalJetMassBkg.C:1
 AddTaskEmcalJetMassBkg.C:2
 AddTaskEmcalJetMassBkg.C:3
 AddTaskEmcalJetMassBkg.C:4
 AddTaskEmcalJetMassBkg.C:5
 AddTaskEmcalJetMassBkg.C:6
 AddTaskEmcalJetMassBkg.C:7
 AddTaskEmcalJetMassBkg.C:8
 AddTaskEmcalJetMassBkg.C:9
 AddTaskEmcalJetMassBkg.C:10
 AddTaskEmcalJetMassBkg.C:11
 AddTaskEmcalJetMassBkg.C:12
 AddTaskEmcalJetMassBkg.C:13
 AddTaskEmcalJetMassBkg.C:14
 AddTaskEmcalJetMassBkg.C:15
 AddTaskEmcalJetMassBkg.C:16
 AddTaskEmcalJetMassBkg.C:17
 AddTaskEmcalJetMassBkg.C:18
 AddTaskEmcalJetMassBkg.C:19
 AddTaskEmcalJetMassBkg.C:20
 AddTaskEmcalJetMassBkg.C:21
 AddTaskEmcalJetMassBkg.C:22
 AddTaskEmcalJetMassBkg.C:23
 AddTaskEmcalJetMassBkg.C:24
 AddTaskEmcalJetMassBkg.C:25
 AddTaskEmcalJetMassBkg.C:26
 AddTaskEmcalJetMassBkg.C:27
 AddTaskEmcalJetMassBkg.C:28
 AddTaskEmcalJetMassBkg.C:29
 AddTaskEmcalJetMassBkg.C:30
 AddTaskEmcalJetMassBkg.C:31
 AddTaskEmcalJetMassBkg.C:32
 AddTaskEmcalJetMassBkg.C:33
 AddTaskEmcalJetMassBkg.C:34
 AddTaskEmcalJetMassBkg.C:35
 AddTaskEmcalJetMassBkg.C:36
 AddTaskEmcalJetMassBkg.C:37
 AddTaskEmcalJetMassBkg.C:38
 AddTaskEmcalJetMassBkg.C:39
 AddTaskEmcalJetMassBkg.C:40
 AddTaskEmcalJetMassBkg.C:41
 AddTaskEmcalJetMassBkg.C:42
 AddTaskEmcalJetMassBkg.C:43
 AddTaskEmcalJetMassBkg.C:44
 AddTaskEmcalJetMassBkg.C:45
 AddTaskEmcalJetMassBkg.C:46
 AddTaskEmcalJetMassBkg.C:47
 AddTaskEmcalJetMassBkg.C:48
 AddTaskEmcalJetMassBkg.C:49
 AddTaskEmcalJetMassBkg.C:50
 AddTaskEmcalJetMassBkg.C:51
 AddTaskEmcalJetMassBkg.C:52
 AddTaskEmcalJetMassBkg.C:53
 AddTaskEmcalJetMassBkg.C:54
 AddTaskEmcalJetMassBkg.C:55
 AddTaskEmcalJetMassBkg.C:56
 AddTaskEmcalJetMassBkg.C:57
 AddTaskEmcalJetMassBkg.C:58
 AddTaskEmcalJetMassBkg.C:59
 AddTaskEmcalJetMassBkg.C:60
 AddTaskEmcalJetMassBkg.C:61
 AddTaskEmcalJetMassBkg.C:62
 AddTaskEmcalJetMassBkg.C:63
 AddTaskEmcalJetMassBkg.C:64
 AddTaskEmcalJetMassBkg.C:65
 AddTaskEmcalJetMassBkg.C:66
 AddTaskEmcalJetMassBkg.C:67
 AddTaskEmcalJetMassBkg.C:68
 AddTaskEmcalJetMassBkg.C:69
 AddTaskEmcalJetMassBkg.C:70
 AddTaskEmcalJetMassBkg.C:71
 AddTaskEmcalJetMassBkg.C:72
 AddTaskEmcalJetMassBkg.C:73
 AddTaskEmcalJetMassBkg.C:74
 AddTaskEmcalJetMassBkg.C:75
 AddTaskEmcalJetMassBkg.C:76
 AddTaskEmcalJetMassBkg.C:77
 AddTaskEmcalJetMassBkg.C:78
 AddTaskEmcalJetMassBkg.C:79
 AddTaskEmcalJetMassBkg.C:80
 AddTaskEmcalJetMassBkg.C:81
 AddTaskEmcalJetMassBkg.C:82
 AddTaskEmcalJetMassBkg.C:83