20 std::istringstream
iss ;
25 gzf = gzopen(file,
"rb") ;
46 {
return ((
eof==
true)?((
void*)0):
iss) ; }
52 while ((gis)&&(!(gis.
iss>>var)))
63 dbFilename_(iConfig.getUntrackedParameter<std::string>(
"DatabaseFile",
""))
100 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
104 item.
mean_x6 = (it->second)[3] ;
105 item.
mean_x1 = (it->second)[6] ;
106 prod->setValue(it->first,item) ;
115 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
119 item.
mult_x6 = (it->second)[4] ;
120 item.
mult_x1 = (it->second)[7] ;
124 prod->setValue(it->first,item) ;
133 for (
int subdet=0 ; subdet<2 ; subdet++) {
134 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
136 prod->setValue(it->first,(it->second)[0]) ;
147 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
149 fg.
setValues((it->second)[0], (it->second)[1], (it->second)[2], (it->second)[3], (it->second)[4]) ;
150 prod->setValue(it->first,fg) ;
159 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
163 item.
lut = (it->second)[3] ;
164 prod->setValue(it->first,item) ;
173 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
175 prod->setValue(it->first,(it->second)[1]) ;
185 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
187 unsigned int lutArray[1024] ;
188 for (
int i=0 ;
i <1024 ;
i++) lutArray[
i] = (it->second)[
i] ;
190 prod->setValue(it->first,lut) ;
200 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
207 prod->setValue(it->first,weights) ;
216 for (
int subdet=0 ; subdet<2 ; subdet++) {
217 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
219 prod->setValue(it->first,(it->second)[1]) ;
229 for (
int subdet=0 ; subdet<2 ; subdet++) {
230 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
232 prod->setValue(it->first,(it->second)[0]) ;
242 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
244 prod->setValue(it->first,(it->second)[1]) ;
253 std::map<uint32_t, std::vector<float> >::const_iterator it ;
256 item.
EtSat = (it->second)[0] ;
263 prod->setValue(it->first,item) ;
272 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
277 prod->setValue(it->first,badXValue) ;
287 std::map<uint32_t, std::vector<uint32_t> >::const_iterator it ;
291 prod->setValue(it->first,0) ;
296 prod->setValue(it->first,0) ;
307 std::string dataCard ;
310 std::vector<unsigned int> param ;
311 std::vector<float> paramF ;
312 int NBstripparams[2] = {2, 4} ;
316 std::string bufString;
320 std::string finalFileName ;
324 finalFileName = fileInPath.
fullPath() ;
328 edm::LogWarning(
"EcalTPG") <<
"Couldnt find database file via fileinpath, trying with pathname directly!!";
333 while (gis>>dataCard) {
335 if (dataCard ==
"PHYSICS_EB" || dataCard ==
"PHYSICS_EE") {
339 for (
int i=0 ;
i <7 ;
i++) {
340 gis>>std::dec>>dataF ;
341 paramF.push_back(dataF) ;
348 if (dataCard ==
"CRYSTAL") {
352 for (
int i=0 ;
i <9 ;
i++) {
353 gis>>std::hex>>
data ;
355 param.push_back(data) ;
361 if (dataCard ==
"STRIP_EB") {
365 for (
int i=0 ;
i <NBstripparams[0] ;
i++) {
366 gis>>std::hex>>
data ;
368 param.push_back(data) ;
374 if (dataCard ==
"STRIP_EE") {
378 for (
int i=0 ;
i <NBstripparams[1] ;
i++) {
379 gis>>std::hex>>
data ;
381 param.push_back(data) ;
387 if (dataCard ==
"TOWER_EB" || dataCard ==
"TOWER_EE") {
391 for (
int i=0 ;
i <2 ;
i++) {
392 gis>>std::hex>>
data ;
394 param.push_back(data) ;
397 if (dataCard ==
"TOWER_EB")
mapTower_[0][
id] = param ;
398 if (dataCard ==
"TOWER_EE")
mapTower_[1][
id] = param ;
401 if (dataCard ==
"WEIGHT") {
405 for (
int i=0 ;
i <5 ;
i++) {
406 gis>>std::hex>>
data ;
408 param.push_back(data) ;
414 if (dataCard ==
"FG") {
418 for (
int i=0 ;
i <5 ;
i++) {
419 gis>>std::hex>>
data ;
421 param.push_back(data) ;
427 if (dataCard ==
"LUT") {
431 for (
int i=0 ;
i <1024 ;
i++) {
432 gis>>std::hex>>
data ;
434 param.push_back(data) ;
444 std::vector<int> range ;
447 range.push_back(37) ;
448 range.push_back(73) ;
450 range.push_back(69) ;
458 range.push_back(73) ;
459 range.push_back(109) ;
462 range.push_back(37) ;
465 range.push_back(29) ;
476 if (towerNbInTcc>0) {
477 range[2] = towerNbInTcc ;
478 range[3] = towerNbInTcc+1 ;
480 if (stripNbInTower>0) {
481 range[4] = stripNbInTower ;
482 range[5] = stripNbInTower+1 ;
484 if (xtalNbInStrip>0) {
485 range[6] = xtalNbInStrip ;
486 range[7] = xtalNbInStrip+1 ;
std::vector< int > getRange(int subdet, int smNb, int towerNbInSm, int stripNbInTower=0, int xtalNbInStrip=0)
std::auto_ptr< EcalTPGLutGroup > produceLutGroup(const EcalTPGLutGroupRcd &)
void setValues(const uint32_t &ThresholdETLow, const uint32_t &ThresholdETHigh, const uint32_t &RatioLow, const uint32_t &RatioHigh, const uint32_t &LUT)
std::auto_ptr< EcalTPGTowerStatus > produceBadTT(const EcalTPGTowerStatusRcd &)
std::map< uint32_t, std::vector< uint32_t > > mapTower_[2]
void setLut(const unsigned int *lut)
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
void setStatusCode(const uint16_t &val)
std::map< uint32_t, std::vector< uint32_t > > mapXtal_
std::auto_ptr< EcalTPGFineGrainTowerEE > produceFineGrainEEtower(const EcalTPGFineGrainTowerEERcd &)
std::auto_ptr< EcalTPGCrystalStatus > produceBadX(const EcalTPGCrystalStatusRcd &)
EcalTPGCrystalStatusMap EcalTPGCrystalStatus
~EcalTrigPrimESProducer()
std::auto_ptr< EcalTPGFineGrainStripEE > produceFineGrainEEstrip(const EcalTPGFineGrainStripEERcd &)
std::map< uint32_t, std::vector< uint32_t > > mapWeight_
std::auto_ptr< EcalTPGFineGrainEBIdMap > produceFineGrainEB(const EcalTPGFineGrainEBIdMapRcd &)
std::auto_ptr< EcalTPGSlidingWindow > produceSlidingWindow(const EcalTPGSlidingWindowRcd &)
std::auto_ptr< EcalTPGPedestals > producePedestals(const EcalTPGPedestalsRcd &)
EcalTrigPrimESProducer(const edm::ParameterSet &)
std::auto_ptr< EcalTPGLinearizationConst > produceLinearizationConst(const EcalTPGLinearizationConstRcd &)
std::map< uint32_t, std::vector< uint32_t > > mapFg_
std::auto_ptr< EcalTPGLutIdMap > produceLUT(const EcalTPGLutIdMapRcd &)
double ttf_threshold_High
std::istream & operator>>(std::istream &input, CLHEP::HepGenMatrix &matrix)
std::map< uint32_t, std::vector< float > > mapPhys_
std::auto_ptr< EcalTPGWeightGroup > produceWeightGroup(const EcalTPGWeightGroupRcd &)
std::string fullPath() const
void setValues(const uint32_t &w0, const uint32_t &w1, const uint32_t &w2, const uint32_t &w3, const uint32_t &w4)
std::map< uint32_t, std::vector< uint32_t > > mapLut_
EcalTPGPedestalsMap EcalTPGPedestals
std::auto_ptr< EcalTPGPhysicsConst > producePhysicsConst(const EcalTPGPhysicsConstRcd &)
std::auto_ptr< EcalTPGFineGrainEBGroup > produceFineGrainEBGroup(const EcalTPGFineGrainEBGroupRcd &)
std::auto_ptr< EcalTPGWeightIdMap > produceWeight(const EcalTPGWeightIdMapRcd &)
std::map< uint32_t, std::vector< uint32_t > > mapStrip_[2]
EcalTPGLinearizationConstMap EcalTPGLinearizationConst