#include <OnlineDB/SiStripO2O/plugins/newSiStripO2O.h>
Public Member Functions | |
void | analyze (const edm::Event &, const edm::EventSetup &) |
newSiStripO2O (const edm::ParameterSet &iConfig) | |
virtual | ~newSiStripO2O () |
Private Attributes | |
bool | printdebug_ |
bool | UsingDb_ |
Definition at line 49 of file newSiStripO2O.h.
newSiStripO2O::newSiStripO2O | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
newSiStripO2O::~newSiStripO2O | ( | ) | [virtual] |
Definition at line 9 of file newSiStripO2O.cc.
00009 { 00010 edm::LogInfo("newSiStripO2O") << "[newSiStripO2O::~newSiStripO2O]" 00011 << " Destructing object..."; 00012 }
void newSiStripO2O::analyze | ( | const edm::Event & | evt, | |
const edm::EventSetup & | iSetup | |||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 14 of file newSiStripO2O.cc.
References SiStripDetCabling::addActiveDetectorsRawIds(), SiStripCondObjBuilderFromDb::buildCondObj(), GenMuonPlsPt100GeV_cfg::cout, lat::endl(), SiStripPedestals::getDetIds(), SiStripNoises::getDetIds(), SiStripCondObjBuilderFromDb::getFedCabling(), SiStripNoises::getNoise(), SiStripCondObjBuilderFromDb::getNoises(), SiStripPedestals::getPed(), SiStripCondObjBuilderFromDb::getPedestals(), SiStripCondObjBuilderFromDb::getQuality(), SiStripPedestals::getRange(), SiStripNoises::getRange(), SiStripCondObjBuilderFromDb::getThreshold(), edm::Event::id(), edm::Service< T >::isAvailable(), edm::isDebugEnabled(), LogTrace, VarParsing::obj, range, mergeAndRegister_online::run, strip(), and UsingDb_.
00014 { 00015 00016 unsigned int run=evt.id().run(); 00017 std::cout << "RunNb " << run << std::endl; 00018 00019 SiStripCondObjBuilderFromDb condObjBuilder; 00020 00021 condObjBuilder.buildCondObj(); 00022 00023 00024 SiStripFedCabling *cabling_cpy = condObjBuilder.getFedCabling(); 00025 00026 SiStripDetCabling* det_cabling=new SiStripDetCabling(*cabling_cpy); 00027 00028 SiStripPedestals *ped_cpy = condObjBuilder.getPedestals(); 00029 SiStripPedestals *ped = condObjBuilder.getPedestals(); 00030 00031 SiStripNoises *noise_cpy = condObjBuilder.getNoises(); 00032 SiStripNoises *noise = condObjBuilder.getNoises(); 00033 00034 00035 vector<uint32_t> det_ids; 00036 det_cabling->addActiveDetectorsRawIds(det_ids); 00037 if ( det_ids.empty() ) { 00038 edm::LogWarning("SiStripO2O") 00039 << "detids vetor empty"; 00040 } 00041 edm::LogInfo("SiStripO2O") << " Cabling Found " << det_ids.size() << " active DetIds"; 00042 if (edm::isDebugEnabled()){ 00043 // Iterate through active DetIds 00044 vector<uint32_t>::const_iterator det_id = det_ids.begin(); 00045 for ( ; det_id != det_ids.end(); det_id++ ) { 00046 LogTrace("SiStripO2O") << " mySiStripO2O detid " << *det_id << std::endl; 00047 } 00048 } 00049 00050 det_ids.clear(); 00051 SiStripDetCabling det_cabling_cpy( *cabling_cpy ); 00052 det_cabling_cpy.addActiveDetectorsRawIds(det_ids); 00053 if ( det_ids.empty() ) { 00054 edm::LogWarning("SiStripO2O") 00055 << "detids vetor empty"; 00056 } 00057 edm::LogInfo("SiStripO2O") << " Cabling_cpy Found " << det_ids.size() << " active DetIds"; 00058 if (edm::isDebugEnabled()){ 00059 // Iterate through active DetIds 00060 vector<uint32_t>::const_iterator det_id = det_ids.begin(); 00061 for ( ; det_id != det_ids.end(); det_id++ ) { 00062 LogTrace("SiStripO2O") << " cabling_cpy detid " << *det_id << std::endl; 00063 } 00064 } 00065 00066 //COPY NOISE 00067 00068 00069 std::vector<uint32_t> ndetid; 00070 noise->getDetIds(ndetid); 00071 edm::LogInfo("SiStripO2O") << " Noise Found " << ndetid.size() << " DetIds"; 00072 for (size_t id=0;id<ndetid.size();id++){ 00073 SiStripNoises::Range range=noise->getRange(ndetid[id]); 00074 00075 if (edm::isDebugEnabled()){ 00076 int strip=0; 00077 LogTrace("SiStripO2O") << "NOISE detid " << ndetid[id] << " \t" 00078 << " strip " << strip << " \t" 00079 << noise->getNoise(strip,range) << " \t" 00080 //<< noise->getDisable(strip,range) << " \t" 00081 << std::endl; 00082 } 00083 } 00084 00085 //COPY PED 00086 std::vector<uint32_t> pdetid; 00087 ped->getDetIds(pdetid); 00088 edm::LogInfo("SiStripO2O") << " Peds Found " << pdetid.size() << " DetIds"; 00089 for (size_t id=0;id<pdetid.size();id++){ 00090 SiStripPedestals::Range range=ped->getRange(pdetid[id]); 00091 if (edm::isDebugEnabled()){ 00092 int strip=0; 00093 LogTrace("SiStripO2O") << "PED detid " << pdetid[id] << " \t" 00094 << " strip " << strip << " \t" 00095 << ped->getPed (strip,range) << " \t" 00096 << std::endl; 00097 } 00098 } 00099 00100 //End now write data in DB 00101 if(UsingDb_){ 00102 edm::LogInfo("SiStripO2O") << "calling PoolDBOutputService" << std::endl; 00103 edm::Service<cond::service::PoolDBOutputService> mydbservice; 00104 00105 if( mydbservice.isAvailable() ){ 00106 00107 if( mydbservice->isNewTagRequest("SiStripPedestalsRcd") ){ 00108 edm::LogInfo("SiStripO2O") << "new tag requested for SiStripPedestalsRcd" << std::endl; 00109 mydbservice->createNewIOV<SiStripPedestals>(ped_cpy,mydbservice->beginOfTime(),mydbservice->endOfTime(),"SiStripPedestalsRcd"); 00110 } else { 00111 edm::LogInfo("SiStripO2O") << "append to existing tag for SiStripPedestalsRcd" << std::endl; 00112 mydbservice->appendSinceTime<SiStripPedestals>(ped_cpy,mydbservice->currentTime(),"SiStripPedestalsRcd"); 00113 } 00114 00115 if( mydbservice->isNewTagRequest("SiStripNoisesRcd") ){ 00116 edm::LogInfo("SiStripO2O") << "new tag requested for SiStripNoisesRcd" << std::endl; 00117 mydbservice->createNewIOV<SiStripNoises>(noise_cpy,mydbservice->beginOfTime(),mydbservice->endOfTime(),"SiStripNoisesRcd"); 00118 } else { 00119 edm::LogInfo("SiStripO2O") << "append to existing tag for SiStripNoisesRcd" << std::endl; 00120 mydbservice->appendSinceTime<SiStripNoises>(noise_cpy,mydbservice->currentTime(),"SiStripNoisesRcd"); 00121 } 00122 00123 if( mydbservice->isNewTagRequest("SiStripFedCablingRcd") ){ 00124 edm::LogInfo("SiStripO2O") << "new tag requested for SiStripFedCablingRcd" << std::endl; 00125 mydbservice->createNewIOV<SiStripFedCabling>(cabling_cpy,mydbservice->beginOfTime(),mydbservice->endOfTime(),"SiStripFedCablingRcd"); 00126 } else { 00127 edm::LogInfo("SiStripO2O") << "append to existing tag for SiStripFedCablingRcd" << std::endl; 00128 mydbservice->appendSinceTime<SiStripFedCabling>(cabling_cpy,mydbservice->currentTime(),"SiStripFedCablingRcd"); 00129 } 00130 00131 if( mydbservice->isNewTagRequest("SiStripThresholdRcd") ){ 00132 edm::LogInfo("SiStripO2O") << "new tag requested for SiStripThresholdRcd" << std::endl; 00133 mydbservice->createNewIOV<SiStripThreshold>(condObjBuilder.getThreshold(),mydbservice->beginOfTime(),mydbservice->endOfTime(),"SiStripThresholdRcd"); 00134 } else { 00135 edm::LogInfo("SiStripO2O") << "append to existing tag for SiStripThresholdRcd" << std::endl; 00136 mydbservice->appendSinceTime<SiStripThreshold>(condObjBuilder.getThreshold(),mydbservice->currentTime(),"SiStripThresholdRcd"); 00137 } 00138 00139 SiStripQuality qobj=SiStripQuality(*(condObjBuilder.getQuality())); 00140 SiStripBadStrip* obj= new SiStripBadStrip(qobj); 00141 if( mydbservice->isNewTagRequest("SiStripBadStripRcd") ){ 00142 edm::LogInfo("SiStripO2O") << "new tag requested for SiStripBadStripRcd" << std::endl; 00143 mydbservice->createNewIOV<SiStripBadStrip>(obj,mydbservice->beginOfTime(),mydbservice->endOfTime(),"SiStripBadStripRcd"); 00144 } else { 00145 edm::LogInfo("SiStripO2O") << "append to existing tag for SiStripBadStripRcd" << std::endl; 00146 mydbservice->appendSinceTime<SiStripBadStrip>(obj,mydbservice->currentTime(),"SiStripBadStripRcd"); 00147 } 00148 00149 //edm::LogInfo("SiStripO2O") << " finished to upload data " << std::endl; 00150 }else{ 00151 edm::LogError("newSiStripO2O")<<"Service is unavailable"<<std::endl; 00152 } 00153 } 00154 }
bool newSiStripO2O::printdebug_ [private] |
Definition at line 61 of file newSiStripO2O.h.
bool newSiStripO2O::UsingDb_ [private] |