]>
Commit | Line | Data |
---|---|---|
3c4375b2 | 1 | CheckCalibStatus(Int_t run) |
2 | { | |
3 | ||
4 | TGrid::Connect("alien"); | |
5 | AliCDBManager *cdb = AliCDBManager::Instance(); | |
6 | cdb->SetDefaultStorage("raw://"); | |
7 | cdb->SetRun(run); | |
8 | AliCDBEntry *cdbe = cdb->Get("TOF/Calib/Status"); | |
9 | CheckCalibStatus(cdbe); | |
10 | ||
11 | } | |
12 | ||
fceb731d | 13 | CheckCalibStatus(const Char_t *fileName) |
14 | { | |
15 | ||
16 | TFile *file = TFile::Open(fileName); | |
17 | AliCDBEntry *cdbe = (AliCDBEntry *)file->Get("AliCDBEntry"); | |
3c4375b2 | 18 | CheckCalibStatus(cdbe); |
19 | } | |
20 | ||
21 | CheckCalibStatus(AliCDBEntry *cdbe) | |
22 | { | |
23 | ||
24 | if (!cdbe) { | |
25 | printf("invalid CDB entry\n"); | |
26 | return; | |
27 | } | |
28 | ||
fceb731d | 29 | AliTOFChannelOnlineStatusArray *array = (AliTOFChannelOnlineStatusArray *)cdbe->GetObject(); |
30 | ||
7c9539dd | 31 | TH1F *hStatus = new TH1F("hStatus", "Channel status;index;status", array->GetSize(), 0., array->GetSize();); |
b8006075 | 32 | TH1F *hChEnabled = new TH1F("hChEnabled", "Channel enabled;index;enabled", array->GetSize(), 0., array->GetSize();); |
cf7d7743 | 33 | TH1F *hChNoisy = new TH1F("hChNoisy", "Channel noise flag;index;noise flag", array->GetSize(), 0., array->GetSize();); |
7c9539dd | 34 | TH2F *hNoiseMap = new TH2F("hNoiseMap", "Noise map;sector;strip", 72, 0., 18., 91, 0., 91.); |
35 | TH2F *hEnableMap = new TH2F("hEnableMap", "Enable map;sector;strip", 72, 0., 18., 91, 0., 91.); | |
36 | ||
37 | AliTOFcalibHisto calib; | |
38 | calib.LoadCalibHisto(); | |
b8006075 | 39 | calib.LoadCalibStat(); /* temp */ |
7c9539dd | 40 | |
41 | Int_t sector, sectorStrip, padx, fea; | |
42 | Float_t hitmapx, hitmapy; | |
43 | for (Int_t i = 0; i < array->GetSize(); i++) { | |
44 | hStatus->SetBinContent(i + 1, array->GetStatus(i)); | |
45 | sector = calib.GetCalibMap(AliTOFcalibHisto::kSector, i); | |
46 | sectorStrip = calib.GetCalibMap(AliTOFcalibHisto::kSectorStrip, i); | |
47 | padx = calib.GetCalibMap(AliTOFcalibHisto::kPadX, i); | |
48 | fea = padx / 12; | |
49 | hitmapx = sector + ((Double_t)(3 - fea) + 0.5) / 4.; | |
50 | hitmapy = sectorStrip; | |
b8006075 | 51 | if (array->GetHWStatus(i) == AliTOFChannelOnlineStatusArray::kTOFHWOk && |
52 | calib.GetCalibStat(AliTOFcalibHisto::kStripStat, i) == 1) hEnableMap->Fill(hitmapx, hitmapy); | |
cf7d7743 | 53 | if (array->GetNoiseStatus(i) == AliTOFChannelOnlineStatusArray::kTOFNoiseBad) { |
54 | hChNoisy->SetBinContent(i + 1, 1); | |
55 | hNoiseMap->Fill(hitmapx, hitmapy); | |
56 | } | |
b8006075 | 57 | if (array->GetHWStatus(i) == AliTOFChannelOnlineStatusArray::kTOFHWOk && |
58 | array->GetNoiseStatus(i) != AliTOFChannelOnlineStatusArray::kTOFNoiseBad && | |
59 | calib.GetCalibStat(AliTOFcalibHisto::kStripStat, i) == 1) { | |
60 | hChEnabled->SetBinContent(i + 1, 1); | |
61 | } | |
62 | ||
7c9539dd | 63 | } |
64 | ||
65 | TFile *fout = TFile::Open("CheckCalibStatus.root", "RECREATE"); | |
66 | hStatus->Write(); | |
cf7d7743 | 67 | hChNoisy->Write(); |
b8006075 | 68 | hChEnabled->Write(); |
7c9539dd | 69 | hNoiseMap->Write(); |
70 | hEnableMap->Write(); | |
71 | fout->Close(); | |
fceb731d | 72 | |
73 | } |