![]() |
![]() |
#include <RecoTBCalo/EcalTBHodoscopeReconstructor/interface/EcalTBHodoscopeRecInfoProducer.h>
Public Member Functions | |
EcalTBHodoscopeRecInfoProducer (const edm::ParameterSet &ps) | |
virtual void | produce (edm::Event &e, const edm::EventSetup &es) |
virtual | ~EcalTBHodoscopeRecInfoProducer () |
Private Attributes | |
EcalTBHodoscopeRecInfoAlgo * | algo_ |
int | fitMethod_ |
std::string | rawInfoCollection_ |
std::string | rawInfoProducer_ |
std::string | recInfoCollection_ |
Definition at line 16 of file EcalTBHodoscopeRecInfoProducer.h.
EcalTBHodoscopeRecInfoProducer::EcalTBHodoscopeRecInfoProducer | ( | const edm::ParameterSet & | ps | ) | [explicit] |
Definition at line 12 of file EcalTBHodoscopeRecInfoProducer.cc.
References algo_, fitMethod_, edm::ParameterSet::getParameter(), rawInfoCollection_, rawInfoProducer_, and recInfoCollection_.
00013 { 00014 rawInfoCollection_ = ps.getParameter<std::string>("rawInfoCollection"); 00015 rawInfoProducer_ = ps.getParameter<std::string>("rawInfoProducer"); 00016 recInfoCollection_ = ps.getParameter<std::string>("recInfoCollection"); 00017 fitMethod_ = ps.getParameter<int>("fitMethod"); 00018 00019 // std::vector<double> planeShift_def; 00020 // planeShift_def.push_back( -0.333 ); 00021 // planeShift_def.push_back( -0.333 ); 00022 // planeShift_def.push_back( -0.333 ); 00023 // planeShift_def.push_back( -0.333 ); 00024 std::vector<double> planeShift = ps.getParameter< std::vector<double> >("planeShift"); 00025 00026 // std::vector<double> zPosition_def; 00027 // zPosition_def.push_back( -0.333 ); 00028 // zPosition_def.push_back( -0.333 ); 00029 // zPosition_def.push_back( -0.333 ); 00030 // zPosition_def.push_back( -0.333 ); 00031 std::vector<double> zPosition = ps.getParameter< std::vector<double> >("zPosition"); 00032 00033 produces<EcalTBHodoscopeRecInfo>(recInfoCollection_); 00034 00035 algo_ = new EcalTBHodoscopeRecInfoAlgo(fitMethod_, planeShift, zPosition); 00036 }
EcalTBHodoscopeRecInfoProducer::~EcalTBHodoscopeRecInfoProducer | ( | ) | [virtual] |
Definition at line 38 of file EcalTBHodoscopeRecInfoProducer.cc.
References algo_.
00038 { 00039 delete algo_; 00040 }
void EcalTBHodoscopeRecInfoProducer::produce | ( | edm::Event & | e, | |
const edm::EventSetup & | es | |||
) | [virtual] |
Implements edm::EDProducer.
Definition at line 42 of file EcalTBHodoscopeRecInfoProducer.cc.
References algo_, edm::Event::getByLabel(), edm::Handle< T >::isValid(), edm::Handle< T >::product(), edm::Event::put(), rawInfoCollection_, rawInfoProducer_, recInfoCollection_, and EcalTBHodoscopeRecInfoAlgo::reconstruct().
00043 { 00044 // Get input 00045 edm::Handle<EcalTBHodoscopeRawInfo> ecalRawHodoscope; 00046 const EcalTBHodoscopeRawInfo* ecalHodoRawInfo = 0; 00047 //evt.getByLabel( digiProducer_, digiCollection_, pDigis); 00048 e.getByLabel( rawInfoProducer_, ecalRawHodoscope); 00049 if (ecalRawHodoscope.isValid()) { 00050 ecalHodoRawInfo = ecalRawHodoscope.product(); 00051 } 00052 00053 if (! ecalHodoRawInfo ) 00054 { 00055 edm::LogError("EcalTBHodoscopeRecInfoError") << "Error! can't get the product " << rawInfoCollection_.c_str() ; 00056 return; 00057 } 00058 00059 if ( (*ecalHodoRawInfo).planes() != 4 ) 00060 { 00061 edm::LogError("EcalTBHodoscopeRecInfoError") << "Number of planes different from expected " << rawInfoCollection_.c_str() ; 00062 return; 00063 } 00064 00065 // Create empty output 00066 std::auto_ptr<EcalTBHodoscopeRecInfo> recInfo(new EcalTBHodoscopeRecInfo(algo_->reconstruct(*ecalRawHodoscope))); 00067 00068 e.put(recInfo,recInfoCollection_); 00069 }
Definition at line 31 of file EcalTBHodoscopeRecInfoProducer.h.
Referenced by EcalTBHodoscopeRecInfoProducer(), produce(), and ~EcalTBHodoscopeRecInfoProducer().
Definition at line 30 of file EcalTBHodoscopeRecInfoProducer.h.
Referenced by EcalTBHodoscopeRecInfoProducer().
std::string EcalTBHodoscopeRecInfoProducer::rawInfoCollection_ [private] |
Definition at line 27 of file EcalTBHodoscopeRecInfoProducer.h.
Referenced by EcalTBHodoscopeRecInfoProducer(), and produce().
std::string EcalTBHodoscopeRecInfoProducer::rawInfoProducer_ [private] |
Definition at line 26 of file EcalTBHodoscopeRecInfoProducer.h.
Referenced by EcalTBHodoscopeRecInfoProducer(), and produce().
std::string EcalTBHodoscopeRecInfoProducer::recInfoCollection_ [private] |
Definition at line 28 of file EcalTBHodoscopeRecInfoProducer.h.
Referenced by EcalTBHodoscopeRecInfoProducer(), and produce().