CMS 3D CMS Logo

EcalTBHodoscopeRecInfoProducer Class Reference

#include <RecoTBCalo/EcalTBHodoscopeReconstructor/interface/EcalTBHodoscopeRecInfoProducer.h>

Inheritance diagram for EcalTBHodoscopeRecInfoProducer:

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

List of all members.

Public Member Functions

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

Private Attributes

EcalTBHodoscopeRecInfoAlgoalgo_
int fitMethod_
std::string rawInfoCollection_
std::string rawInfoProducer_
std::string recInfoCollection_


Detailed Description

Definition at line 16 of file EcalTBHodoscopeRecInfoProducer.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 } 


Member Data Documentation

EcalTBHodoscopeRecInfoAlgo* EcalTBHodoscopeRecInfoProducer::algo_ [private]

Definition at line 31 of file EcalTBHodoscopeRecInfoProducer.h.

Referenced by EcalTBHodoscopeRecInfoProducer(), produce(), and ~EcalTBHodoscopeRecInfoProducer().

int EcalTBHodoscopeRecInfoProducer::fitMethod_ [private]

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().


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