ROOT logo
CheckProblematic(Int_t run, const Char_t *dbString = "raw://")
{

  TGrid::Connect("alien");
  AliCDBManager *cdb = AliCDBManager::Instance();
  cdb->SetDefaultStorage(dbString);
  cdb->SetRun(run);
  AliCDBEntry *cdbe = cdb->Get("TOF/Calib/Problematic");
  CheckProblematic(cdbe);

}

CheckProblematic(const Char_t *fileName)
{

  TFile *file = TFile::Open(fileName);
  AliCDBEntry *cdbe = (AliCDBEntry *)file->Get("AliCDBEntry");
  CheckProblematic(cdbe);
}

CheckProblematic(AliCDBEntry *cdbe)
{

  if (!cdbe) {
    printf("invalid CDB entry\n");
    return;
  }

  TH1C *data = (TH1C *)cdbe->GetObject();

  TH2F *hProblematicMap = new TH2F("hProblematicMap", "Problematic map;sector;strip", 72, 0., 18., 91, 0., 91.);

  AliTOFcalibHisto calib;
  calib.LoadCalibHisto();
  calib.LoadCalibStat(); /* temp */

  Int_t sector, sectorStrip, padx, fea;
  Float_t efficiency, hitmapx, hitmapy;
  for (Int_t i = 0; i <  data->GetNbinsX(); i++) {
    if (data->GetBinContent(i + 1) == 0) continue;
    sector = calib.GetCalibMap(AliTOFcalibHisto::kSector, i);
    sectorStrip = calib.GetCalibMap(AliTOFcalibHisto::kSectorStrip, i);
    padx = calib.GetCalibMap(AliTOFcalibHisto::kPadX, i);
    fea = padx / 12;
    hitmapx = sector + ((Double_t)(3 - fea) + 0.5) / 4.;
    hitmapy = sectorStrip;

    hProblematicMap->Fill(hitmapx, hitmapy);
  }

  hProblematicMap->DrawCopy("colz");
  TFile *fout = TFile::Open("CheckProblematic.root", "RECREATE");
  hProblematicMap->Write();
  fout->Close();

}
 CheckProblematic.C:1
 CheckProblematic.C:2
 CheckProblematic.C:3
 CheckProblematic.C:4
 CheckProblematic.C:5
 CheckProblematic.C:6
 CheckProblematic.C:7
 CheckProblematic.C:8
 CheckProblematic.C:9
 CheckProblematic.C:10
 CheckProblematic.C:11
 CheckProblematic.C:12
 CheckProblematic.C:13
 CheckProblematic.C:14
 CheckProblematic.C:15
 CheckProblematic.C:16
 CheckProblematic.C:17
 CheckProblematic.C:18
 CheckProblematic.C:19
 CheckProblematic.C:20
 CheckProblematic.C:21
 CheckProblematic.C:22
 CheckProblematic.C:23
 CheckProblematic.C:24
 CheckProblematic.C:25
 CheckProblematic.C:26
 CheckProblematic.C:27
 CheckProblematic.C:28
 CheckProblematic.C:29
 CheckProblematic.C:30
 CheckProblematic.C:31
 CheckProblematic.C:32
 CheckProblematic.C:33
 CheckProblematic.C:34
 CheckProblematic.C:35
 CheckProblematic.C:36
 CheckProblematic.C:37
 CheckProblematic.C:38
 CheckProblematic.C:39
 CheckProblematic.C:40
 CheckProblematic.C:41
 CheckProblematic.C:42
 CheckProblematic.C:43
 CheckProblematic.C:44
 CheckProblematic.C:45
 CheckProblematic.C:46
 CheckProblematic.C:47
 CheckProblematic.C:48
 CheckProblematic.C:49
 CheckProblematic.C:50
 CheckProblematic.C:51
 CheckProblematic.C:52
 CheckProblematic.C:53
 CheckProblematic.C:54
 CheckProblematic.C:55
 CheckProblematic.C:56
 CheckProblematic.C:57