ROOT logo
void runPilot() {
  TStopwatch timer;
  timer.Start();
  gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT -I$ALICE_ROOT/TRD");
  gSystem->Load("libANALYSIS.so");
  gSystem->Load("libANALYSISalice.so");
  gSystem->Load("libTENDER.so");
  gSystem->Load("libCORRFW.so");
  gSystem->Load("libPWG0base.so");
  gSystem->Load("libPWG0dep.so");
  gSystem->Load("libPWG0selectors.so");
  gSystem->Load("libPWGPP.so");
  gSystem->Load("libPWG2.so");
  gSystem->Load("libPWGmuon.so");
  gSystem->Load("libPWGmuondep.so");
  gSystem->Load("libPWG2forward.so");
  gSystem->Load("libPWG4PartCorrBase.so");
  gSystem->Load("libPWG4PartCorrDep.so");
 


  Bool_t doQAsym        = 1;   // (data)
  Bool_t doVZERO        = 1;   // (data)
  Bool_t doVertex       = 1;   // (data)
  Bool_t doSPD          = 1;   // (data/RP)   
  Bool_t doFMD          = 1;   // (data)
  Bool_t doTPC          = 1;   // AliPerformanceTask (data/MCtruth)
  Bool_t doEventStat    = 1;   // (data)
  Bool_t doSDD          = 1;   // (data/RP)
  Bool_t doTRD          = 1;   // TRD 
  Bool_t doITS          = 1;   // ITS
  Bool_t doCALO         = 1;   // Calorimeter
  Bool_t doMUONTrig     = 1;   // MUON trigger
  Bool_t doMUONEff      = 0;   // MUON efficiency  NEEDS geometry
  Bool_t doV0           = 0;   // V0 recosntruction performance NEEDS MCtruth
   
  //
  //
  // Tasks that need MC information
  //

  
  
   //____________________________________________//
  // Make the analysis manager
  AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
  mgr->SetDebugLevel(10);
  

  AliInputEventHandler* esdH = new AliESDInputHandlerRP();
  esdH->SetActiveBranches("ESDfriend");
  mgr->SetInputEventHandler(esdH);  

  // Chain 
  // TGrid::Connect("alien://");
  
  TChain* chain = new TChain("esdTree");
  //chain->AddFile("alien:///alice/data/2009/LHC09d/000104321/ESDs/pass1/09000104321018.10/AliESDs.root");
  //chain->AddFile("alien:///alice/data/2009/LHC09d/000104321/ESDs/pass1/09000104321018.20/AliESDs.root");
  chain->AddFile("/home/morsch/AliRoot/trunk/PWGPP/PilotTrain/data/AliESDs.root");
  

  //
  // Wagons running on data
  //
  //
  //
  // VZERO QA  (C. Cheshkov)
  //
  if (doVZERO) {
      gROOT->LoadMacro("AddTaskVZEROQA.C");
      AliAnalysisTaskSE* task2 =  AddTaskVZEROQA(0);
//      task2->SelectCollisionCandidates();
  }
  
  //
  // Vertexing (A. Dainese)
  // 
  if (doVertex) {
      gROOT->LoadMacro("$(ALICE_ROOT)/PWGPP/macros/AddTaskVertexESD.C");
      AliAnalysisTaskVertexESD* task3 =  AddTaskVertexESD();
      task3->SelectCollisionCandidates();
  }

  //
  // ITS
  // 
  if (doITS) {
      gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskPerformanceITS.C");
      AliAnalysisTaskITSTrackingCheck *itsQA = AddTaskPerformanceITS(kFALSE);
  }
  
  //
  // SPD (A. Mastroserio)
  //
  if (doSPD) {
      gROOT->LoadMacro("AddTaskSPDQA.C");
      AliAnalysisTaskSE* task4 = AddTaskSPDQA();
  }

  //
  // SDD (F. Prino)
  //
  if (doSDD) {
      gROOT->LoadMacro("AddSDDPoints.C");
      AliAnalysisTaskSE* task5 = AddSDDPoints();
      task5->SelectCollisionCandidates();
  }
  
  //
  // FMD (Hans Hjersing Dalsgaard)
  //
  if (doFMD) {
      gROOT->LoadMacro("AddTaskFMD.C");
      AliAnalysisTaskSE* task6 = AddTaskFMD();
      task6->SelectCollisionCandidates();
  }

  // TPC QA (E. Sicking)
  //
  if (doQAsym) {
      gROOT->LoadMacro("AddTaskQAsym.C");
      AliAnalysisTaskSE* task1 = AddTaskQAsym();
      task1->SelectCollisionCandidates();
  }
  //
  // TPC (Jacek Otwinowski)
  //
  if (doTPC) {
      // 
      // Optionally MC information can be used by setting the 1st argument to true
      gROOT->LoadMacro("$(ALICE_ROOT)/PWGPP/TPC/macros/AddTaskPerformanceTPCQA.C");
      AliPerformanceTask *tpcQA = AddTaskPerformanceTPCQA(kFALSE, kTRUE);
  }
  
  //
  // TRD (Alex Bercuci, M. Fasel) 
  //
  if(doTRD) {
    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTrainPerformanceTRD.C");
    AddTrainPerformanceTRD("ALL");
  }

  //
  // Event Statistics (Jan Fiete)
  //
  if (doEventStat) {
      gROOT->LoadMacro("AddTaskPhysicsSelection.C");
      AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
      AliPhysicsSelection* physSel = physSelTask->GetPhysicsSelection();
      physSel->AddBackgroundIdentification(new AliBackgroundSelection());
  }

  if(doCALO) {
      gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/QA/AddTaskCalorimeterQA.C");
      AliAnalysisTaskParticleCorrelation *taskCaloQA = AddTaskCalorimeterQA("ESD", kTRUE, kFALSE);
      taskCaloQA->SetDebugLevel(0);
  }

  if(doMUONTrig) {
      gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskMTRchamberEfficiency.C");
      AliAnalysisTaskTrigChEff *taskMuonTrig = AddTaskMTRchamberEfficiency();
  }

  if(doMUONEff) {
      gROOT->LoadMacro("$ALICE_ROOT/PWG3/muondep/AddTaskMUONTrackingEfficiency.C");
      AliAnalysisTaskMuonTrackingEff *taskMuonTrackEff = AddTaskMUONTrackingEfficiency();
  }
  
  if (doV0) {
      gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskV0QA.C");
      AliAnalysisTaskV0QA *taskv0QA = AddTaskV0QA(kFALSE);
  }


  //
  // Wagons that need MC
  //
  
  
  // Init
  if (!mgr->InitAnalysis()) 
      mgr->PrintStatus();
      mgr->PrintStatus();
  // Run on dataset
  mgr->StartAnalysis("local", chain);
  timer.Stop();
  timer.Print();
}

 runPilot.C:1
 runPilot.C:2
 runPilot.C:3
 runPilot.C:4
 runPilot.C:5
 runPilot.C:6
 runPilot.C:7
 runPilot.C:8
 runPilot.C:9
 runPilot.C:10
 runPilot.C:11
 runPilot.C:12
 runPilot.C:13
 runPilot.C:14
 runPilot.C:15
 runPilot.C:16
 runPilot.C:17
 runPilot.C:18
 runPilot.C:19
 runPilot.C:20
 runPilot.C:21
 runPilot.C:22
 runPilot.C:23
 runPilot.C:24
 runPilot.C:25
 runPilot.C:26
 runPilot.C:27
 runPilot.C:28
 runPilot.C:29
 runPilot.C:30
 runPilot.C:31
 runPilot.C:32
 runPilot.C:33
 runPilot.C:34
 runPilot.C:35
 runPilot.C:36
 runPilot.C:37
 runPilot.C:38
 runPilot.C:39
 runPilot.C:40
 runPilot.C:41
 runPilot.C:42
 runPilot.C:43
 runPilot.C:44
 runPilot.C:45
 runPilot.C:46
 runPilot.C:47
 runPilot.C:48
 runPilot.C:49
 runPilot.C:50
 runPilot.C:51
 runPilot.C:52
 runPilot.C:53
 runPilot.C:54
 runPilot.C:55
 runPilot.C:56
 runPilot.C:57
 runPilot.C:58
 runPilot.C:59
 runPilot.C:60
 runPilot.C:61
 runPilot.C:62
 runPilot.C:63
 runPilot.C:64
 runPilot.C:65
 runPilot.C:66
 runPilot.C:67
 runPilot.C:68
 runPilot.C:69
 runPilot.C:70
 runPilot.C:71
 runPilot.C:72
 runPilot.C:73
 runPilot.C:74
 runPilot.C:75
 runPilot.C:76
 runPilot.C:77
 runPilot.C:78
 runPilot.C:79
 runPilot.C:80
 runPilot.C:81
 runPilot.C:82
 runPilot.C:83
 runPilot.C:84
 runPilot.C:85
 runPilot.C:86
 runPilot.C:87
 runPilot.C:88
 runPilot.C:89
 runPilot.C:90
 runPilot.C:91
 runPilot.C:92
 runPilot.C:93
 runPilot.C:94
 runPilot.C:95
 runPilot.C:96
 runPilot.C:97
 runPilot.C:98
 runPilot.C:99
 runPilot.C:100
 runPilot.C:101
 runPilot.C:102
 runPilot.C:103
 runPilot.C:104
 runPilot.C:105
 runPilot.C:106
 runPilot.C:107
 runPilot.C:108
 runPilot.C:109
 runPilot.C:110
 runPilot.C:111
 runPilot.C:112
 runPilot.C:113
 runPilot.C:114
 runPilot.C:115
 runPilot.C:116
 runPilot.C:117
 runPilot.C:118
 runPilot.C:119
 runPilot.C:120
 runPilot.C:121
 runPilot.C:122
 runPilot.C:123
 runPilot.C:124
 runPilot.C:125
 runPilot.C:126
 runPilot.C:127
 runPilot.C:128
 runPilot.C:129
 runPilot.C:130
 runPilot.C:131
 runPilot.C:132
 runPilot.C:133
 runPilot.C:134
 runPilot.C:135
 runPilot.C:136
 runPilot.C:137
 runPilot.C:138
 runPilot.C:139
 runPilot.C:140
 runPilot.C:141
 runPilot.C:142
 runPilot.C:143
 runPilot.C:144
 runPilot.C:145
 runPilot.C:146
 runPilot.C:147
 runPilot.C:148
 runPilot.C:149
 runPilot.C:150
 runPilot.C:151
 runPilot.C:152
 runPilot.C:153
 runPilot.C:154
 runPilot.C:155
 runPilot.C:156
 runPilot.C:157
 runPilot.C:158
 runPilot.C:159
 runPilot.C:160
 runPilot.C:161
 runPilot.C:162
 runPilot.C:163
 runPilot.C:164
 runPilot.C:165
 runPilot.C:166
 runPilot.C:167
 runPilot.C:168
 runPilot.C:169
 runPilot.C:170
 runPilot.C:171
 runPilot.C:172
 runPilot.C:173
 runPilot.C:174
 runPilot.C:175
 runPilot.C:176
 runPilot.C:177
 runPilot.C:178
 runPilot.C:179
 runPilot.C:180
 runPilot.C:181
 runPilot.C:182
 runPilot.C:183
 runPilot.C:184
 runPilot.C:185
 runPilot.C:186
 runPilot.C:187
 runPilot.C:188
 runPilot.C:189
 runPilot.C:190
 runPilot.C:191