CMS 3D CMS Logo

Public Member Functions | Private Attributes

CastorRecHitMonitor Class Reference

#include <CastorRecHitMonitor.h>

Inheritance diagram for CastorRecHitMonitor:
CastorBaseMonitor

List of all members.

Public Member Functions

 CastorRecHitMonitor ()
void processEvent (const CastorRecHitCollection &castorHits)
void reset ()
void setup (const edm::ParameterSet &ps, DQMStore *dbe)
 ~CastorRecHitMonitor ()

Private Attributes

struct {
   MonitorElement *   meCastorRecHitsOccupancy
   std::map< HcalCastorDetId,
MonitorElement * >   meRECHIT_E
   MonitorElement *   meRECHIT_E_all
   MonitorElement *   meRECHIT_E_modules
   MonitorElement *   meRECHIT_E_sectors
   MonitorElement *   meRECHIT_MAP_CHAN_E
   MonitorElement *   meRECHIT_MAP_CHAN_E2D
   MonitorElement *   meRECHIT_N_modules
   MonitorElement *   meRECHIT_N_sectors
   std::map< HcalCastorDetId,
MonitorElement * >   meRECHIT_T
   MonitorElement *   meRECHIT_T_all
castorHists
bool doPerChannel_
int ievt_
MonitorElementmeEVT_

Detailed Description

Definition at line 9 of file CastorRecHitMonitor.h.


Constructor & Destructor Documentation

CastorRecHitMonitor::CastorRecHitMonitor ( )

Definition at line 16 of file CastorRecHitMonitor.cc.

References doPerChannel_, and ievt_.

                                         {
  doPerChannel_ = true;
  //  occThresh_ = 1;
  ievt_=0;
}
CastorRecHitMonitor::~CastorRecHitMonitor ( )

Definition at line 25 of file CastorRecHitMonitor.cc.

                                         {
}

Member Function Documentation

void CastorRecHitMonitor::processEvent ( const CastorRecHitCollection castorHits)

Definition at line 140 of file CastorRecHitMonitor.cc.

References CastorBaseMonitor::baseFolder_, edm::SortedCollection< T, SORT >::begin(), castorHists, gather_cfg::cout, CastorBaseMonitor::cpu_timer, edm::CPUTimer::cpuTime(), doPerChannel_, edm::SortedCollection< T, SORT >::end(), relval_parameters_module::energy, MonitorElement::Fill(), CastorBaseMonitor::fVerbosity, ExpressReco_HICollisions_FallBack::id, ievt_, CastorBaseMonitor::m_dbe, meEVT_, module::module(), edm::CPUTimer::reset(), CastorBaseMonitor::showTiming, edm::SortedCollection< T, SORT >::size(), edm::CPUTimer::start(), edm::CPUTimer::stop(), and cond::rpcobgas::time.

Referenced by CastorMonitorModule::analyze().

                                                                               {

  if(fVerbosity>0) std::cout << "==>CastorRecHitMonitor::processEvent !!!"<< std::endl;


   meEVT_->Fill(ievt_);

  if(!m_dbe) { 
    if(fVerbosity>0) std::cout <<"CastorRecHitMonitor::processEvent => DQMStore is not instantiated !!!"<<std::endl;  
    return; 
  }


  CastorRecHitCollection::const_iterator CASTORiter;
  if (showTiming)  { cpu_timer.reset(); cpu_timer.start(); } 

     if(castorHits.size()>0)
    {    
       if(fVerbosity>0) std::cout << "==>CastorRecHitMonitor::processEvent: castorHits.size()>0 !!!" << std::endl; 

      for (CASTORiter=castorHits.begin(); CASTORiter!=castorHits.end(); ++CASTORiter) { 
  
      float energy = CASTORiter->energy();    
      float time = CASTORiter->time();
      
      HcalCastorDetId id(CASTORiter->detid().rawId());
      //float zside  = id.zside(); 
      float module = id.module(); float sector = id.sector(); //-- get module & sector from id
      float channel = 16*(module-1)+sector; //-- define channel

      if (energy>1.0) { 
      castorHists.meRECHIT_E_all->Fill(energy);
      castorHists.meRECHIT_T_all->Fill(time);
      castorHists.meRECHIT_MAP_CHAN_E->Fill(channel,energy);
      castorHists.meRECHIT_MAP_CHAN_E2D->Fill(module-1,sector-1,energy);
      castorHists.meRECHIT_E_modules->Fill(module-1, energy);
      castorHists.meRECHIT_E_sectors->Fill(sector-1, energy);
      castorHists.meRECHIT_N_modules->Fill(module-1);
      castorHists.meRECHIT_N_sectors->Fill(sector-1);
      castorHists.meCastorRecHitsOccupancy->Fill(module-1,sector-1);
     }
    
      if(ievt_%100 == 0 && doPerChannel_) 
         CastorRecHitPerChan::perChanHists<CastorRecHit>(*CASTORiter, castorHists.meRECHIT_E, castorHists.meRECHIT_T, m_dbe, baseFolder_); 
      }
        
   }

  else { if(fVerbosity>0) std::cout<<"CastorRecHitMonitor::processEvent NO Castor RecHits !!!"<<std::endl; }

  if (showTiming) { 
      cpu_timer.stop(); std::cout << " TIMER::CastorRecHit -> " << cpu_timer.cpuTime() << std::endl; 
      cpu_timer.reset(); cpu_timer.start();  
    }
    
  ievt_++; 
  return;
}
void CastorRecHitMonitor::reset ( void  )

Definition at line 28 of file CastorRecHitMonitor.cc.

Referenced by CastorMonitorModule::reset().

