ROOT logo
void AnaTask(const char* dataset="minbias_LHC09a4_81040_81050.xml")
{
    
    gSystem->Load("libTree.so");
    gSystem->Load("libGeom.so");
    gSystem->Load("libVMC.so");
    gSystem->Load("libPhysics.so");

    //load analysis framework
    gSystem->Load("libANALYSIS");
    gSystem->Load("libANALYSISalice"); //AliAnalysisTaskSE
    gSystem->Load("libPWGGAPHOSTasks");
    gSystem->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");

    // A task can be compiled dynamically with AClic
    //gROOT->LoadMacro("AliAnalysisTaskOmegaPi0PiPi.cxx+g");

    // Connect to alien
    TString token = gSystem->Getenv("GRID_TOKEN") ;
    if ( token == "OK" ) 
     TGrid::Connect("alien://");
    else 
     AliInfo("You are not connected to the GRID") ; 

    // Create the chain
    TChain* chain = new TChain("esdTree");
    TGridCollection * collection = dynamic_cast<TGridCollection*>(TAlienCollection::Open(dataset));
   
    TAlienResult* result = collection->GetGridResult("",0 ,0);
    TList* rawFileList = result->GetFileInfoList();

    for (Int_t counter=0 ; counter < rawFileList->GetEntries() ; counter++) {
     TFileInfo * fi =  static_cast<TFileInfo*>(rawFileList->At(counter)) ; 
     const char * rawFile = fi->GetCurrentUrl()->GetUrl() ;  
     printf("Processing %s\n", rawFile) ;
     chain->Add(rawFile);
     printf("Chain: %d entries.\n",chain->GetEntries()); 
    }

    // Make the analysis manager
    AliAnalysisManager *mgr = new AliAnalysisManager("OmegaPi0Pi+Pi-","Omega->pi0pi+pi- analysis");

    // ESD input handler
    AliESDInputHandler* esdH = new AliESDInputHandler();
    mgr->SetInputEventHandler(esdH);

    // Debug level
    mgr->SetDebugLevel(10);

    // Add task
    AliAnalysisTaskOmegaPi0PiPi *task = new AliAnalysisTaskOmegaPi0PiPi("OmegaPi0PiPi");
    mgr->AddTask(task);

    // Create containers for input/output
    AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
    AliAnalysisDataContainer *coutput = mgr->CreateContainer("histos",TList::Class(),AliAnalysisManager::kOutputContainer,"histos.root");

    // Connect input/output
    mgr->ConnectInput(task, 0, cinput);
    mgr->ConnectOutput(task, 1, coutput);

    if (mgr->InitAnalysis()) {
	     mgr->PrintStatus();
	     mgr->StartAnalysis("local", chain);
    }

}


 AnaTaskOmega3pi.C:1
 AnaTaskOmega3pi.C:2
 AnaTaskOmega3pi.C:3
 AnaTaskOmega3pi.C:4
 AnaTaskOmega3pi.C:5
 AnaTaskOmega3pi.C:6
 AnaTaskOmega3pi.C:7
 AnaTaskOmega3pi.C:8
 AnaTaskOmega3pi.C:9
 AnaTaskOmega3pi.C:10
 AnaTaskOmega3pi.C:11
 AnaTaskOmega3pi.C:12
 AnaTaskOmega3pi.C:13
 AnaTaskOmega3pi.C:14
 AnaTaskOmega3pi.C:15
 AnaTaskOmega3pi.C:16
 AnaTaskOmega3pi.C:17
 AnaTaskOmega3pi.C:18
 AnaTaskOmega3pi.C:19
 AnaTaskOmega3pi.C:20
 AnaTaskOmega3pi.C:21
 AnaTaskOmega3pi.C:22
 AnaTaskOmega3pi.C:23
 AnaTaskOmega3pi.C:24
 AnaTaskOmega3pi.C:25
 AnaTaskOmega3pi.C:26
 AnaTaskOmega3pi.C:27
 AnaTaskOmega3pi.C:28
 AnaTaskOmega3pi.C:29
 AnaTaskOmega3pi.C:30
 AnaTaskOmega3pi.C:31
 AnaTaskOmega3pi.C:32
 AnaTaskOmega3pi.C:33
 AnaTaskOmega3pi.C:34
 AnaTaskOmega3pi.C:35
 AnaTaskOmega3pi.C:36
 AnaTaskOmega3pi.C:37
 AnaTaskOmega3pi.C:38
 AnaTaskOmega3pi.C:39
 AnaTaskOmega3pi.C:40
 AnaTaskOmega3pi.C:41
 AnaTaskOmega3pi.C:42
 AnaTaskOmega3pi.C:43
 AnaTaskOmega3pi.C:44
 AnaTaskOmega3pi.C:45
 AnaTaskOmega3pi.C:46
 AnaTaskOmega3pi.C:47
 AnaTaskOmega3pi.C:48
 AnaTaskOmega3pi.C:49
 AnaTaskOmega3pi.C:50
 AnaTaskOmega3pi.C:51
 AnaTaskOmega3pi.C:52
 AnaTaskOmega3pi.C:53
 AnaTaskOmega3pi.C:54
 AnaTaskOmega3pi.C:55
 AnaTaskOmega3pi.C:56
 AnaTaskOmega3pi.C:57
 AnaTaskOmega3pi.C:58
 AnaTaskOmega3pi.C:59
 AnaTaskOmega3pi.C:60
 AnaTaskOmega3pi.C:61
 AnaTaskOmega3pi.C:62
 AnaTaskOmega3pi.C:63
 AnaTaskOmega3pi.C:64
 AnaTaskOmega3pi.C:65
 AnaTaskOmega3pi.C:66
 AnaTaskOmega3pi.C:67
 AnaTaskOmega3pi.C:68
 AnaTaskOmega3pi.C:69
 AnaTaskOmega3pi.C:70