ROOT logo
void Pi0Calib(// const char* dataset="/default/polishch/LHC12c_*_ESDs_pass1_phos_PHOS_calib",
              const char* dataset="/default/polishch/LHC12b_000*_ESDs_pass1_phos",
	      const Int_t nEvents=-1, 
	      const Int_t nEventsSkip=0)
{
  // Enabling authentication with grid certificate
  gEnv->SetValue("XSec.GSI.DelegProxy", "2");

  const TString proofCluster="alice-caf.cern.ch";
  const TString alirootVersion = "VO_ALICE@AliRoot::v5-04-25-AN";

  // Connecting to proof cluster
  TProof::Open(proofCluster.Data());
  //   TProof::Open(proofCluster.Data(), "workers=1x");
  //   TProof::Open(proofCluster.Data(), "masteronly");
  if (!gProof) {
    Error("runAAF.C", "Connection to proof cluster failed!");
    return;
  }

  TList* list = new TList();
  list->Add(new TNamed("ALIROOT_MODE", "ALIROOT"));
  list->Add(new TNamed("ALIROOT_EXTRA_LIBS","ANALYSIS:OADB:ANALYSISalice"));
  list->Add(new TNamed("ALIROOT_EXTRA_LIBS","ANALYSIS:OADB:ANALYSISalice:PWGGAPHOSTasks"));

  gProof->EnablePackage(alirootVersion.Data(),list);

  cout << "PHOSCalib: processing dataset " << dataset << endl;
//   AliLog::SetGlobalLogLevel(AliLog::kError);
  // A task can be compiled dynamically with AClic
  gProof->Load("AliCaloPhotonC.cxx++g");
  gProof->Load("AliAnalysisTaskPi0Calib.cxx++g");
  
  // 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
  AliAnalysisTaskPi0Calib *task1 = new AliAnalysisTaskPi0Calib("Pi0Spectrum");
//   task1->SelectCollisionCandidates(AliVEvent::kAnyINT);


/*  
  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() ;
  }
*/
/*
  TFile *fTOF = TFile::Open("calibTOF.root");
  if(fTOF->IsOpen()){
    printf("\n\n...Adding PHOS TOF recalibration map \n") ;
    gROOT->cd();
    char key[55] ;
    for(Int_t mod=1;mod<4; mod++){
      sprintf(key,"T0_mod%d",mod) ;
      TH2D * h = (TH2D*)fTOF->Get(key) ;
      if(h)
        task1->SetPHOSTOF(mod,h) ;
      sprintf(key,"BadMapTOF_mod%d",mod) ;
      TH2D * h = (TH2D*)fTOF->Get(key) ;
      if(h)
        task1->SetPHOSTOFBadMap(mod,h) ;

    }
    fTOF->Close() ;
  }
*/
  TFile *fAmp = TFile::Open("Calibration_pass1.root");
  if(fAmp->IsOpen()){
    printf("\n\n...Adding PHOS Amp recalibration map \n") ;
    gROOT->cd();
    char key[55] ;
    for(Int_t mod=1;mod<4; mod++){
      sprintf(key,"Mass_mod%d",mod) ;
      TH2D * h = (TH2D*)fAmp->Get(key) ;
      if(h)
        task1->SetPHOSCalib(mod,h) ;
    }
    fAmp->Close() ;
  }

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