ROOT logo
#if !defined (__CINT__) || (defined(__MAKECINT__))
#include <iostream>
#include "AliAnalysisGrid.h"
#include "TSystem.h"
#include "TROOT.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisGrid.h"
#include "AliVEventHandler.h"
#include "AliAODInputHandler.h"
#include "AliAnalysisAlien.h"
#include "AliMCEventHandler.h"
#include "AliPhysicsSelectionTask.h"
#include "TRegexp.h"
#include "AliTriggerAnalysis.h"
#include "TChain.h"
#include "AliAnalysisTaskPIDResponse.h"
#include "AliAODHandler.h"
#include "AliAnalysisTaskNanoAODFilter.h"
#include "AliESEHelpers.h"

#endif
void LoadLibs();

class AliAnalysisGrid;



//______________________________________________________________________________
void runLocalCorrelations(
			  const int iMCtruth = 2, 
			  const char * addTaskString = ".x AddTaskNanoAODFilter.C(%d,1)" // 
			  )
{
  LoadLibs();
  // analysis manager
  AliAnalysisManager* mgr = new AliAnalysisManager("NanoAOD Filter", "NanoAOD filter for nanoAOD production");
    
  AliAODInputHandler* iH = new AliAODInputHandler();
  mgr->SetInputEventHandler(iH);

  // Define aod output handler
  AliAODHandler* aodOutputHandler = new AliAODHandler();
  aodOutputHandler->SetOutputFileName("AliAOD.NanoAOD.root");
  mgr->SetOutputEventHandler(aodOutputHandler);
  
  gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
  AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(iMCtruth);
  taskPID->SetUseTPCEtaCorrection(kTRUE); 

  // create task
  cout << "Macro: "<< addTaskString << " " << Form(addTaskString, iMCtruth) << endl;

  AliAnalysisTaskNanoAODFilter * task = (AliAnalysisTaskNanoAODFilter*) gROOT->ProcessLine(Form(addTaskString, iMCtruth));

  // Set Track event and vertex cuts here!
  AliAnalysisNanoAODTrackCuts* trk = new AliAnalysisNanoAODTrackCuts;
  //  trk->SetBitMask((1 << 4) | (1 << 8)); // hybrid 2010
  trk->SetBitMask((1 << 9)); // ???
  trk->SetMaxEta(0.9);
  trk->SetMinPt(0.5);

  AliAnalysisNanoAODEventCuts* evt = new AliAnalysisNanoAODEventCuts;
  evt->SetVertexRange(7);

  task->SetTrkCuts(trk);
  task->SetEvtCuts(evt);
  task->SetSetter(new AliNanoAODSimpleSetter);
  task->SetVarList("pt,theta,phi");
  task->SetVarListHead("cstCentr,cstMagField");

  task->SelectCollisionCandidates(AliVEvent::kMB);


  //task->SelectCollisionCandidates(AliVEvent::kMB);// FIXME
  // enable debug printouts
  mgr->SetDebugLevel(10);
  //    mgr->SetNSysInfo(100);
  if (!mgr->InitAnalysis()) return;
  mgr->PrintStatus();
  
  // start analysis
  // Always read the same file:
  TChain * chain = new TChain("aodTree");
  chain->Add("./AliAOD.root");

  Printf("Starting Analysis....");
  mgr->StartAnalysis("local", chain,123456789);

}

//______________________________________________________________________________

void LoadLibs() {
  gSystem->Load("libCore.so");  
  gSystem->Load("libGeom.so");
  gSystem->Load("libPhysics.so");
  gSystem->Load("libVMC");
  gSystem->Load("libTree");
  gSystem->Load("libProof");
  gSystem->Load("libMatrix");
  gSystem->Load("libMinuit");
  gSystem->Load("libSTEERBase");
  gSystem->Load("libESD");
  gSystem->Load("libAOD");
  gSystem->Load("libANALYSIS");
  //  return;
  gSystem->Load("libOADB");
  gSystem->Load("libANALYSISalice");
  gSystem->Load("libTENDER");
  gSystem->Load("libCORRFW");

  //  gSystem->Load("libNanoAOD.so");
  gSystem->Load("libPWGLFspectra");
  gSystem->Load("libPWGDevNanoAOD");

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