ROOT logo
SteerAnalysisTaskParticleEfficiency(const Char_t *inputfilename, Int_t maxFiles = kMaxInt, Int_t maxEv = kMaxInt)
{

  /* include path for ACLic */
  gSystem->AddIncludePath("-I$ALICE_ROOT/include");
  gSystem->AddIncludePath("-I$ALICE_ROOT/TOF");
  /* load libraries */
  gSystem->Load("libANALYSIS");
  gSystem->Load("libANALYSISalice");
  /* build analysis task class */
  gROOT->LoadMacro("AliAnalysisTaskParticleEfficiency.cxx+g");

  /* setup input chain */
  TString str = inputfilename;
  const Char_t *filename;
  TChain *chain = new TChain("esdTree");
  if (str.EndsWith(".xml")) {
    TGrid::Connect("alien://");
    Info("SteerTaskParticleEfficiency", "reading data list from collection:");
    TAlienCollection coll(inputfilename, maxFiles);
    coll.Reset();
    while (coll.Next()) {
      filename = coll.GetTURL();
      Info("SteerTaskParticleEfficiency", Form("%s", filename));
      chain->Add(filename);
    }
  }
  else if (str.EndsWith(".txt")) {
    Info("SteerTaskParticleEfficiency", "reading data list from text file:");
    ifstream is(inputfilename);
    Char_t buf[4096];
    while(!is.eof()) {
      is.getline(buf, 4096);
      if (is.eof()) break;
      chain->Add(buf);
      Info("SteerTaskParticleEfficiency", Form("%s", buf));
    }
    is.close();
  }
  else {
    Info("SteerTaskParticleEfficiency", "single file:");
    filename = inputfilename;
    Info("SteerTaskParticleEfficiency", Form("%s", filename));
    chain->Add(filename);
  }
  Info("SteerTaskParticleEfficiency", Form("chain is ready: %d events", chain->GetEntries()));

  /* create analysis manager */
  AliAnalysisManager *mgr = new AliAnalysisManager("ParticleEfficiency");

  /* define input event handler */
  AliESDInputHandler *esdh = new AliESDInputHandler();
  esdh->SetReadFriends(kFALSE);
  mgr->SetInputEventHandler(esdh);

  /* define MC truth event handler */
  AliMCEventHandler *mch = new AliMCEventHandler();
  mgr->SetMCtruthEventHandler(mch);
  
  /* define output handler */
  AliAODHandler *outputh = new AliAODHandler();
  mgr->SetOutputEventHandler(outputh);
  
  /* add tasks */
  gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
  AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(kTRUE);
  gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
  AliCentralitySelectionTask *centralityTask = AddTaskCentrality(); 
  centralityTask->SetMCInput();
  gROOT->LoadMacro("AddAnalysisTaskParticleEfficiency.C");
  
  AddAnalysisTaskParticleEfficiency("pi+");
  AddAnalysisTaskParticleEfficiency("pi-");
  AddAnalysisTaskParticleEfficiency("K+");
  AddAnalysisTaskParticleEfficiency("K-");
  AddAnalysisTaskParticleEfficiency("proton");
  AddAnalysisTaskParticleEfficiency("antiproton");
  AddAnalysisTaskParticleEfficiency("K*0");
  AddAnalysisTaskParticleEfficiency("K*0_bar");
  AddAnalysisTaskParticleEfficiency("phi");

  /* start analysis */
  mgr->SetDebugLevel(0);
  if (!mgr->InitAnalysis()) return;
  mgr->PrintStatus();
  mgr->StartAnalysis("local", chain, maxEv);

  /* create dummy file to tell we are done */
  gSystem->Exec("touch done");

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