CMS 3D CMS Logo

SiStripQualityESProducer Class Reference

Description: <one line="" class="" summary>="">. More...

#include <CalibTracker/SiStripESProducers/plugins/real/SiStripQualityESProducer.cc>

Inheritance diagram for SiStripQualityESProducer:

edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Member Functions

boost::shared_ptr< SiStripQualityproduce (const SiStripQualityRcd &)
 SiStripQualityESProducer (const edm::ParameterSet &)
 ~SiStripQualityESProducer ()

Private Types

typedef std::vector
< edm::ParameterSet
Parameters

Private Attributes

edm::FileInPath fp_
bool MergeList_
edm::ParameterSet pset_
boost::shared_ptr< SiStripQualityquality
Parameters toGet


Detailed Description

Description: <one line="" class="" summary>="">.

Implementation: <Notes on="" implementation>="">

Definition at line 21 of file SiStripQualityESProducer.h.


Member Typedef Documentation

typedef std::vector< edm::ParameterSet > SiStripQualityESProducer::Parameters [private]

Definition at line 34 of file SiStripQualityESProducer.h.


Constructor & Destructor Documentation

SiStripQualityESProducer::SiStripQualityESProducer ( const edm::ParameterSet iConfig  ) 

Definition at line 26 of file SiStripQualityESProducer.cc.

References lat::endl(), quality, and edm::ESProducer::setWhatProduced().

00026                                                                                 :
00027   pset_(iConfig),
00028   toGet(iConfig.getParameter<Parameters>("ListOfRecordToMerge"))
00029 {
00030   
00031   setWhatProduced(this);
00032   
00033   edm::LogInfo("SiStripQualityESProducer") << "ctor" << std::endl;
00034 
00035   quality.reset(new SiStripQuality());
00036 }

SiStripQualityESProducer::~SiStripQualityESProducer (  )  [inline]

Definition at line 24 of file SiStripQualityESProducer.h.

00024 {};


Member Function Documentation

boost::shared_ptr< SiStripQuality > SiStripQualityESProducer::produce ( const SiStripQualityRcd iRecord  ) 

Definition at line 39 of file SiStripQualityESProducer.cc.

References lat::endl(), edm::ParameterSet::getParameter(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), VarParsing::obj, edm::ESHandle< T >::product(), pset_, quality, HLT_VtxMuL3::recordName, HLT_VtxMuL3::tagName, and toGet.

00040 {
00041   
00042   edm::LogInfo("SiStripQualityESProducer") << "produce called" << std::endl;
00043 
00044   quality->clear();
00045 
00046   edm::ESHandle<SiStripBadStrip> obj;
00047   edm::ESHandle<SiStripDetCabling> cabling;
00048 
00049   std::string tagName;  
00050   std::string recordName;
00051   for(Parameters::iterator itToGet = toGet.begin(); itToGet != toGet.end(); ++itToGet ) {
00052     tagName = itToGet->getParameter<std::string>("tag");
00053     recordName = itToGet->getParameter<std::string>("record");
00054 
00055     edm::LogInfo("SiStripQualityESProducer") << "[SiStripQualityESProducer::produce] Getting data from record " << recordName << " with tag " << tagName << std::endl;
00056 
00057     if (recordName=="SiStripBadModuleRcd"){
00058       iRecord.getRecord<SiStripBadModuleRcd>().get(tagName,obj); 
00059       quality->add( obj.product() );    
00060     } else if (recordName=="SiStripBadFiberRcd"){
00061       iRecord.getRecord<SiStripBadFiberRcd>().get(tagName,obj); 
00062       quality->add( obj.product() );    
00063     } else if (recordName=="SiStripBadChannelRcd"){
00064       iRecord.getRecord<SiStripBadChannelRcd>().get(tagName,obj);
00065       quality->add( obj.product() );    
00066     } else if (recordName=="SiStripDetCablingRcd"){
00067       iRecord.getRecord<SiStripDetCablingRcd>().get(tagName,cabling);
00068       quality->add( cabling.product() );    
00069     } else {
00070       edm::LogError("SiStripQualityESProducer") << "[SiStripQualityESProducer::produce] Skipping the requested data for unexisting record " << recordName << " with tag " << tagName << std::endl;
00071       continue;
00072     }
00073   }
00074   
00075   quality->cleanUp();
00076 
00077   if(pset_.getParameter<bool>("ReduceGranularity")){
00078       quality->ReduceGranularity(pset_.getParameter<double>("ThresholdForReducedGranularity"));
00079       quality->cleanUp(true);
00080   }
00081 
00082   quality->fillBadComponents();
00083   
00084   return quality;
00085 }


Member Data Documentation

edm::FileInPath SiStripQualityESProducer::fp_ [private]

Definition at line 31 of file SiStripQualityESProducer.h.

bool SiStripQualityESProducer::MergeList_ [private]

Definition at line 32 of file SiStripQualityESProducer.h.

edm::ParameterSet SiStripQualityESProducer::pset_ [private]

Definition at line 30 of file SiStripQualityESProducer.h.

Referenced by produce().

boost::shared_ptr<SiStripQuality> SiStripQualityESProducer::quality [private]

Definition at line 37 of file SiStripQualityESProducer.h.

Referenced by produce(), and SiStripQualityESProducer().

Parameters SiStripQualityESProducer::toGet [private]

Definition at line 35 of file SiStripQualityESProducer.h.

Referenced by produce().


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