tgl = glb[2]/glb[0]/TMath::Sqrt(1.+glb[1]*glb[1]/glb[0]/glb[0]);\r
eta = -TMath::Log(TMath::Tan(0.5 * (0.5*TMath::Pi() - TMath::ATan(tgl))));\r
pos[2] = eta; pos[3] = phi;\r
- pos[4] = calib->IsChamberGood(idet)?0.:1.;\r
+ pos[4] = 0.;\r
+ if(calib->IsChamberGood(idet)){\r
+ if(calib->IsHalfChamberNoData(idet, 0)) pos[4] += 1.;\r
+ if(calib->IsHalfChamberNoData(idet, 1)) pos[4] += 2.;\r
+ } else pos[4] += 4.;\r
chmb->AddAt(new TVectorF(pos), idet);\r
}\r
}\r
if(!det) continue;\r
AliDebug(2, Form("det[%03d] 0[%+4.1f %+4.1f] 1[%+4.1f %+4.1f]", idet, (*det)[0], (*det)[1], (*det)[2], (*det)[3]));\r
Int_t iopt = Int_t((*det)[4]);\r
- gdet->SetFillStyle(style[iopt]);\r
- gdet->DrawBox((*det)[0], (*det)[1], (*det)[2], (*det)[3]);\r
+ if(iopt==4){\r
+ gdet->SetFillStyle(style[1]);gdet->SetFillColor(kBlack);\r
+ gdet->DrawBox((*det)[0], (*det)[1], (*det)[2], (*det)[3]);\r
+ } else {\r
+ gdet->SetFillStyle(style[0]);\r
+ gdet->DrawBox((*det)[0], (*det)[1], (*det)[2], (*det)[3]);\r
+ if(iopt==1){\r
+ gdet->SetFillStyle(style[1]);gdet->SetFillColor(kBlue);\r
+ gdet->DrawBox((*det)[0], (*det)[1], (*det)[2], 0.5*((*det)[3]+(*det)[1]));\r
+ } else if(iopt==2){\r
+ gdet->SetFillStyle(style[1]);gdet->SetFillColor(kRed);\r
+ gdet->DrawBox((*det)[0], 0.5*((*det)[3]+(*det)[1]), (*det)[2], (*det)[3]);\r
+ } else if(iopt!=0) AliError(Form("Wrong chmb. status[%d] for det[%03d]", iopt, idet));\r
+ }\r
}\r
}\r
\r
{
// check and build (if neccessary) projection determined by axis "ix", "iy" and "iz"
if(!aa[ix] || !aa[iy] || !aa[iz]) return;
- SetNameTitle(n,t);
TAxis *ax(aa[ix]), *ay(aa[iy]), *az(aa[iz]);
+ // check ax definiton to protect against older versions of the data
+ if(ax->GetNbins()<=0 || (ax->GetXmax()-ax->GetXmin())<=0.){
+ AliWarning(Form("Wrong definition of axis[%d] \"%s\"[%d](%f %f).", ix, ax->GetTitle(), ax->GetNbins(), ax->GetXmin(), ax->GetXmax()));
+ return;
+ }
+ if(ay->GetNbins()<=0 || (ay->GetXmax()-ay->GetXmin())<=0.){
+ AliWarning(Form("Wrong definition of axis[%d] \"%s\"[%d](%f %f).", ix, ay->GetTitle(), ay->GetNbins(), ay->GetXmin(), ay->GetXmax()));
+ return;
+ }
+ if(az->GetNbins()<=0 || (az->GetXmax()-az->GetXmin())<=0.){
+ AliWarning(Form("Wrong definition of axis[%d] \"%s\"[%d](%f %f).", ix, az->GetTitle(), az->GetNbins(), az->GetXmin(), az->GetXmax()));
+ return;
+ }
+ SetNameTitle(n,t);
fH = new TH3I(n, Form("%s;%s;%s;%s", t, ax->GetTitle(), ay->GetTitle(), az->GetTitle()),
ax->GetNbins(), ax->GetXmin(), ax->GetXmax(),
ay->GetNbins(), ay->GetXmin(), ay->GetXmax(),