CMS 3D CMS Logo

EcalMaxSampleUncalibRecHitProducer Class Reference

produce ECAL uncalibrated rechits from dataframes More...

#include <RecoLocalCalo/EcalRecProducers/interface/EcalMaxSampleUncalibRecHitProducer.h>

Inheritance diagram for EcalMaxSampleUncalibRecHitProducer:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Types

typedef std::vector< double > EcalRecoAmplitudes

Public Member Functions

 EcalMaxSampleUncalibRecHitProducer (const edm::ParameterSet &ps)
virtual void produce (edm::Event &evt, const edm::EventSetup &es)
 ~EcalMaxSampleUncalibRecHitProducer ()

Private Attributes

EcalUncalibRecHitMaxSampleAlgo
< EBDataFrame
EBalgo_
edm::InputTag EBdigiCollection_
std::string EBhitCollection_
EcalUncalibRecHitMaxSampleAlgo
< EEDataFrame
EEalgo_
edm::InputTag EEdigiCollection_
std::string EEhitCollection_


Detailed Description

produce ECAL uncalibrated rechits from dataframes

Id
EcalMaxSampleUncalibRecHitProducer.cc,v 1.2 2007/12/21 15:35:40 ferriff Exp
Date
2007/12/21 15:35:40
Revision
1.2
Author:
G. Franzoni, E. Di Marco

Definition at line 14 of file EcalMaxSampleUncalibRecHitProducer.h.


Member Typedef Documentation

typedef std::vector<double> EcalMaxSampleUncalibRecHitProducer::EcalRecoAmplitudes

Definition at line 17 of file EcalMaxSampleUncalibRecHitProducer.h.


Constructor & Destructor Documentation

EcalMaxSampleUncalibRecHitProducer::EcalMaxSampleUncalibRecHitProducer ( const edm::ParameterSet ps  )  [explicit]

Definition at line 28 of file EcalMaxSampleUncalibRecHitProducer.cc.

References EBdigiCollection_, EBhitCollection_, EEdigiCollection_, EEhitCollection_, and edm::ParameterSet::getParameter().

00028                                                                                                 {
00029 
00030   EBdigiCollection_ = ps.getParameter<edm::InputTag>("EBdigiCollection");
00031   EEdigiCollection_ = ps.getParameter<edm::InputTag>("EEdigiCollection");
00032   EBhitCollection_  = ps.getParameter<std::string>("EBhitCollection");
00033   EEhitCollection_  = ps.getParameter<std::string>("EEhitCollection");
00034   produces< EBUncalibratedRecHitCollection >(EBhitCollection_);
00035   produces< EEUncalibratedRecHitCollection >(EEhitCollection_);
00036 }

EcalMaxSampleUncalibRecHitProducer::~EcalMaxSampleUncalibRecHitProducer (  ) 

Definition at line 38 of file EcalMaxSampleUncalibRecHitProducer.cc.

00038                                                                         {
00039 }


Member Function Documentation

void EcalMaxSampleUncalibRecHitProducer::produce ( edm::Event evt,
const edm::EventSetup es 
) [virtual]

Implements edm::EDProducer.

Definition at line 42 of file EcalMaxSampleUncalibRecHitProducer.cc.

References edm::DataFrameContainer::begin(), EBalgo_, EBdigiCollection_, EBhitCollection_, EEalgo_, EEdigiCollection_, EEhitCollection_, edm::DataFrameContainer::end(), edm::Event::getByLabel(), edm::InputTag::instance(), edm::InputTag::label(), EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit(), edm::Event::put(), and edm::DataFrameContainer::size().

