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