ROOT logo

void AddTaskFPexample(AliAnalysisManager *mgr,
		      AliAnalysisAlien *plugin,
		      const char *runtype,
		      const bool useRealData,
		      const char *taskname,
		      const Int_t gridRun = -1)
{
  if (!mgr) {
    Printf("ERROR: undefined manager, FPexample won't be added");
    return;
  }
  if (!plugin) {
    Printf("ERROR: undefined alien plugin, FPexample won't be added");
    return;
  }
  // create task
  gROOT->LoadMacro("AliAnalysisTaskFirstPhysics.cxx++g");
  gROOT->LoadMacro("AliAnalysisHistosVertex.cxx++g");
  gROOT->LoadMacro("AliAnalysisTaskFPexample.cxx++g");

  AliAnalysisTaskFPexample* task = new AliAnalysisTaskFPexample(taskname);
  task->SelectCollisionCandidates(AliVEvent::kMB); // if physics selection performed in UserExec(), this line should be commented
  task->SetCutTrackPt(0.15, 1e10);
  task->SetCutEta(0.8);
  task->SetCutVertexZ(10);
  mgr->AddTask(task);

  // set output root file name for different analysis
  TString outfilename;
  if (runtype == "grid") {
    outfilename = TString::Format("grid_%d_%s.root", gridRun, useRealData ? "data" : "sim");
    plugin->SetDefaultOutputs(kFALSE);
    plugin->SetOutputFiles(outfilename);
  } else {
    outfilename = TString::Format("%s_xx_%s.root", runtype, useRealData ? "data" : "sim");
  }

  // create containers for input/output
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("coutput1", TList::Class(), AliAnalysisManager::kOutputContainer, outfilename.Data());
  // connect input/output
  mgr->ConnectInput(task, 0, cinput);
  mgr->ConnectOutput(task, 1, coutput1);
}
 AddTaskFPexample.C:1
 AddTaskFPexample.C:2
 AddTaskFPexample.C:3
 AddTaskFPexample.C:4
 AddTaskFPexample.C:5
 AddTaskFPexample.C:6
 AddTaskFPexample.C:7
 AddTaskFPexample.C:8
 AddTaskFPexample.C:9
 AddTaskFPexample.C:10
 AddTaskFPexample.C:11
 AddTaskFPexample.C:12
 AddTaskFPexample.C:13
 AddTaskFPexample.C:14
 AddTaskFPexample.C:15
 AddTaskFPexample.C:16
 AddTaskFPexample.C:17
 AddTaskFPexample.C:18
 AddTaskFPexample.C:19
 AddTaskFPexample.C:20
 AddTaskFPexample.C:21
 AddTaskFPexample.C:22
 AddTaskFPexample.C:23
 AddTaskFPexample.C:24
 AddTaskFPexample.C:25
 AddTaskFPexample.C:26
 AddTaskFPexample.C:27
 AddTaskFPexample.C:28
 AddTaskFPexample.C:29
 AddTaskFPexample.C:30
 AddTaskFPexample.C:31
 AddTaskFPexample.C:32
 AddTaskFPexample.C:33
 AddTaskFPexample.C:34
 AddTaskFPexample.C:35
 AddTaskFPexample.C:36
 AddTaskFPexample.C:37
 AddTaskFPexample.C:38
 AddTaskFPexample.C:39
 AddTaskFPexample.C:40
 AddTaskFPexample.C:41
 AddTaskFPexample.C:42
 AddTaskFPexample.C:43
 AddTaskFPexample.C:44
 AddTaskFPexample.C:45
 AddTaskFPexample.C:46