00042                                                                                   {
00043 
00044   using namespace edm;
00045 
00046   Handle< EBDigiCollection > pEBDigis;
00047   Handle< EEDigiCollection > pEEDigis;
00048 
00049   const EBDigiCollection* EBdigis =0;
00050   const EEDigiCollection* EEdigis =0;
00051 
00052   if ( EBdigiCollection_.label() != "" && EBdigiCollection_.instance() != "" ) {
00053           evt.getByLabel( EBdigiCollection_, pEBDigis);
00054           if ( pEBDigis.isValid() ) {
00055                   EBdigis = pEBDigis.product(); // get a ptr to the produc
00056                   edm::LogInfo("EcalUncalibRecHitInfo") << "total # EBdigis: " << EBdigis->size() ;
00057           } else {
00058                   edm::LogError("EcalUncalibRecHitError") << "Error! can't get the product " << EBdigiCollection_;
00059           }
00060   }
00061 
00062   if ( EEdigiCollection_.label() != "" && EEdigiCollection_.instance() != "" ) {
00063           evt.getByLabel( EEdigiCollection_, pEEDigis);
00064           if ( pEEDigis.isValid() ) {
00065                   EEdigis = pEEDigis.product(); // get a ptr to the product
00066                   edm::LogInfo("EcalUncalibRecHitInfo") << "total # EEdigis: " << EEdigis->size() ;
00067           } else {
00068                   edm::LogError("EcalUncalibRecHitError") << "Error! can't get the product " << EEdigiCollection_;
00069           }
00070   }
00071 
00072   // collection of reconstructed ampltudes to put in the event
00073 
00074   std::auto_ptr< EBUncalibratedRecHitCollection > EBuncalibRechits( new EBUncalibratedRecHitCollection );
00075   std::auto_ptr< EEUncalibratedRecHitCollection > EEuncalibRechits( new EEUncalibratedRecHitCollection );
00076 
00077   // loop over EB digis
00078   if (EBdigis)
00079     {
00080       EBuncalibRechits->reserve(EBdigis->size());
00081       for(EBDigiCollection::const_iterator itdg = EBdigis->begin(); itdg != EBdigis->end(); ++itdg) {
00082 
00083         EcalUncalibratedRecHit aHit =
00084           EBalgo_.makeRecHit(*itdg, 0, 0, 0, 0 );
00085         EBuncalibRechits->push_back( aHit );
00086 
00087       }// end loop eb
00088     }// end if EB
00089 
00090 
00091   // loop over EB digis
00092   if (EEdigis)
00093     {
00094       EEuncalibRechits->reserve(EEdigis->size());
00095 
00096       for(EEDigiCollection::const_iterator itdg = EEdigis->begin(); itdg != EEdigis->end(); ++itdg) {
00097 
00098         EcalUncalibratedRecHit aHit =
00099           EEalgo_.makeRecHit(*itdg, 0, 0, 0, 0 );
00100         EEuncalibRechits->push_back( aHit );
00101 
00102       }// loop EE
00103     }// if EE
00104 
00105   // put the collection of recunstructed hits in the event
00106   evt.put( EBuncalibRechits, EBhitCollection_ );
00107   evt.put( EEuncalibRechits, EEhitCollection_ );
00108 }


Member Data Documentation

EcalUncalibRecHitMaxSampleAlgo<EBDataFrame> EcalMaxSampleUncalibRecHitProducer::EBalgo_ [private]

Definition at line 30 of file EcalMaxSampleUncalibRecHitProducer.h.

Referenced by produce().

edm::InputTag EcalMaxSampleUncalibRecHitProducer::EBdigiCollection_ [private]

Definition at line 24 of file EcalMaxSampleUncalibRecHitProducer.h.

Referenced by EcalMaxSampleUncalibRecHitProducer(), and produce().

std::string EcalMaxSampleUncalibRecHitProducer::EBhitCollection_ [private]

Definition at line 27 of file EcalMaxSampleUncalibRecHitProducer.h.

Referenced by EcalMaxSampleUncalibRecHitProducer(), and produce().

EcalUncalibRecHitMaxSampleAlgo<EEDataFrame> EcalMaxSampleUncalibRecHitProducer::EEalgo_ [private]

Definition at line 31 of file EcalMaxSampleUncalibRecHitProducer.h.

Referenced by produce().

edm::InputTag EcalMaxSampleUncalibRecHitProducer::EEdigiCollection_ [private]

Definition at line 25 of file EcalMaxSampleUncalibRecHitProducer.h.

Referenced by EcalMaxSampleUncalibRecHitProducer(), and produce().

std::string EcalMaxSampleUncalibRecHitProducer::EEhitCollection_ [private]

Definition at line 28 of file EcalMaxSampleUncalibRecHitProducer.h.

Referenced by EcalMaxSampleUncalibRecHitProducer(), and produce().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:19:44 2009 for CMSSW by  doxygen 1.5.4