#include "TH2D.h"
#include "AliTRDCalChamberStatus.h"
ClassImp(AliTRDCalChamberStatus)
AliTRDCalChamberStatus::AliTRDCalChamberStatus()
:TNamed()
{
for (Int_t idet = 0; idet < kNdet; idet++) {
fStatus[idet] = 0;
}
}
AliTRDCalChamberStatus::AliTRDCalChamberStatus(const Text_t *name, const Text_t *title)
:TNamed(name,title)
{
for (Int_t idet = 0; idet < kNdet; idet++) {
fStatus[idet] = 0;
}
}
void AliTRDCalChamberStatus::SetStatus(Int_t det, Char_t status)
{
switch(status)
{
case AliTRDCalChamberStatus::kGood:
SETBIT(fStatus[det], kGood);
CLRBIT(fStatus[det], kNoData);
CLRBIT(fStatus[det], kBadCalibrated);
break;
case AliTRDCalChamberStatus::kNoData:
CLRBIT(fStatus[det], kGood);
SETBIT(fStatus[det], kNoData);
SETBIT(fStatus[det], kNoDataHalfChamberSideA);
SETBIT(fStatus[det], kNoDataHalfChamberSideB);
break;
case AliTRDCalChamberStatus::kNoDataHalfChamberSideA:
SETBIT(fStatus[det], kNoDataHalfChamberSideA);
if(TESTBIT(fStatus[det], kNoDataHalfChamberSideB)){
SETBIT(fStatus[det], kNoData);
CLRBIT(fStatus[det], kGood);
}
break;
case AliTRDCalChamberStatus::kNoDataHalfChamberSideB:
SETBIT(fStatus[det], kNoDataHalfChamberSideB);
if(TESTBIT(fStatus[det], kNoDataHalfChamberSideA)) {
CLRBIT(fStatus[det], kGood);
SETBIT(fStatus[det], kNoData);
}
break;
case AliTRDCalChamberStatus::kBadCalibrated:
CLRBIT(fStatus[det], kGood);
SETBIT(fStatus[det], kBadCalibrated);
break;
case AliTRDCalChamberStatus::kNotCalibrated:
SETBIT(fStatus[det], kNotCalibrated);
break;
default:
CLRBIT(fStatus[det], kGood);
CLRBIT(fStatus[det], kNoData);
CLRBIT(fStatus[det], kNoDataHalfChamberSideA);
CLRBIT(fStatus[det], kNoDataHalfChamberSideB);
CLRBIT(fStatus[det], kBadCalibrated);
CLRBIT(fStatus[det], kNotCalibrated);
}
}
void AliTRDCalChamberStatus::UnsetStatusBit(Int_t det, Char_t status)
{
switch(status)
{
case AliTRDCalChamberStatus::kGood:
CLRBIT(fStatus[det], kGood);
break;
case AliTRDCalChamberStatus::kNoData:
CLRBIT(fStatus[det], kNoData);
break;
case AliTRDCalChamberStatus::kNoDataHalfChamberSideA:
CLRBIT(fStatus[det], kNoDataHalfChamberSideA);
break;
case AliTRDCalChamberStatus::kNoDataHalfChamberSideB:
CLRBIT(fStatus[det], kNoDataHalfChamberSideB);
break;
case AliTRDCalChamberStatus::kBadCalibrated:
CLRBIT(fStatus[det], kBadCalibrated);
break;
case AliTRDCalChamberStatus::kNotCalibrated:
CLRBIT(fStatus[det], kNotCalibrated);
break;
default:
CLRBIT(fStatus[det], kGood);
CLRBIT(fStatus[det], kNoData);
CLRBIT(fStatus[det], kNoDataHalfChamberSideA);
CLRBIT(fStatus[det], kNoDataHalfChamberSideB);
CLRBIT(fStatus[det], kBadCalibrated);
CLRBIT(fStatus[det], kNotCalibrated);
}
}
TH2D* AliTRDCalChamberStatus::Plot(Int_t sm, Int_t rphi)
{
TH2D *h2 = new TH2D(Form("sm_%d_rphi_%d",sm,rphi),Form("sm_%d_rphi_%d",sm,rphi),5,0.0,5.0,6,0.0,6.0);
h2->SetXTitle("stack");
h2->SetYTitle("layer");
Int_t start = sm*30;
Int_t end = (sm+1)*30;
for(Int_t i=start; i<end; i++) {
Int_t layer = i%6;
Int_t stackn = static_cast<int>((i-start)/6.);
Int_t status = GetStatus(i);
h2->Fill(stackn,layer,status);
if(rphi == 0) {
if(!TESTBIT(fStatus[i], kNoDataHalfChamberSideB)) h2->Fill(stackn,layer,status);
}
else if(rphi == 1) {
if(!TESTBIT(fStatus[i], kNoDataHalfChamberSideA)) h2->Fill(stackn,layer,status);
}
}
return h2;
}
TH2D* AliTRDCalChamberStatus::PlotNoData(Int_t sm, Int_t rphi)
{
TH2D *h2 = new TH2D(Form("sm_%d_rphi_%d_data",sm,rphi),Form("sm_%d_rphi_%d_data",sm,rphi),5,0.0,5.0,6,0.0,6.0);
h2->SetXTitle("stack");
h2->SetYTitle("layer");
Int_t start = sm*30;
Int_t end = (sm+1)*30;
for(Int_t i=start; i<end; i++) {
Int_t layer = i%6;
Int_t stackn = static_cast<int>((i-start)/6.);
if(rphi == 0) {
if(TESTBIT(fStatus[i], kNoDataHalfChamberSideB)) h2->Fill(stackn,layer,1);
if(TESTBIT(fStatus[i], kNoData)) h2->Fill(stackn,layer,1);
}
else if(rphi == 1) {
if(!TESTBIT(fStatus[i], kNoDataHalfChamberSideA)) h2->Fill(stackn,layer,1);
if(!TESTBIT(fStatus[i], kNoData)) h2->Fill(stackn,layer,1);
}
}
return h2;
}
TH2D* AliTRDCalChamberStatus::PlotBadCalibrated(Int_t sm, Int_t rphi)
{
TH2D *h2 = new TH2D(Form("sm_%d_rphi_%d_calib",sm,rphi),Form("sm_%d_rphi_%d_calib",sm,rphi),5,0.0,5.0,6,0.0,6.0);
h2->SetXTitle("stack");
h2->SetYTitle("layer");
Int_t start = sm*30;
Int_t end = (sm+1)*30;
for(Int_t i=start; i<end; i++) {
Int_t layer = i%6;
Int_t stackn = static_cast<int>((i-start)/6.);
if(rphi == 0) {
if(TESTBIT(fStatus[i], kBadCalibrated)) h2->Fill(stackn,layer,1);
}
else if(rphi == 1) {
if(TESTBIT(fStatus[i], kBadCalibrated)) h2->Fill(stackn,layer,1);
}
}
return h2;
}
TH2D* AliTRDCalChamberStatus::Plot(Int_t sm)
{
TH2D *h2 = new TH2D(Form("sm_%d",sm),Form("sm_%d",sm),5,0.0,5.0,6,0.0,6.0);
h2->SetXTitle("stack");
h2->SetYTitle("layer");
Int_t start = sm*30;
Int_t end = (sm+1)*30;
for(Int_t i=start; i<end; i++) {
Int_t layer = i%6;
Int_t stackn = static_cast<int>((i-start)/6.);
Int_t status = GetStatus(i);
h2->Fill(stackn,layer,status);
}
return h2;
}
AliTRDCalChamberStatus.cxx:1 AliTRDCalChamberStatus.cxx:2 AliTRDCalChamberStatus.cxx:3 AliTRDCalChamberStatus.cxx:4 AliTRDCalChamberStatus.cxx:5 AliTRDCalChamberStatus.cxx:6 AliTRDCalChamberStatus.cxx:7 AliTRDCalChamberStatus.cxx:8 AliTRDCalChamberStatus.cxx:9 AliTRDCalChamberStatus.cxx:10 AliTRDCalChamberStatus.cxx:11 AliTRDCalChamberStatus.cxx:12 AliTRDCalChamberStatus.cxx:13 AliTRDCalChamberStatus.cxx:14 AliTRDCalChamberStatus.cxx:15 AliTRDCalChamberStatus.cxx:16 AliTRDCalChamberStatus.cxx:17 AliTRDCalChamberStatus.cxx:18 AliTRDCalChamberStatus.cxx:19 AliTRDCalChamberStatus.cxx:20 AliTRDCalChamberStatus.cxx:21 AliTRDCalChamberStatus.cxx:22 AliTRDCalChamberStatus.cxx:23 AliTRDCalChamberStatus.cxx:24 AliTRDCalChamberStatus.cxx:25 AliTRDCalChamberStatus.cxx:26 AliTRDCalChamberStatus.cxx:27 AliTRDCalChamberStatus.cxx:28 AliTRDCalChamberStatus.cxx:29 AliTRDCalChamberStatus.cxx:30 AliTRDCalChamberStatus.cxx:31 AliTRDCalChamberStatus.cxx:32 AliTRDCalChamberStatus.cxx:33 AliTRDCalChamberStatus.cxx:34 AliTRDCalChamberStatus.cxx:35 AliTRDCalChamberStatus.cxx:36 AliTRDCalChamberStatus.cxx:37 AliTRDCalChamberStatus.cxx:38 AliTRDCalChamberStatus.cxx:39 AliTRDCalChamberStatus.cxx:40 AliTRDCalChamberStatus.cxx:41 AliTRDCalChamberStatus.cxx:42 AliTRDCalChamberStatus.cxx:43 AliTRDCalChamberStatus.cxx:44 AliTRDCalChamberStatus.cxx:45 AliTRDCalChamberStatus.cxx:46 AliTRDCalChamberStatus.cxx:47 AliTRDCalChamberStatus.cxx:48 AliTRDCalChamberStatus.cxx:49 AliTRDCalChamberStatus.cxx:50 AliTRDCalChamberStatus.cxx:51 AliTRDCalChamberStatus.cxx:52 AliTRDCalChamberStatus.cxx:53 AliTRDCalChamberStatus.cxx:54 AliTRDCalChamberStatus.cxx:55 AliTRDCalChamberStatus.cxx:56 AliTRDCalChamberStatus.cxx:57 AliTRDCalChamberStatus.cxx:58 AliTRDCalChamberStatus.cxx:59 AliTRDCalChamberStatus.cxx:60 AliTRDCalChamberStatus.cxx:61 AliTRDCalChamberStatus.cxx:62 AliTRDCalChamberStatus.cxx:63 AliTRDCalChamberStatus.cxx:64 AliTRDCalChamberStatus.cxx:65 AliTRDCalChamberStatus.cxx:66 AliTRDCalChamberStatus.cxx:67 AliTRDCalChamberStatus.cxx:68 AliTRDCalChamberStatus.cxx:69 AliTRDCalChamberStatus.cxx:70 AliTRDCalChamberStatus.cxx:71 AliTRDCalChamberStatus.cxx:72 AliTRDCalChamberStatus.cxx:73 AliTRDCalChamberStatus.cxx:74 AliTRDCalChamberStatus.cxx:75 AliTRDCalChamberStatus.cxx:76 AliTRDCalChamberStatus.cxx:77 AliTRDCalChamberStatus.cxx:78 AliTRDCalChamberStatus.cxx:79 AliTRDCalChamberStatus.cxx:80 AliTRDCalChamberStatus.cxx:81 AliTRDCalChamberStatus.cxx:82 AliTRDCalChamberStatus.cxx:83 AliTRDCalChamberStatus.cxx:84 AliTRDCalChamberStatus.cxx:85 AliTRDCalChamberStatus.cxx:86 AliTRDCalChamberStatus.cxx:87 AliTRDCalChamberStatus.cxx:88 AliTRDCalChamberStatus.cxx:89 AliTRDCalChamberStatus.cxx:90 AliTRDCalChamberStatus.cxx:91 AliTRDCalChamberStatus.cxx:92 AliTRDCalChamberStatus.cxx:93 AliTRDCalChamberStatus.cxx:94 AliTRDCalChamberStatus.cxx:95 AliTRDCalChamberStatus.cxx:96 AliTRDCalChamberStatus.cxx:97 AliTRDCalChamberStatus.cxx:98 AliTRDCalChamberStatus.cxx:99 AliTRDCalChamberStatus.cxx:100 AliTRDCalChamberStatus.cxx:101 AliTRDCalChamberStatus.cxx:102 AliTRDCalChamberStatus.cxx:103 AliTRDCalChamberStatus.cxx:104 AliTRDCalChamberStatus.cxx:105 AliTRDCalChamberStatus.cxx:106 AliTRDCalChamberStatus.cxx:107 AliTRDCalChamberStatus.cxx:108 AliTRDCalChamberStatus.cxx:109 AliTRDCalChamberStatus.cxx:110 AliTRDCalChamberStatus.cxx:111 AliTRDCalChamberStatus.cxx:112 AliTRDCalChamberStatus.cxx:113 AliTRDCalChamberStatus.cxx:114 AliTRDCalChamberStatus.cxx:115 AliTRDCalChamberStatus.cxx:116 AliTRDCalChamberStatus.cxx:117 AliTRDCalChamberStatus.cxx:118 AliTRDCalChamberStatus.cxx:119 AliTRDCalChamberStatus.cxx:120 AliTRDCalChamberStatus.cxx:121 AliTRDCalChamberStatus.cxx:122 AliTRDCalChamberStatus.cxx:123 AliTRDCalChamberStatus.cxx:124 AliTRDCalChamberStatus.cxx:125 AliTRDCalChamberStatus.cxx:126 AliTRDCalChamberStatus.cxx:127 AliTRDCalChamberStatus.cxx:128 AliTRDCalChamberStatus.cxx:129 AliTRDCalChamberStatus.cxx:130 AliTRDCalChamberStatus.cxx:131 AliTRDCalChamberStatus.cxx:132 AliTRDCalChamberStatus.cxx:133 AliTRDCalChamberStatus.cxx:134 AliTRDCalChamberStatus.cxx:135 AliTRDCalChamberStatus.cxx:136 AliTRDCalChamberStatus.cxx:137 AliTRDCalChamberStatus.cxx:138 AliTRDCalChamberStatus.cxx:139 AliTRDCalChamberStatus.cxx:140 AliTRDCalChamberStatus.cxx:141 AliTRDCalChamberStatus.cxx:142 AliTRDCalChamberStatus.cxx:143 AliTRDCalChamberStatus.cxx:144 AliTRDCalChamberStatus.cxx:145 AliTRDCalChamberStatus.cxx:146 AliTRDCalChamberStatus.cxx:147 AliTRDCalChamberStatus.cxx:148 AliTRDCalChamberStatus.cxx:149 AliTRDCalChamberStatus.cxx:150 AliTRDCalChamberStatus.cxx:151 AliTRDCalChamberStatus.cxx:152 AliTRDCalChamberStatus.cxx:153 AliTRDCalChamberStatus.cxx:154 AliTRDCalChamberStatus.cxx:155 AliTRDCalChamberStatus.cxx:156 AliTRDCalChamberStatus.cxx:157 AliTRDCalChamberStatus.cxx:158 AliTRDCalChamberStatus.cxx:159 AliTRDCalChamberStatus.cxx:160 AliTRDCalChamberStatus.cxx:161 AliTRDCalChamberStatus.cxx:162 AliTRDCalChamberStatus.cxx:163 AliTRDCalChamberStatus.cxx:164 AliTRDCalChamberStatus.cxx:165 AliTRDCalChamberStatus.cxx:166 AliTRDCalChamberStatus.cxx:167 AliTRDCalChamberStatus.cxx:168 AliTRDCalChamberStatus.cxx:169 AliTRDCalChamberStatus.cxx:170 AliTRDCalChamberStatus.cxx:171 AliTRDCalChamberStatus.cxx:172 AliTRDCalChamberStatus.cxx:173 AliTRDCalChamberStatus.cxx:174 AliTRDCalChamberStatus.cxx:175 AliTRDCalChamberStatus.cxx:176 AliTRDCalChamberStatus.cxx:177 AliTRDCalChamberStatus.cxx:178 AliTRDCalChamberStatus.cxx:179 AliTRDCalChamberStatus.cxx:180 AliTRDCalChamberStatus.cxx:181 AliTRDCalChamberStatus.cxx:182 AliTRDCalChamberStatus.cxx:183 AliTRDCalChamberStatus.cxx:184 AliTRDCalChamberStatus.cxx:185 AliTRDCalChamberStatus.cxx:186 AliTRDCalChamberStatus.cxx:187 AliTRDCalChamberStatus.cxx:188 AliTRDCalChamberStatus.cxx:189 AliTRDCalChamberStatus.cxx:190 AliTRDCalChamberStatus.cxx:191 AliTRDCalChamberStatus.cxx:192 AliTRDCalChamberStatus.cxx:193 AliTRDCalChamberStatus.cxx:194 AliTRDCalChamberStatus.cxx:195 AliTRDCalChamberStatus.cxx:196 AliTRDCalChamberStatus.cxx:197 AliTRDCalChamberStatus.cxx:198 AliTRDCalChamberStatus.cxx:199 AliTRDCalChamberStatus.cxx:200 AliTRDCalChamberStatus.cxx:201 AliTRDCalChamberStatus.cxx:202 AliTRDCalChamberStatus.cxx:203 AliTRDCalChamberStatus.cxx:204 AliTRDCalChamberStatus.cxx:205 AliTRDCalChamberStatus.cxx:206 AliTRDCalChamberStatus.cxx:207 AliTRDCalChamberStatus.cxx:208 AliTRDCalChamberStatus.cxx:209 AliTRDCalChamberStatus.cxx:210 AliTRDCalChamberStatus.cxx:211 AliTRDCalChamberStatus.cxx:212 AliTRDCalChamberStatus.cxx:213 AliTRDCalChamberStatus.cxx:214 AliTRDCalChamberStatus.cxx:215 AliTRDCalChamberStatus.cxx:216 AliTRDCalChamberStatus.cxx:217 AliTRDCalChamberStatus.cxx:218 AliTRDCalChamberStatus.cxx:219 AliTRDCalChamberStatus.cxx:220 AliTRDCalChamberStatus.cxx:221 AliTRDCalChamberStatus.cxx:222 AliTRDCalChamberStatus.cxx:223 AliTRDCalChamberStatus.cxx:224 AliTRDCalChamberStatus.cxx:225 AliTRDCalChamberStatus.cxx:226 AliTRDCalChamberStatus.cxx:227 AliTRDCalChamberStatus.cxx:228 AliTRDCalChamberStatus.cxx:229 AliTRDCalChamberStatus.cxx:230 AliTRDCalChamberStatus.cxx:231 AliTRDCalChamberStatus.cxx:232 AliTRDCalChamberStatus.cxx:233 AliTRDCalChamberStatus.cxx:234 AliTRDCalChamberStatus.cxx:235 AliTRDCalChamberStatus.cxx:236 AliTRDCalChamberStatus.cxx:237 AliTRDCalChamberStatus.cxx:238 AliTRDCalChamberStatus.cxx:239 AliTRDCalChamberStatus.cxx:240 AliTRDCalChamberStatus.cxx:241 AliTRDCalChamberStatus.cxx:242 AliTRDCalChamberStatus.cxx:243 AliTRDCalChamberStatus.cxx:244 AliTRDCalChamberStatus.cxx:245 AliTRDCalChamberStatus.cxx:246 AliTRDCalChamberStatus.cxx:247 AliTRDCalChamberStatus.cxx:248 AliTRDCalChamberStatus.cxx:249 AliTRDCalChamberStatus.cxx:250 AliTRDCalChamberStatus.cxx:251 AliTRDCalChamberStatus.cxx:252 AliTRDCalChamberStatus.cxx:253 AliTRDCalChamberStatus.cxx:254 AliTRDCalChamberStatus.cxx:255 AliTRDCalChamberStatus.cxx:256 AliTRDCalChamberStatus.cxx:257 AliTRDCalChamberStatus.cxx:258 AliTRDCalChamberStatus.cxx:259 AliTRDCalChamberStatus.cxx:260 AliTRDCalChamberStatus.cxx:261 AliTRDCalChamberStatus.cxx:262 AliTRDCalChamberStatus.cxx:263 AliTRDCalChamberStatus.cxx:264 AliTRDCalChamberStatus.cxx:265 AliTRDCalChamberStatus.cxx:266 AliTRDCalChamberStatus.cxx:267 AliTRDCalChamberStatus.cxx:268 AliTRDCalChamberStatus.cxx:269