CMS 3D CMS Logo

CastorDigiAnalyzer.cc

Go to the documentation of this file.
00001 #include "SimCalorimetry/CastorSim/plugins/CastorDigiAnalyzer.h"
00002 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
00003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00004 #include<iostream>
00005 
00006 
00007 CastorDigiAnalyzer::CastorDigiAnalyzer(edm::ParameterSet const& conf) 
00008 : hitReadoutName_("CASTORHits"),
00009   simParameterMap_(),
00010   castorHitAnalyzer_("CASTORDigi", 1., &simParameterMap_, &castorFilter_),
00011   castorDigiStatistics_("CASTORDigi", 3, 10., 6., 0.1, 0.5, castorHitAnalyzer_)
00012 {
00013 }
00014 
00015 
00016 namespace CastorDigiAnalyzerImpl {
00017   template<class Collection>
00018   void analyze(edm::Event const& e, CastorDigiStatistics & statistics) {
00019     edm::Handle<Collection> digis;
00020     e.getByType(digis);
00021     if (!digis.isValid()) {
00022       edm::LogError("CastorDigiAnalyzer") << "Could not find Castor Digi Container ";
00023     } else {
00024       for(unsigned i = 0; i < digis->size(); ++i) {
00025         statistics.analyze((*digis)[i]);
00026       }
00027     }
00028   }
00029 }
00030 
00031 
00032 void CastorDigiAnalyzer::analyze(edm::Event const& e, edm::EventSetup const& c) {
00033   //  edm::Handle<edm::PCaloHitContainer> hits;
00034 edm::Handle<CrossingFrame<PCaloHit> > castorcf;
00035 e.getByLabel("g4SimHits","CASTORHits", castorcf);
00036 
00037 //access to SimHits
00038 std::auto_ptr<MixCollection<PCaloHit> > hits(new MixCollection<PCaloHit>(castorcf.product()));
00039 //  if (hits.isValid()) {
00040     castorHitAnalyzer_.fillHits(*hits);
00041     CastorDigiAnalyzerImpl::analyze<CastorDigiCollection>(e, castorDigiStatistics_);
00042   }

Generated on Tue Jun 9 17:46:14 2009 for CMSSW by  doxygen 1.5.4