#include <SiStripApvGainBuilder.h>
Public Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
SiStripApvGainBuilder (const edm::ParameterSet &iConfig) | |
~SiStripApvGainBuilder () | |
Private Attributes | |
edm::FileInPath | fp_ |
bool | printdebug_ |
Definition at line 17 of file SiStripApvGainBuilder.h.
SiStripApvGainBuilder::SiStripApvGainBuilder | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 6 of file SiStripApvGainBuilder.cc.
: fp_(iConfig.getUntrackedParameter<edm::FileInPath>("file",edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"))), printdebug_(iConfig.getUntrackedParameter<uint32_t>("printDebug",1)){}
SiStripApvGainBuilder::~SiStripApvGainBuilder | ( | ) | [inline] |
Definition at line 23 of file SiStripApvGainBuilder.h.
{};
void SiStripApvGainBuilder::analyze | ( | const edm::Event & | evt, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 10 of file SiStripApvGainBuilder.cc.
References prof2calltree::count, fp_, edm::FileInPath::fullPath(), SiStripDetInfoFileReader::getAllData(), edm::EventBase::id(), edm::Service< T >::isAvailable(), j, VarParsing::obj, printdebug_, SiStripApvGain::put(), edm::EventID::run(), and DTTTrigCorrFirst::run.
{ unsigned int run=evt.id().run(); edm::LogInfo("SiStripApvGainBuilder") << "... creating dummy SiStripApvGain Data for Run " << run << "\n " << std::endl; SiStripApvGain* obj = new SiStripApvGain(); SiStripDetInfoFileReader reader(fp_.fullPath()); const std::map<uint32_t, SiStripDetInfoFileReader::DetInfo > DetInfos = reader.getAllData(); int count=-1; for(std::map<uint32_t, SiStripDetInfoFileReader::DetInfo >::const_iterator it = DetInfos.begin(); it != DetInfos.end(); it++){ count++; //Generate Gain for det detid std::vector<float> theSiStripVector; for(unsigned short j=0; j<it->second.nApvs; j++){ float gain= (j+1)*1000+ (CLHEP::RandFlat::shoot(1.)*100); if (count<printdebug_) edm::LogInfo("SiStripApvGainBuilder") << "detid " << it->first << " \t" << " apv " << j << " \t" << gain << " \t" << std::endl; theSiStripVector.push_back(gain); } SiStripApvGain::Range range(theSiStripVector.begin(),theSiStripVector.end()); if ( ! obj->put(it->first,range) ) edm::LogError("SiStripApvGainBuilder")<<"[SiStripApvGainBuilder::analyze] detid already exists"<<std::endl; } //End now write sistripnoises data in DB edm::Service<cond::service::PoolDBOutputService> mydbservice; if( mydbservice.isAvailable() ){ if( mydbservice->isNewTagRequest("SiStripApvGainRcd") ){ mydbservice->createNewIOV<SiStripApvGain>(obj,mydbservice->beginOfTime(),mydbservice->endOfTime(),"SiStripApvGainRcd"); } else { mydbservice->appendSinceTime<SiStripApvGain>(obj,mydbservice->currentTime(),"SiStripApvGainRcd"); } }else{ edm::LogError("SiStripApvGainBuilder")<<"Service is unavailable"<<std::endl; } }
edm::FileInPath SiStripApvGainBuilder::fp_ [private] |
Definition at line 28 of file SiStripApvGainBuilder.h.
Referenced by analyze().
bool SiStripApvGainBuilder::printdebug_ [private] |
Definition at line 29 of file SiStripApvGainBuilder.h.
Referenced by analyze().