                               {
}
void CastorRecHitMonitor::setup ( const edm::ParameterSet ps,
DQMStore dbe 
) [virtual]

Reimplemented from CastorBaseMonitor.

Definition at line 36 of file CastorRecHitMonitor.cc.

References CastorBaseMonitor::baseFolder_, DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookInt(), castorHists, gather_cfg::cout, doPerChannel_, CastorBaseMonitor::fVerbosity, edm::ParameterSet::getUntrackedParameter(), ievt_, CastorBaseMonitor::m_dbe, meEVT_, NULL, CastorBaseMonitor::rootFolder_, and DQMStore::setCurrentFolder().

Referenced by CastorMonitorModule::CastorMonitorModule().

                                                                       {
  
  CastorBaseMonitor::setup(ps,dbe);
  baseFolder_ = rootFolder_+"CastorRecHitMonitor";

   if(fVerbosity>0) std::cout << "CastorRecHitMonitor::setup (start)" << std::endl;
  
  if ( ps.getUntrackedParameter<bool>("RecHitsPerChannel", false) ){
    doPerChannel_ = true;
  }
    
  ievt_=0;
  
  if ( m_dbe !=NULL ) {    
 m_dbe->setCurrentFolder(baseFolder_);
meEVT_ = m_dbe->bookInt("RecHit Event Number"); // meEVT_->Fill(ievt_);
castorHists.meRECHIT_E_all = m_dbe->book1D("CastorRecHit Energies- above threshold on RecHitEnergy","CastorRecHit Energies- above threshold on RecHitEnergy",150,0,150);
castorHists.meRECHIT_T_all = m_dbe->book1D("CastorRecHit Times- above threshold on RecHitEnergy","CastorRecHit Times- above threshold on RecHitEnergy",300,-100,100);    
castorHists.meRECHIT_MAP_CHAN_E = m_dbe->book1D("CastorRecHit Energy in each channel- above threshold","CastorRecHit Energy in each channel- above threshold",224,0,224);
castorHists.meRECHIT_MAP_CHAN_E2D = m_dbe->book2D("CastorRecHit 2D Energy Map- above threshold","CastorRecHit 2D Energy Map- above threshold",14, 0,14, 16, 0,16);
castorHists.meRECHIT_E_modules = m_dbe->book1D("CastorRecHit Energy in modules- above threshold","CastorRecHit Energy in modules- above threshold", 14, 0, 14);
castorHists.meRECHIT_E_sectors = m_dbe->book1D("CastorRecHit Energy in sectors- above threshold","CastorRecHit Energy in sectors- above threshold", 16, 0, 16);
castorHists.meRECHIT_N_modules = m_dbe->book1D("Number of CastorRecHits in modules- above threshold","Number of CastorRecHits in modules- above threshold", 14, 0, 14);
castorHists.meRECHIT_N_sectors = m_dbe->book1D("Number of CastorRecHits in sectors- above threshold","Number of CastorRecHits in sectors- above threshold", 16, 0, 16);
 castorHists.meCastorRecHitsOccupancy = m_dbe->book2D("CastorRecHits occupancy- sector vs module", "CastorRecHits occupancy- sector vs module", 14, 0.5,14.5, 16, 0.5,16.5);
TH2F* CastorRecHitsOccupancy =castorHists.meCastorRecHitsOccupancy->getTH2F();
CastorRecHitsOccupancy->GetXaxis()->SetTitle("module");
CastorRecHitsOccupancy->GetYaxis()->SetTitle("sector");
  } 

  else{
  if(fVerbosity>0) std::cout << "CastorRecHitMonitor::setup - NO DQMStore service" << std::endl; 
 }

  if(fVerbosity>0) std::cout << "CastorRecHitMonitor::setup (end)" << std::endl;

  return;
}

Member Data Documentation

struct { ... } CastorRecHitMonitor::castorHists [private]

Referenced by processEvent(), and setup().

Definition at line 20 of file CastorRecHitMonitor.h.

Referenced by CastorRecHitMonitor(), processEvent(), and setup().

Definition at line 22 of file CastorRecHitMonitor.h.

Referenced by CastorRecHitMonitor(), processEvent(), and setup().

Definition at line 34 of file CastorRecHitMonitor.h.

Definition at line 38 of file CastorRecHitMonitor.h.

Referenced by processEvent(), and setup().

Definition at line 35 of file CastorRecHitMonitor.h.

Definition at line 26 of file CastorRecHitMonitor.h.

Definition at line 30 of file CastorRecHitMonitor.h.

Definition at line 31 of file CastorRecHitMonitor.h.

Definition at line 28 of file CastorRecHitMonitor.h.

Definition at line 29 of file CastorRecHitMonitor.h.

Definition at line 32 of file CastorRecHitMonitor.h.

Definition at line 33 of file CastorRecHitMonitor.h.

Definition at line 35 of file CastorRecHitMonitor.h.

Definition at line 27 of file CastorRecHitMonitor.h.