#include <RecoLocalCalo/EcalRecProducers/interface/EcalMaxSampleUncalibRecHitProducer.h>
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_ |
Definition at line 14 of file EcalMaxSampleUncalibRecHitProducer.h.
typedef std::vector<double> EcalMaxSampleUncalibRecHitProducer::EcalRecoAmplitudes |
Definition at line 17 of file EcalMaxSampleUncalibRecHitProducer.h.
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 | ( | ) |
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 }
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().
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().