+//____________________________________________________________________
+void
+AliFMDReconstructor::MarkDeadChannels(AliESDFMD* esd) const
+{
+ // Loop over all entries of the ESD and mark
+ // those that are dead as such
+ // - otherwise put in the zero signal.
+ AliFMDParameters* param = AliFMDParameters::Instance();
+
+ for (UShort_t d = 1; d <= 3; d++) {
+ UShort_t nR = (d == 1 ? 1 : 2);
+
+ for (UShort_t q = 0; q < nR; q++) {
+ Char_t r = (q == 0 ? 'I' : 'O');
+ UShort_t nS = (q == 0 ? 20 : 40);
+ UShort_t nT = (q == 0 ? 512 : 256);
+
+ for (UShort_t s = 0; s < nS; s++) {
+ for (UShort_t t = 0; t < nT; t++) {
+ if (param->IsDead(d, r, s, t)) {
+ AliDebug(5, Form("Marking FMD%d%c[%2d,%3d] as dead", d, r, s, t));
+ esd->SetMultiplicity(d, r, s, t, AliESDFMD::kInvalidMult);
+ esd->SetEta(d, r, s, t, AliESDFMD::kInvalidEta);
+ }
+ else if (esd->Multiplicity(d, r, s, t) == AliESDFMD::kInvalidMult) {
+ AliDebug(10, Form("Setting null signal in FMD%d%c[%2d,%3d]", d, r, s, t));
+ esd->SetMultiplicity(d, r, s, t, 0);
+ }
+ }
+ }
+ }
+ }
+}