ROOT logo
void Pi0Spectrum(const char* dataset="")
{
    
  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
  gROOT->LoadMacro("AliCaloPhoton.cxx+g");
  gROOT->LoadMacro("AliAnalysisTaskPi0.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") ; 

  cout << "Pi0Analysis: processing collection " << dataset << endl;
  
  // 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("Pi0Spectrum");
  
  // ESD input handler
  AliESDInputHandler* esdH = new AliESDInputHandler();
  esdH->SetReadFriends(kFALSE);
  mgr->SetInputEventHandler(esdH);
  
  // Debug level
  mgr->SetDebugLevel(0);

  // Add physics selection
  gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
  AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();

  // Add my task
  AliAnalysisTaskPi0 *task1 = new AliAnalysisTaskPi0("Pi0Spectrum");

  TFile *fBadMap = TFile::Open("BadMap_LHC11a_pp2760_20130902.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() ;
  }
  // Set BC gap for LHC10e in seconds
  task1->SetBCgap(525.e-09);

  // Set abs.recalibration for LHC11a
  task1->SetRecalib(1, 0.9942);
  task1->SetRecalib(2, 0.9822);
  task1->SetRecalib(3, 1.0072);

  task1->SelectCollisionCandidates(AliVEvent::kMB);
  mgr->AddTask(task1);
  
  // Create containers for input/output
  AliAnalysisDataContainer *cinput   = mgr->GetCommonInputContainer(); 
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histESD",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);
  }
  
}
 Pi0Spectrum_LHC11a.C:1
 Pi0Spectrum_LHC11a.C:2
 Pi0Spectrum_LHC11a.C:3
 Pi0Spectrum_LHC11a.C:4
 Pi0Spectrum_LHC11a.C:5
 Pi0Spectrum_LHC11a.C:6
 Pi0Spectrum_LHC11a.C:7
 Pi0Spectrum_LHC11a.C:8
 Pi0Spectrum_LHC11a.C:9
 Pi0Spectrum_LHC11a.C:10
 Pi0Spectrum_LHC11a.C:11
 Pi0Spectrum_LHC11a.C:12
 Pi0Spectrum_LHC11a.C:13
 Pi0Spectrum_LHC11a.C:14
 Pi0Spectrum_LHC11a.C:15
 Pi0Spectrum_LHC11a.C:16
 Pi0Spectrum_LHC11a.C:17
 Pi0Spectrum_LHC11a.C:18
 Pi0Spectrum_LHC11a.C:19
 Pi0Spectrum_LHC11a.C:20
 Pi0Spectrum_LHC11a.C:21
 Pi0Spectrum_LHC11a.C:22
 Pi0Spectrum_LHC11a.C:23
 Pi0Spectrum_LHC11a.C:24
 Pi0Spectrum_LHC11a.C:25
 Pi0Spectrum_LHC11a.C:26
 Pi0Spectrum_LHC11a.C:27
 Pi0Spectrum_LHC11a.C:28
 Pi0Spectrum_LHC11a.C:29
 Pi0Spectrum_LHC11a.C:30
 Pi0Spectrum_LHC11a.C:31
 Pi0Spectrum_LHC11a.C:32
 Pi0Spectrum_LHC11a.C:33
 Pi0Spectrum_LHC11a.C:34
 Pi0Spectrum_LHC11a.C:35
 Pi0Spectrum_LHC11a.C:36
 Pi0Spectrum_LHC11a.C:37
 Pi0Spectrum_LHC11a.C:38
 Pi0Spectrum_LHC11a.C:39
 Pi0Spectrum_LHC11a.C:40
 Pi0Spectrum_LHC11a.C:41
 Pi0Spectrum_LHC11a.C:42
 Pi0Spectrum_LHC11a.C:43
 Pi0Spectrum_LHC11a.C:44
 Pi0Spectrum_LHC11a.C:45
 Pi0Spectrum_LHC11a.C:46
 Pi0Spectrum_LHC11a.C:47
 Pi0Spectrum_LHC11a.C:48
 Pi0Spectrum_LHC11a.C:49
 Pi0Spectrum_LHC11a.C:50
 Pi0Spectrum_LHC11a.C:51
 Pi0Spectrum_LHC11a.C:52
 Pi0Spectrum_LHC11a.C:53
 Pi0Spectrum_LHC11a.C:54
 Pi0Spectrum_LHC11a.C:55
 Pi0Spectrum_LHC11a.C:56
 Pi0Spectrum_LHC11a.C:57
 Pi0Spectrum_LHC11a.C:58
 Pi0Spectrum_LHC11a.C:59
 Pi0Spectrum_LHC11a.C:60
 Pi0Spectrum_LHC11a.C:61
 Pi0Spectrum_LHC11a.C:62
 Pi0Spectrum_LHC11a.C:63
 Pi0Spectrum_LHC11a.C:64
 Pi0Spectrum_LHC11a.C:65
 Pi0Spectrum_LHC11a.C:66
 Pi0Spectrum_LHC11a.C:67
 Pi0Spectrum_LHC11a.C:68
 Pi0Spectrum_LHC11a.C:69
 Pi0Spectrum_LHC11a.C:70
 Pi0Spectrum_LHC11a.C:71
 Pi0Spectrum_LHC11a.C:72
 Pi0Spectrum_LHC11a.C:73
 Pi0Spectrum_LHC11a.C:74
 Pi0Spectrum_LHC11a.C:75
 Pi0Spectrum_LHC11a.C:76
 Pi0Spectrum_LHC11a.C:77
 Pi0Spectrum_LHC11a.C:78
 Pi0Spectrum_LHC11a.C:79
 Pi0Spectrum_LHC11a.C:80
 Pi0Spectrum_LHC11a.C:81
 Pi0Spectrum_LHC11a.C:82
 Pi0Spectrum_LHC11a.C:83
 Pi0Spectrum_LHC11a.C:84
 Pi0Spectrum_LHC11a.C:85
 Pi0Spectrum_LHC11a.C:86
 Pi0Spectrum_LHC11a.C:87
 Pi0Spectrum_LHC11a.C:88
 Pi0Spectrum_LHC11a.C:89
 Pi0Spectrum_LHC11a.C:90
 Pi0Spectrum_LHC11a.C:91
 Pi0Spectrum_LHC11a.C:92
 Pi0Spectrum_LHC11a.C:93
 Pi0Spectrum_LHC11a.C:94
 Pi0Spectrum_LHC11a.C:95
 Pi0Spectrum_LHC11a.C:96
 Pi0Spectrum_LHC11a.C:97
 Pi0Spectrum_LHC11a.C:98
 Pi0Spectrum_LHC11a.C:99