CMS 3D CMS Logo

Classes | Functions

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/CondFormats/L1TObjects/interface/L1GctChannelMask.h File Reference

#include <ostream>

Go to the source code of this file.

Classes

class  L1GctChannelMask

Functions

std::ostream & operator<< (std::ostream &os, const L1GctChannelMask obj)

Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const L1GctChannelMask  obj 
)

Definition at line 86 of file L1GctChannelMask.cc.

References L1GctChannelMask::emCrateMask(), i, L1GctChannelMask::missingEtMask(), L1GctChannelMask::missingHtMask(), L1GctChannelMask::regionMask(), L1GctChannelMask::totalEtMask(), and L1GctChannelMask::totalHtMask().

                                                                     {
  os << "L1GctChannelMask :" << std::endl;

  // get masks without changing interface, sigh
  unsigned emCrateMask(0), tetMask(0), metMask(0), htMask(0), mhtMask(0);
  for (unsigned i=0; i<18; ++i) {
    emCrateMask |= ((obj.emCrateMask(i)?1:0)<<i);
  }

  for (unsigned i=0; i<22; ++i) {
    tetMask |= ((obj.totalEtMask(i)?1:0)<<i);
    metMask |= ((obj.missingEtMask(i)?1:0)<<i);
    htMask |= ((obj.totalHtMask(i)?1:0)<<i);
    mhtMask |= ((obj.missingHtMask(i)?1:0)<<i);
  }

   os << "  EM crate mask    = " << std::hex << emCrateMask << std::endl;
   os << "  EtTot mask       = " << std::hex << tetMask << std::endl;
   os << "  EtMiss mask      = " << std::hex << metMask << std::endl;
   os << "  HtTot mask       = " << std::hex << htMask << std::endl;
   os << "  HtMiss mask      = " << std::hex << mhtMask << std::endl;
  
   for (unsigned ieta=0; ieta<22; ++ieta) {
    for (unsigned iphi=0; iphi<18; ++iphi) {
      if ( obj.regionMask(ieta, iphi) )  {
        os << "  Region mask      : " << std::dec << ieta << ", " << iphi << std::endl;
      }
    }
  }
  return os;
}