ROOT logo
void ana_example()
{
  // Example macro to run QA

  // load relevant library
  gSystem->Load("libPWGGAPHOSTasks.so");

  // change next line to a working code
  TChain* chain = NULL; //CreateChain("wn.xml");
  if (!chain) {
    fprintf(stderr, "FATAL: the chain is NULL\n");
    abort();
  }

  AliAnalysisManager *mgr = new AliAnalysisManager("Manager");

  AliESDInputHandler* esdH = new AliESDInputHandler();
  mgr->SetInputEventHandler(esdH);

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

  // EMCAL
  Int_t nbadEMCAL = 44;
  Int_t badcellsEMCAL[44] = {
    74,152,495,871,917,1059,1263,1275,1276,1288,1376,1384,1519,1712,1967,2026,2112,
    2114,2115,2116,2117,2120,2123,2298,2671,2768,2769,2770,2771,2773,2774,2776,
    2777,2778,2779,2780,2783,3544,3567,
    103,1382,1961,2047,2540
  };

  // with PS + no pileup
  AliAnalysisTaskCaloCellsQA *task1 = AddTaskCaloCellsQA(4, 0, "CellsQAEMCAL.root");
  task1->SelectCollisionCandidates(AliVEvent::kMB);
  task1->SetBadCells(badcellsEMCAL, nbadEMCAL);

  // with PS + with pileup
  AliAnalysisTaskCaloCellsQA *task2 = AddTaskCaloCellsQA(4, 0, "CellsQAEMCAL2.root");
  task2->SelectCollisionCandidates(AliVEvent::kMB);
  task2->SetBadCells(badcellsEMCAL, nbadEMCAL);
  task2->SetAvoidPileup(kFALSE);

  // no PS + with pileup
  AliAnalysisTaskCaloCellsQA *task3 = AddTaskCaloCellsQA(4, 0, "CellsQAEMCAL3.root");
  task3->SetBadCells(badcellsEMCAL, nbadEMCAL);
  task3->SetAvoidPileup(kFALSE);

  // PHOS
  Int_t nbadPHOS = 1;
  Int_t badcellsPHOS[1] = {9938};

  // with PS + no pileup
  AliAnalysisTaskCaloCellsQA *task4 = AddTaskCaloCellsQA(4, 1, "CellsQAPHOS.root");
  task4->SelectCollisionCandidates(AliVEvent::kMB);
  task4->GetCaloCellsQA()->SetClusterEnergyCuts(0.3,0.1); // increase statistics
  task4->SetBadCells(badcellsPHOS, nbadPHOS);

  // with PS + with pileup
  AliAnalysisTaskCaloCellsQA *task5 = AddTaskCaloCellsQA(4, 1, "CellsQAPHOS2.root");
  task5->SelectCollisionCandidates(AliVEvent::kMB);
  task5->GetCaloCellsQA()->SetClusterEnergyCuts(0.3,0.1);
  task5->SetBadCells(badcellsPHOS, nbadPHOS);
  task5->SetAvoidPileup(kFALSE);

  // no PS + with pileup
  AliAnalysisTaskCaloCellsQA *task6 = AddTaskCaloCellsQA(4, 1, "CellsQAPHOS3.root");
  task6->GetCaloCellsQA()->SetClusterEnergyCuts(0.3,0.1);
  task6->SetBadCells(badcellsPHOS, nbadPHOS);
  task6->SetAvoidPileup(kFALSE);


  if (!mgr->InitAnalysis()) abort();
  mgr->StartAnalysis("local", chain);
}
 ana_example.C:1
 ana_example.C:2
 ana_example.C:3
 ana_example.C:4
 ana_example.C:5
 ana_example.C:6
 ana_example.C:7
 ana_example.C:8
 ana_example.C:9
 ana_example.C:10
 ana_example.C:11
 ana_example.C:12
 ana_example.C:13
 ana_example.C:14
 ana_example.C:15
 ana_example.C:16
 ana_example.C:17
 ana_example.C:18
 ana_example.C:19
 ana_example.C:20
 ana_example.C:21
 ana_example.C:22
 ana_example.C:23
 ana_example.C:24
 ana_example.C:25
 ana_example.C:26
 ana_example.C:27
 ana_example.C:28
 ana_example.C:29
 ana_example.C:30
 ana_example.C:31
 ana_example.C:32
 ana_example.C:33
 ana_example.C:34
 ana_example.C:35
 ana_example.C:36
 ana_example.C:37
 ana_example.C:38
 ana_example.C:39
 ana_example.C:40
 ana_example.C:41
 ana_example.C:42
 ana_example.C:43
 ana_example.C:44
 ana_example.C:45
 ana_example.C:46
 ana_example.C:47
 ana_example.C:48
 ana_example.C:49
 ana_example.C:50
 ana_example.C:51
 ana_example.C:52
 ana_example.C:53
 ana_example.C:54
 ana_example.C:55
 ana_example.C:56
 ana_example.C:57
 ana_example.C:58
 ana_example.C:59
 ana_example.C:60
 ana_example.C:61
 ana_example.C:62
 ana_example.C:63
 ana_example.C:64
 ana_example.C:65
 ana_example.C:66
 ana_example.C:67
 ana_example.C:68
 ana_example.C:69
 ana_example.C:70
 ana_example.C:71
 ana_example.C:72
 ana_example.C:73
 ana_example.C:74
 ana_example.C:75
 ana_example.C:76