![]() |
![]() |
#include <CondTools/SiStrip/plugins/SiStripBadFiberBuilder.h>
Public Member Functions | |
void | algoAnalyze (const edm::Event &event, const edm::EventSetup &iSetup) |
SiStripBadFiberBuilder (const edm::ParameterSet &) | |
~SiStripBadFiberBuilder () | |
Private Types | |
typedef std::vector < edm::ParameterSet > | Parameters |
Private Member Functions | |
SiStripBadStrip * | getNewObject () |
Private Attributes | |
Parameters | BadComponentList_ |
edm::FileInPath | fp_ |
SiStripBadStrip * | obj |
bool | printdebug_ |
Definition at line 16 of file SiStripBadFiberBuilder.h.
typedef std::vector< edm::ParameterSet > SiStripBadFiberBuilder::Parameters [private] |
Definition at line 34 of file SiStripBadFiberBuilder.h.
SiStripBadFiberBuilder::SiStripBadFiberBuilder | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 9 of file SiStripBadFiberBuilder.cc.
References BadComponentList_, fp_, edm::ParameterSet::getUntrackedParameter(), and printdebug_.
00009 : ConditionDBWriter<SiStripBadStrip>::ConditionDBWriter<SiStripBadStrip>(iConfig){ 00010 00011 edm::LogInfo("SiStripBadFiberBuilder") << " ctor "; 00012 fp_ = iConfig.getUntrackedParameter<edm::FileInPath>("file",edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat")); 00013 printdebug_ = iConfig.getUntrackedParameter<bool>("printDebug",false); 00014 BadComponentList_ = iConfig.getUntrackedParameter<Parameters>("BadComponentList"); 00015 }
SiStripBadFiberBuilder::~SiStripBadFiberBuilder | ( | ) |
Definition at line 18 of file SiStripBadFiberBuilder.cc.
00018 { 00019 edm::LogInfo("SiStripBadFiberBuilder") << " dtor"; 00020 }
void SiStripBadFiberBuilder::algoAnalyze | ( | const edm::Event & | event, | |
const edm::EventSetup & | iSetup | |||
) | [virtual] |
Reimplemented from ConditionDBWriter< SiStripBadStrip >.
Definition at line 22 of file SiStripBadFiberBuilder.cc.
References BadComponentList_, SiStripBadStrip::encode(), lat::endl(), fp_, edm::FileInPath::fullPath(), obj, printdebug_, SiStripBadStrip::put(), range, mergeAndRegister_online::run, and ss.
00022 { 00023 00024 edm::LogInfo("SiStripBadFiberBuilder") <<"SiStripBadFiberBuilder::algoAnalyze called"<<std::endl; 00025 unsigned int run=event.id().run(); 00026 00027 edm::LogInfo("SiStripBadFiberBuilder") << "... creating dummy SiStripBadStrip Data for Run " << run << "\n " << std::endl; 00028 00029 obj = new SiStripBadStrip(); 00030 00031 SiStripDetInfoFileReader reader(fp_.fullPath()); 00032 00033 const std::vector<uint32_t> DetIds = reader.getAllDetIds(); 00034 00035 std::stringstream ss; 00036 for(Parameters::iterator iBadComponent = BadComponentList_.begin(); iBadComponent != BadComponentList_.end(); ++iBadComponent ) { 00037 00038 uint32_t BadModule_ = iBadComponent->getParameter<uint32_t>("BadModule"); 00039 std::vector<uint32_t> BadApvList_ = iBadComponent->getParameter<std::vector<uint32_t> >("BadApvList"); 00040 00041 std::vector<unsigned int> theSiStripVector; 00042 00043 unsigned short firstBadStrip=0, NconsecutiveBadStrips=0; 00044 unsigned int theBadStripRange; 00045 00046 for(std::vector<uint32_t>::const_iterator is=BadApvList_.begin(); is!=BadApvList_.end(); ++is){ 00047 00048 firstBadStrip=(*is)*128; 00049 NconsecutiveBadStrips=128; 00050 00051 theBadStripRange = obj->encode(firstBadStrip,NconsecutiveBadStrips); 00052 00053 if (printdebug_) 00054 ss << "detid " << BadModule_ << " \t" 00055 << " firstBadStrip " << firstBadStrip << "\t " 00056 << " NconsecutiveBadStrips " << NconsecutiveBadStrips << "\t " 00057 << " packed integer " << std::hex << theBadStripRange << std::dec 00058 << std::endl; 00059 00060 theSiStripVector.push_back(theBadStripRange); 00061 } 00062 00063 SiStripBadStrip::Range range(theSiStripVector.begin(),theSiStripVector.end()); 00064 if ( ! obj->put(BadModule_,range) ) 00065 edm::LogError("SiStripBadFiberBuilder")<<"[SiStripBadFiberBuilder::analyze] detid already exists"<<std::endl; 00066 } 00067 if (printdebug_) 00068 edm::LogInfo("SiStripBadFiberBuilder") << ss.str(); 00069 }
SiStripBadStrip* SiStripBadFiberBuilder::getNewObject | ( | ) | [inline, private, virtual] |
Implements ConditionDBWriter< SiStripBadStrip >.
Definition at line 27 of file SiStripBadFiberBuilder.h.
References obj.
00027 {return obj;}
Definition at line 35 of file SiStripBadFiberBuilder.h.
Referenced by algoAnalyze(), and SiStripBadFiberBuilder().
edm::FileInPath SiStripBadFiberBuilder::fp_ [private] |
Definition at line 30 of file SiStripBadFiberBuilder.h.
Referenced by algoAnalyze(), and SiStripBadFiberBuilder().
SiStripBadStrip* SiStripBadFiberBuilder::obj [private] |
Definition at line 32 of file SiStripBadFiberBuilder.h.
Referenced by algoAnalyze(), and getNewObject().
bool SiStripBadFiberBuilder::printdebug_ [private] |
Definition at line 31 of file SiStripBadFiberBuilder.h.
Referenced by algoAnalyze(), and SiStripBadFiberBuilder().