ROOT logo
AliAnalysisTaskJetShapeConst *AddTaskJetShapeConst(const char * njetsBase,
						   const char * njetsSub,
						   const char * njetsNoEmb,
						   const Double_t R,
						   const char * nrhoBase,
						   const char * nrhoMass,
						   const char * ntracks,
						   const char * nclusters,
						   const char * type           = "TPC",
						   const char * CentEst        = "V0M",
						   Int_t        pSel           = AliVEvent::kAny,
						   TString      trigClass      = "",
						   TString      kEmcalTriggers = "",
						   TString      tag            = "MCMatch",
						   Bool_t       bCreateTree    = kFALSE)
{

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

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

  //Configure jet tagger task
  AliAnalysisTaskJetShapeConst *task = new AliAnalysisTaskJetShapeConst(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->SetRhoMassName(nrhoMass);
    jetContBase->ConnectParticleContainer(trackCont);
    jetContBase->ConnectClusterContainer(clusterCont);
    jetContBase->SetPercAreaCut(0.6);
  }
  AliJetContainer *jetContSub = task->AddJetContainer(njetsSub,strType,R);
  if(jetContSub) {
    jetContSub->SetRhoName(nrhoBase);
    jetContSub->SetRhoMassName(nrhoMass);
    jetContSub->ConnectParticleContainer(trackCont);
    jetContSub->ConnectClusterContainer(clusterCont);
    jetContSub->SetPercAreaCut(0.6);
    jetContSub->SetJetPtCut(-1e6);
  }

  AliJetContainer *jetContNoEmb = task->AddJetContainer(njetsNoEmb,strType,R);
  if(jetContNoEmb) {
    jetContNoEmb->SetRhoName(nrhoBase);
    jetContNoEmb->SetRhoMassName(nrhoMass);
    jetContNoEmb->ConnectParticleContainer(trackCont);
    jetContNoEmb->ConnectClusterContainer(clusterCont);
    jetContNoEmb->SetPercAreaCut(0.6);
    jetContNoEmb->SetJetPtCut(-1e6);
  }

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

  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);
  if(bCreateTree) {
    AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("%sTree",contName.Data()), TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile);
    mgr->ConnectOutput(task,2,coutput2);
  }

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