ROOT logo
void Pi0SpectrumLHC11h(const char* dataset="collection.xml",
		       bool recompile = true
)
{
  /* $Id$ */
  TStopwatch timer;
  timer.Start();


    TStringToken libs("Core,Tree,Geom,VMC,Physics,Minuit,Gui,XMLParser,Minuit2,Proof,STEERBase,ESD,AOD,OADB,ANALYSIS,ANALYSISalice,CDB,RAWDatabase,STEER,CORRFW,PHOSUtils,PHOSbase,PHOSpi0Calib,PHOSrec,PHOSshuttle,PHOSsim", ",");
  while( libs.NextToken() )
    gSystem->Load( Form("lib%s", libs.Data()) );

  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->AddIncludePath("-I$ALICE_ROOT/include -I$ALICE_ROOT/PHOS");

  // A task can be compiled dynamically with AClic
  if( recompile ) {
    gROOT->LoadMacro("AliCaloPhoton.cxx+g");
    gROOT->LoadMacro("AliPHOSEPFlattener.cxx+g");
    gROOT->LoadMacro("AliAnalysisTaskPi0Flow.cxx+g");
  }
  else {
    gSystem->Load("libPWGGAPHOSTasks.so");
  }
  
  // Connect to alien
  TString token = gSystem->Getenv("GRID_TOKEN") ;
  if (1) // token == "OK" ) 
    TGrid::Connect("alien://");
  else 
    AliInfo("You are not connected to the GRID") ; 

  cout << "Pi0Analysis: processing collection " << dataset << endl;

  // Create the chain
  TChain* chain = new TChain("aodTree");

  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->GetEntriesFast()); 
  }

  // Make the analysis manager
  AliAnalysisManager *mgr = new AliAnalysisManager("Pi0Spectrum");
  mgr->SetCommonFileName("histos.root");
  
  // AOD input handler
  AliAODInputHandler* aodH = new AliAODInputHandler();
  mgr->SetInputEventHandler(aodH);

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

  gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
  AliEPSelectionTask *taskEP = AddTaskEventplane() ; 

  gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskVZEROEPSelection.C");
  AliVZEROEPSelectionTask *selTask = AddTaskVZEROEPSelection();  

  // Add my task
  AliAnalysisTaskPi0Flow* task;
  if ( recompile ) {
    task = new AliAnalysisTaskPi0Flow("AliAnalysisTaskPi0Flow");
    //task->SetPeriod(AliAnalysisTaskPi0Flow::kLHC11h);
    mgr->AddTask(task);
    mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
    mgr->ConnectOutput(task, 1, mgr->CreateContainer("outCont1", TList::Class(),AliAnalysisManager::kOutputContainer,"histos.root"));
  } else {
    gROOT->LoadMacro("$ALICE_ROOT/PWGGA/PHOSTasks/PHOS_PbPb/AddTaskPHOSPi0Flow.C");
    task = AddTaskPHOSPi0Flow();
  }

/*
  TFile *fBadMap = TFile::Open("alien:///alice/cern.ch/user/p/prsnko/BadMaps/BadMap_LHC10h_period1.root");
  //  TFile *fBadMap = TFile::Open("BadMap_LHC10h_period1.root");
  if(fBadMap->IsOpen()){
    printf("\n\n...Adding PHOS bad channel map \n") ;
    gROOT->cd();
    char key[55] ;
    for(Int_t mod=1;mod<4; mod++){
      sprintf(key,"PHOS_BadMap_mod%d",mod) ;
      TH2I * h = (TH2I*)fBadMap->Get(key) ;
      if(h)
        task1->SetPHOSBadMap(mod,h) ;
    }
    fBadMap->Close() ;
  }
*/


  
  // // Create containers for input/output
  // AliAnalysisDataContainer *cinput   = mgr->GetCommonInputContainer(); 
  // AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("pi0SpecOut1",TList::Class(),AliAnalysisManager::kOutputContainer,"histos.root");
  
  // // Connect input/output
  // mgr->ConnectInput(task1 , 0, cinput);
  // mgr->ConnectOutput(task1, 1, coutput1);
 
  if (mgr->InitAnalysis()) {
    mgr->PrintStatus();
    mgr->StartAnalysis("local", chain);
  }

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