ROOT logo
TH1F *
CheckReadoutEfficiency(Int_t run)
{

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

}

TH1F *
CheckReadoutEfficiency(const Char_t *fileName)
{

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

TH1F *
CheckReadoutEfficiency(AliCDBEntry *cdbe)
{

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

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

  TH2F *hEfficiencyMap = new TH2F("hEfficiencyMap", "Readout efficiency map;sector;strip", 72, 0., 18., 91, 0., 91.);
  TH1F *hEfficiencyFlag = new TH1F("hEfficiencyFlag", "Readout efficiency flag;index;flag", 157248, 0., 157248.);

  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++) {
    efficiency = data->GetBinContent(i + 1);
    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;
    hEfficiencyMap->Fill(hitmapx, hitmapy, efficiency / 24.);
    if (efficiency >= 0.95)
      hEfficiencyFlag->SetBinContent(i + 1, 1);
  }

  hEfficiencyMap->DrawCopy("colz");
  
  return hEfficiencyFlag;
}
 CheckReadoutEfficiency.C:1
 CheckReadoutEfficiency.C:2
 CheckReadoutEfficiency.C:3
 CheckReadoutEfficiency.C:4
 CheckReadoutEfficiency.C:5
 CheckReadoutEfficiency.C:6
 CheckReadoutEfficiency.C:7
 CheckReadoutEfficiency.C:8
 CheckReadoutEfficiency.C:9
 CheckReadoutEfficiency.C:10
 CheckReadoutEfficiency.C:11
 CheckReadoutEfficiency.C:12
 CheckReadoutEfficiency.C:13
 CheckReadoutEfficiency.C:14
 CheckReadoutEfficiency.C:15
 CheckReadoutEfficiency.C:16
 CheckReadoutEfficiency.C:17
 CheckReadoutEfficiency.C:18
 CheckReadoutEfficiency.C:19
 CheckReadoutEfficiency.C:20
 CheckReadoutEfficiency.C:21
 CheckReadoutEfficiency.C:22
 CheckReadoutEfficiency.C:23
 CheckReadoutEfficiency.C:24
 CheckReadoutEfficiency.C:25
 CheckReadoutEfficiency.C:26
 CheckReadoutEfficiency.C:27
 CheckReadoutEfficiency.C:28
 CheckReadoutEfficiency.C:29
 CheckReadoutEfficiency.C:30
 CheckReadoutEfficiency.C:31
 CheckReadoutEfficiency.C:32
 CheckReadoutEfficiency.C:33
 CheckReadoutEfficiency.C:34
 CheckReadoutEfficiency.C:35
 CheckReadoutEfficiency.C:36
 CheckReadoutEfficiency.C:37
 CheckReadoutEfficiency.C:38
 CheckReadoutEfficiency.C:39
 CheckReadoutEfficiency.C:40
 CheckReadoutEfficiency.C:41
 CheckReadoutEfficiency.C:42
 CheckReadoutEfficiency.C:43
 CheckReadoutEfficiency.C:44
 CheckReadoutEfficiency.C:45
 CheckReadoutEfficiency.C:46
 CheckReadoutEfficiency.C:47
 CheckReadoutEfficiency.C:48
 CheckReadoutEfficiency.C:49
 CheckReadoutEfficiency.C:50
 CheckReadoutEfficiency.C:51
 CheckReadoutEfficiency.C:52
 CheckReadoutEfficiency.C:53
 CheckReadoutEfficiency.C:54
 CheckReadoutEfficiency.C:55
 CheckReadoutEfficiency.C:56
 CheckReadoutEfficiency.C:57
 CheckReadoutEfficiency.C:58
 CheckReadoutEfficiency.C:59
 CheckReadoutEfficiency.C:60