#include <CalibTracker/SiStripESProducers/plugins/real/SiStripQualityESProducer.cc>
Public Member Functions | |
boost::shared_ptr< SiStripQuality > | produce (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< SiStripQuality > | quality |
Parameters | toGet |
Implementation: <Notes on="" implementation>="">
Definition at line 21 of file SiStripQualityESProducer.h.
typedef std::vector< edm::ParameterSet > SiStripQualityESProducer::Parameters [private] |
Definition at line 34 of file SiStripQualityESProducer.h.
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] |
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 }
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.
boost::shared_ptr<SiStripQuality> SiStripQualityESProducer::quality [private] |
Definition at line 37 of file SiStripQualityESProducer.h.
Referenced by produce(), and SiStripQualityESProducer().
Parameters SiStripQualityESProducer::toGet [private] |