+
+//____________________________________________________________
+void AliAnalysisTaskCaloCellsQA::SetBadCells(Int_t badcells[], Int_t nbad)
+{
+ // Set absId numbers for bad cells;
+ // clusters which contain a bad cell will be rejected.
+
+ // switch off bad cells, if asked
+ if (nbad <= 0) {
+ if (fBadCells) delete [] fBadCells;
+ fNBad = 0;
+ return;
+ }
+
+ fNBad = nbad;
+ fBadCells = new Int_t[nbad];
+
+ for (Int_t i = 0; i < nbad; i++)
+ fBadCells[i] = badcells[i];
+}
+
+//________________________________________________________________
+Bool_t AliAnalysisTaskCaloCellsQA::IsClusterBad(AliVCluster *clus)
+{
+ // Returns true if cluster contains a bad cell
+
+ for (Int_t b = 0; b < fNBad; b++)
+ for (Int_t c = 0; c < clus->GetNCells(); c++)
+ if (clus->GetCellAbsId(c) == fBadCells[b])
+ return kTRUE;
+
+ return kFALSE;
+}