ROOT logo
void AnaPi0Select(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

    //Set local DB for PHOS
    gROOT->ProcessLine(".! tar xzvf PHOS.tgz") ;
    AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
    AliCDBManager::Instance()->SetSpecificStorage("PHOS/*","local://./");

    // A task can be compiled dynamically with AClic
    gROOT->LoadMacro("AliAnalysisTaskPi0CalibSelection.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("Pi0CalibSelect","Pi0CalibSelection");

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

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

    // Add task
    AliAnalysisTaskPi0CalibSelection *task = new AliAnalysisTaskPi0CalibSelection("Pi0CalibSelection");
    task->SetClusterMinEnergy(0.4);
    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);
    }

}


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