CMS 3D CMS Logo

Classes | Functions
CastorDbASCIIIO Namespace Reference

Classes

class  CastorElectronicsIdLess
 
class  DetIdLess
 

Functions

template<class T >
bool dumpCastorObject (std::ostream &fOutput, const T &fObject)
 
template<class T >
bool dumpCastorSingleFloatObject (std::ostream &fOutput, const T &fObject)
 
template<class T >
bool dumpCastorSingleIntObject (std::ostream &fOutput, const T &fObject)
 
void dumpId (std::ostream &fOutput, DetId id)
 
bool dumpObject (std::ostream &fOutput, const CastorPedestals &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorPedestalWidths &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorGains &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorGainWidths &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorQIEData &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorCalibrationQIEData &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorElectronicsMap &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorChannelQuality &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorRecoParams &fObject)
 
bool dumpObject (std::ostream &fOutput, const CastorSaturationCorrs &fObject)
 
template<class S , class T >
bool getCastorObject (std::istream &fInput, T &fObject)
 
template<class S , class T >
bool getCastorSingleFloatObject (std::istream &fInput, T &fObject)
 
template<class S , class T >
bool getCastorSingleIntObject (std::istream &fInput, T &fObject, S *fCondObject)
 
DetId getId (const std::vector< std::string > &items)
 
bool getObject (std::istream &fInput, CastorPedestals &fObject)
 
bool getObject (std::istream &fInput, CastorPedestalWidths &fObject)
 
bool getObject (std::istream &fInput, CastorGains &fObject)
 
bool getObject (std::istream &fInput, CastorGainWidths &fObject)
 
bool getObject (std::istream &fInput, CastorQIEData &fObject)
 
bool getObject (std::istream &fInput, CastorCalibrationQIEData &fObject)
 
bool getObject (std::istream &fInput, CastorElectronicsMap &fObject)
 
bool getObject (std::istream &fInput, CastorChannelQuality &fObject)
 
bool getObject (std::istream &fInput, CastorRecoParams &fObject)
 
bool getObject (std::istream &fInput, CastorSaturationCorrs &fObject)
 
std::vector< std::string > splitString (const std::string &fLine)
 

Function Documentation

template<class T >
bool CastorDbASCIIIO::dumpCastorObject ( std::ostream &  fOutput,
const T fObject 
)

Definition at line 118 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, dumpId(), and MuonErrorMatrixValues_cff::values.

Referenced by dumpObject().

118  {
119  char buffer[1024];
120  sprintf(buffer,
121  "# %15s %15s %15s %15s %8s %8s %8s %8s %10s\n",
122  "eta",
123  "phi",
124  "dep",
125  "det",
126  "cap0",
127  "cap1",
128  "cap2",
129  "cap3",
130  "DetId");
131  fOutput << buffer;
132  std::vector<DetId> channels = fObject.getAllChannels();
133  //std::sort (channels.begin(), channels.end(), DetIdLess ());
134  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
135  const float* values = fObject.getValues(*channel)->getValues();
136  if (values) {
137  dumpId(fOutput, *channel);
138  sprintf(
139  buffer, " %8.5f %8.5f %8.5f %8.5f %10X\n", values[0], values[1], values[2], values[3], channel->rawId());
140  fOutput << buffer;
141  }
142  }
143  return true;
144  }
void dumpId(std::ostream &fOutput, DetId id)
template<class T >
bool CastorDbASCIIIO::dumpCastorSingleFloatObject ( std::ostream &  fOutput,
const T fObject 
)

Definition at line 174 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, and dumpId().

Referenced by dumpObject().

174  {
175  char buffer[1024];
176  sprintf(buffer, "# %15s %15s %15s %15s %8s %10s\n", "eta", "phi", "dep", "det", "value", "DetId");
177  fOutput << buffer;
178  std::vector<DetId> channels = fObject.getAllChannels();
179  std::sort(channels.begin(), channels.end(), DetIdLess());
180  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
181  const float value = fObject.getValues(*channel)->getValue();
182  dumpId(fOutput, *channel);
183  sprintf(buffer, " %8.5f %10X\n", value, channel->rawId());
184  fOutput << buffer;
185  }
186  return true;
187  }
void dumpId(std::ostream &fOutput, DetId id)
Definition: value.py:1
template<class T >
bool CastorDbASCIIIO::dumpCastorSingleIntObject ( std::ostream &  fOutput,
const T fObject 
)

Definition at line 218 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, and dumpId().

218  {
219  char buffer[1024];
220  sprintf(buffer, "# %15s %15s %15s %15s %8s %10s\n", "eta", "phi", "dep", "det", "value", "DetId");
221  fOutput << buffer;
222  std::vector<DetId> channels = fObject.getAllChannels();
223  std::sort(channels.begin(), channels.end(), DetIdLess());
224  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
225  const int value = fObject.getValues(*channel)->getValue();
226  dumpId(fOutput, *channel);
227  sprintf(buffer, " %15d %10X\n", value, channel->rawId());
228  fOutput << buffer;
229  }
230  return true;
231  }
void dumpId(std::ostream &fOutput, DetId id)
Definition: value.py:1
void CastorDbASCIIIO::dumpId ( std::ostream &  fOutput,
DetId  id 
)
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorPedestals fObject 
)

Definition at line 323 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, dumpId(), CastorCondObjectContainer< Item >::getAllChannels(), CastorPedestal::getValues(), CastorCondObjectContainer< Item >::getValues(), CastorPedestals::isADC(), and MuonErrorMatrixValues_cff::values.

Referenced by CastorDumpConditions::dumpIt(), HcalDbXml::dumpObject(), CastorDbXml::dumpObject(), CastorDbProducer::setupChannelQuality(), CastorDbProducer::setupElectronicsMap(), CastorDbProducer::setupGains(), CastorDbProducer::setupGainWidths(), CastorDbProducer::setupPedestals(), CastorDbProducer::setupPedestalWidths(), CastorDbProducer::setupQIEData(), and CastorPedestalsAnalysis::~CastorPedestalsAnalysis().

323  {
324  char buffer[1024];
325  if (fObject.isADC())
326  sprintf(buffer, "#U ADC << this is the unit \n");
327  else
328  sprintf(buffer, "#U fC << this is the unit \n");
329  fOutput << buffer;
330 
331  sprintf(buffer,
332  "# %15s %15s %15s %15s %8s %8s %8s %8s %8s %8s %8s %8s %10s\n",
333  "eta",
334  "phi",
335  "dep",
336  "det",
337  "cap0",
338  "cap1",
339  "cap2",
340  "cap3",
341  "widthcap0",
342  "widthcap1",
343  "widthcap2",
344  "widthcap3",
345  "DetId");
346  fOutput << buffer;
347 
348  std::vector<DetId> channels = fObject.getAllChannels();
349  std::sort(channels.begin(), channels.end(), DetIdLess());
350  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
351  const float* values = fObject.getValues(*channel)->getValues();
352  if (values) {
353  dumpId(fOutput, *channel);
354  sprintf(buffer,
355  " %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %10X\n",
356  values[0],
357  values[1],
358  values[2],
359  values[3],
360  values[4],
361  values[5],
362  values[6],
363  values[7],
364  channel->rawId());
365  fOutput << buffer;
366  }
367  }
368  return true;
369  }
std::vector< DetId > getAllChannels() const
void dumpId(std::ostream &fOutput, DetId id)
const Item * getValues(DetId fId, bool throwOnFail=true) const
bool isADC() const
const float * getValues() const
get value for all capId = 0..3
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorPedestalWidths fObject 
)

Definition at line 524 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, dumpId(), CastorCondObjectContainer< Item >::getAllChannels(), CastorPedestalWidth::getSigma(), CastorCondObjectContainer< Item >::getValues(), and CastorPedestalWidths::isADC().

524  {
525  char buffer[1024];
526  if (fObject.isADC())
527  sprintf(buffer, "#U ADC << this is the unit \n");
528  else
529  sprintf(buffer, "#U fC << this is the unit \n");
530  fOutput << buffer;
531 
532  sprintf(buffer,
533  "# %15s %15s %15s %15s %8s %8s %8s %8s %8s %8s %8s %8s %8s %8s %8s %8s %8s %8s %8s %8s %10s\n",
534  "eta",
535  "phi",
536  "dep",
537  "det",
538  "cov_0_0",
539  "cov_0_1",
540  "cov_0_2",
541  "cov_0_3",
542  "cov_1_0",
543  "cov_1_1",
544  "cov_1_2",
545  "cov_1_3",
546  "cov_2_0",
547  "cov_2_1",
548  "cov_2_2",
549  "cov_2_3",
550  "cov_3_0",
551  "cov_3_1",
552  "cov_3_2",
553  "cov_3_3",
554  "DetId");
555  fOutput << buffer;
556  std::vector<DetId> channels = fObject.getAllChannels();
557  std::sort(channels.begin(), channels.end(), DetIdLess());
558  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
559  const CastorPedestalWidth* item = fObject.getValues(*channel);
560  if (item) {
561  dumpId(fOutput, *channel);
562  sprintf(
563  buffer,
564  " %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %10X\n",
565  item->getSigma(0, 0),
566  item->getSigma(0, 1),
567  item->getSigma(0, 2),
568  item->getSigma(0, 3),
569  item->getSigma(1, 0),
570  item->getSigma(1, 1),
571  item->getSigma(1, 2),
572  item->getSigma(1, 3),
573  item->getSigma(2, 0),
574  item->getSigma(2, 1),
575  item->getSigma(2, 2),
576  item->getSigma(2, 3),
577  item->getSigma(3, 0),
578  item->getSigma(3, 1),
579  item->getSigma(3, 2),
580  item->getSigma(3, 3),
581  channel->rawId());
582  fOutput << buffer;
583  }
584  }
585  return true;
586  }
std::vector< DetId > getAllChannels() const
void dumpId(std::ostream &fOutput, DetId id)
const Item * getValues(DetId fId, bool throwOnFail=true) const
float getSigma(int fCapId1, int fCapId2) const
get correlation element for capId1/2 = 0..3
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorGains fObject 
)

Definition at line 234 of file CastorDbASCIIIO.cc.

References dumpCastorObject().

234 { return dumpCastorObject(fOutput, fObject); }
bool dumpCastorObject(std::ostream &fOutput, const T &fObject)
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorGainWidths fObject 
)

Definition at line 238 of file CastorDbASCIIIO.cc.

References dumpCastorObject().

238 { return dumpCastorObject(fOutput, fObject); }
bool dumpCastorObject(std::ostream &fOutput, const T &fObject)
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorQIEData fObject 
)

Definition at line 643 of file CastorDbASCIIIO.cc.

References stringResolutionProvider_cfi::bin, edmScanValgrind::buffer, dumpId(), CastorCondObjectContainer< Item >::getAllChannels(), CastorQIEData::getCoder(), CastorQIEData::getShape(), CastorQIEShape::lowEdge(), CastorQIECoder::offset(), and CastorQIECoder::slope().

643  {
644  char buffer[1024];
645  fOutput << "# QIE basic shape: SHAPE 32 x low edge values for first 32 channels" << std::endl;
646  sprintf(buffer, "SHAPE ");
647  fOutput << buffer;
648  for (unsigned bin = 0; bin < 32; bin++) {
649  sprintf(buffer, " %8.5f", fObject.getShape().lowEdge(bin));
650  fOutput << buffer;
651  }
652  fOutput << std::endl;
653 
654  fOutput << "# QIE data" << std::endl;
655  sprintf(buffer,
656  "# %15s %15s %15s %15s %36s %36s %36s %36s %36s %36s %36s %36s\n",
657  "eta",
658  "phi",
659  "dep",
660  "det",
661  "4 x offsets cap0",
662  "4 x offsets cap1",
663  "4 x offsets cap2",
664  "4 x offsets cap3",
665  "4 x slopes cap0",
666  "4 x slopes cap1",
667  "4 x slopes cap2",
668  "4 x slopes cap3");
669  fOutput << buffer;
670  std::vector<DetId> channels = fObject.getAllChannels();
671  std::sort(channels.begin(), channels.end(), DetIdLess());
672  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
673  const CastorQIECoder* coder = fObject.getCoder(*channel);
674  dumpId(fOutput, *channel);
675  for (unsigned capid = 0; capid < 4; capid++) {
676  for (unsigned range = 0; range < 4; range++) {
677  sprintf(buffer, " %8.5f", coder->offset(capid, range));
678  fOutput << buffer;
679  }
680  }
681  for (unsigned capid = 0; capid < 4; capid++) {
682  for (unsigned range = 0; range < 4; range++) {
683  sprintf(buffer, " %8.5f", coder->slope(capid, range));
684  fOutput << buffer;
685  }
686  }
687  fOutput << std::endl;
688  }
689  return true;
690  }
const CastorQIEShape & getShape() const
get basic shape
Definition: CastorQIEData.h:36
std::vector< DetId > getAllChannels() const
void dumpId(std::ostream &fOutput, DetId id)
bin
set the eta bin as selection string.
const CastorQIECoder * getCoder(DetId fId) const
get QIE parameters
Definition: CastorQIEData.h:38
float offset(unsigned fCapId, unsigned fRange) const
float lowEdge(unsigned fAdc) const
float slope(unsigned fCapId, unsigned fRange) const
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorCalibrationQIEData fObject 
)

Definition at line 726 of file CastorDbASCIIIO.cc.

References stringResolutionProvider_cfi::bin, edmScanValgrind::buffer, dumpId(), CastorCondObjectContainer< Item >::getAllChannels(), CastorCalibrationQIEData::getCoder(), and CastorCalibrationQIECoder::minCharges().

726  {
727  char buffer[1024];
728  fOutput << "# QIE data in calibration mode" << std::endl;
729  sprintf(buffer, "# %15s %15s %15s %15s %288s\n", "eta", "phi", "dep", "det", "32 x charges");
730  fOutput << buffer;
731  std::vector<DetId> channels = fObject.getAllChannels();
732  std::sort(channels.begin(), channels.end(), DetIdLess());
733  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
734  const CastorCalibrationQIECoder* coder = fObject.getCoder(*channel);
735  if (coder) {
736  dumpId(fOutput, *channel);
737  const float* lowEdge = coder->minCharges();
738  for (unsigned bin = 0; bin < 32; bin++) {
739  sprintf(buffer, " %8.5f", lowEdge[bin]);
740  fOutput << buffer;
741  }
742  fOutput << std::endl;
743  }
744  }
745  return true;
746  }
std::vector< DetId > getAllChannels() const
const CastorCalibrationQIECoder * getCoder(DetId fId) const
get QIE parameters
void dumpId(std::ostream &fOutput, DetId id)
bin
set the eta bin as selection string.
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorElectronicsMap fObject 
)

Definition at line 821 of file CastorDbASCIIIO.cc.

References CastorElectronicsMap::allElectronicsId(), CastorElectronicsId::dccid(), runTauDisplay::eid, CastorElectronicsId::fiberChanId(), CastorElectronicsId::fiberIndex(), CastorText2DetIdConverter::getField1(), CastorText2DetIdConverter::getField2(), CastorText2DetIdConverter::getField3(), CastorText2DetIdConverter::getFlavor(), CastorText2DetIdConverter::getId(), CastorElectronicsId::htrSlot(), CastorElectronicsId::htrTopBottom(), mps_fire::i, CastorElectronicsId::isTriggerChainId(), CastorElectronicsMap::lookup(), CastorElectronicsMap::lookupTrigger(), DetId::rawId(), CastorElectronicsId::readoutVMECrateId(), CastorElectronicsId::slbChannelIndex(), CastorElectronicsId::slbSiteNumber(), and CastorElectronicsId::spigot().

821  {
822  std::vector<CastorElectronicsId> eids = fObject.allElectronicsId();
823  char buf[1024];
824  // changes by Jared, 6.03.09/(included 25.03.09)
825  // sprintf (buf, "#%10s %6s %6s %6s %6s %6s %6s %6s %15s %15s %15s %15s",
826  sprintf(buf,
827  "# %7s %3s %3s %3s %4s %7s %10s %14s %7s %5s %5s %6s",
828  "i",
829  "cr",
830  "sl",
831  "tb",
832  "dcc",
833  "spigot",
834  "fiber/slb",
835  "fibcha/slbcha",
836  "subdet",
837  "ieta",
838  "iphi",
839  "depth");
840  fOutput << buf << std::endl;
841 
842  for (unsigned i = 0; i < eids.size(); i++) {
843  CastorElectronicsId eid = eids[i];
844  if (eid.isTriggerChainId()) {
845  DetId trigger = fObject.lookupTrigger(eid);
846  if (trigger.rawId()) {
848  // changes by Jared, 6.03.09/(included 25.03.09)
849  // sprintf (buf, " %10X %6d %6d %6c %6d %6d %6d %6d %15s %15s %15s %15s",
850  sprintf(
851  buf,
852  " %7X %3d %3d %3c %4d %7d %10d %14d %7s %5s %5s %6s",
853  // i,
854  converter.getId().rawId(),
855  // changes by Jared, 6.03.09/(included 25.03.09)
856  // eid.readoutVMECrateId(), eid.htrSlot(), eid.htrTopBottom()>0?'t':'b', eid.dccid(), eid.spigot(), eid.fiberIndex(), eid.fiberChanId(),
857  eid.readoutVMECrateId(),
858  eid.htrSlot(),
859  eid.htrTopBottom() > 0 ? 't' : 'b',
860  eid.dccid(),
861  eid.spigot(),
862  eid.slbSiteNumber(),
863  eid.slbChannelIndex(),
864  converter.getFlavor().c_str(),
865  converter.getField1().c_str(),
866  converter.getField2().c_str(),
867  converter.getField3().c_str());
868  fOutput << buf << std::endl;
869  }
870  } else {
871  DetId channel = fObject.lookup(eid);
872  if (channel.rawId()) {
874  // changes by Jared, 6.03.09/(included 25.03.09)
875  // sprintf (buf, " %10X %6d %6d %6c %6d %6d %6d %6d %15s %15s %15s %15s",
876  sprintf(buf,
877  " %7X %3d %3d %3c %4d %7d %10d %14d %7s %5s %5s %6s",
878  // i,
879  converter.getId().rawId(),
880  eid.readoutVMECrateId(),
881  eid.htrSlot(),
882  eid.htrTopBottom() > 0 ? 't' : 'b',
883  eid.dccid(),
884  eid.spigot(),
885  eid.fiberIndex(),
886  eid.fiberChanId(),
887  converter.getFlavor().c_str(),
888  converter.getField1().c_str(),
889  converter.getField2().c_str(),
890  converter.getField3().c_str());
891  fOutput << buf << std::endl;
892  }
893  }
894  }
895  return true;
896  }
const DetId lookupTrigger(CastorElectronicsId fId) const
brief lookup the trigger logical detid associated with the given electronics id
int readoutVMECrateId() const
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
const DetId lookup(CastorElectronicsId fId) const
lookup the logical detid associated with the given electronics id
bool isTriggerChainId() const
Definition: DetId.h:18
std::vector< CastorElectronicsId > allElectronicsId() const
Readout chain identification for Castor Bits for the readout chain : some names need change! [31:26] ...
int slbChannelIndex() const
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorChannelQuality fObject 
)

Definition at line 412 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, dumpId(), CastorCondObjectContainer< Item >::getAllChannels(), CastorChannelStatus::getValue(), and CastorCondObjectContainer< Item >::getValues().

412  {
413  char buffer[1024];
414  sprintf(buffer, "# %15s %15s %15s %15s %15s %10s\n", "eta", "phi", "dep", "det", "value", "DetId");
415  fOutput << buffer;
416  std::vector<DetId> channels = fObject.getAllChannels();
417  std::sort(channels.begin(), channels.end(), DetIdLess());
418  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
419  const int value = fObject.getValues(*channel)->getValue();
420  dumpId(fOutput, *channel);
421  sprintf(buffer, " %15X %10X\n", value, channel->rawId());
422  fOutput << buffer;
423  }
424  return true;
425  }
std::vector< DetId > getAllChannels() const
void dumpId(std::ostream &fOutput, DetId id)
const Item * getValues(DetId fId, bool throwOnFail=true) const
uint32_t getValue() const
Definition: value.py:1
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorRecoParams fObject 
)

Definition at line 920 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, dumpId(), CastorRecoParam::firstSample(), CastorCondObjectContainer< Item >::getAllChannels(), CastorCondObjectContainer< Item >::getValues(), and CastorRecoParam::samplesToAdd().

920  {
921  char buffer[1024];
922  sprintf(buffer,
923  "# %15s %15s %15s %15s %18s %15s %10s\n",
924  "eta",
925  "phi",
926  "dep",
927  "det",
928  "firstSample",
929  "samplesToAdd",
930  "DetId");
931  fOutput << buffer;
932  std::vector<DetId> channels = fObject.getAllChannels();
933  std::sort(channels.begin(), channels.end(), DetIdLess());
934  for (std::vector<DetId>::iterator channel = channels.begin(); channel != channels.end(); ++channel) {
935  dumpId(fOutput, *channel);
936  sprintf(buffer,
937  " %15d %15d %16X\n",
938  fObject.getValues(*channel)->firstSample(),
939  fObject.getValues(*channel)->samplesToAdd(),
940  channel->rawId());
941  fOutput << buffer;
942  }
943  return true;
944  }
std::vector< DetId > getAllChannels() const
void dumpId(std::ostream &fOutput, DetId id)
const Item * getValues(DetId fId, bool throwOnFail=true) const
unsigned int samplesToAdd() const
unsigned int firstSample() const
bool CastorDbASCIIIO::dumpObject ( std::ostream &  fOutput,
const CastorSaturationCorrs fObject 
)

Definition at line 243 of file CastorDbASCIIIO.cc.

References dumpCastorSingleFloatObject().

243  {
244  return dumpCastorSingleFloatObject(fOutput, fObject);
245  }
bool dumpCastorSingleFloatObject(std::ostream &fOutput, const T &fObject)
template<class S , class T >
bool CastorDbASCIIIO::getCastorObject ( std::istream &  fInput,
T fObject 
)

Definition at line 89 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, getId(), mps_monitormerge::items, splitString(), and AlCaHLTBitMon_QueryRunRegistry::string.

89  {
90  char buffer[1024];
91  while (fInput.getline(buffer, 1024)) {
92  if (buffer[0] == '#')
93  continue; //ignore comment
94  std::vector<std::string> items = splitString(std::string(buffer));
95  if (items.empty())
96  continue; // blank line
97  if (items.size() < 8) {
98  edm::LogWarning("Format Error") << "Bad line: " << buffer
99  << "\n line must contain 8 items: eta, phi, depth, subdet, 4x values"
100  << std::endl;
101  continue;
102  }
103  DetId id = getId(items);
104 
105  // if (fObject->exists(id) )
106  // edm::LogWarning("Redefining Channel") << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
107  // else
108  // {
109  S fCondObject(id, atof(items[4].c_str()), atof(items[5].c_str()), atof(items[6].c_str()), atof(items[7].c_str()));
110  fObject.addValues(fCondObject);
111  // }
112  }
113 
114  return true;
115  }
static unsigned int getId()
std::vector< std::string > splitString(const std::string &fLine)
Definition: DetId.h:18
template<class S , class T >
bool CastorDbASCIIIO::getCastorSingleFloatObject ( std::istream &  fInput,
T fObject 
)

Definition at line 147 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, getId(), mps_monitormerge::items, splitString(), and AlCaHLTBitMon_QueryRunRegistry::string.

147  {
148  char buffer[1024];
149  while (fInput.getline(buffer, 1024)) {
150  if (buffer[0] == '#')
151  continue; //ignore comment
152  std::vector<std::string> items = splitString(std::string(buffer));
153  if (items.empty())
154  continue; // blank line
155  if (items.size() < 5) {
156  edm::LogWarning("Format Error") << "Bad line: " << buffer
157  << "\n line must contain 5 items: eta, phi, depth, subdet, value" << std::endl;
158  continue;
159  }
160  DetId id = getId(items);
161 
162  // if (fObject->exists(id) )
163  // edm::LogWarning("Redefining Channel") << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
164  // else
165  // {
166  S fCondObject(id, atof(items[4].c_str()));
167  fObject.addValues(fCondObject);
168  // }
169  }
170  return true;
171  }
static unsigned int getId()
std::vector< std::string > splitString(const std::string &fLine)
Definition: DetId.h:18
template<class S , class T >
bool CastorDbASCIIIO::getCastorSingleIntObject ( std::istream &  fInput,
T fObject,
S fCondObject 
)

Definition at line 190 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, getId(), mps_monitormerge::items, S(), splitString(), and AlCaHLTBitMon_QueryRunRegistry::string.

190  {
191  char buffer[1024];
192  while (fInput.getline(buffer, 1024)) {
193  if (buffer[0] == '#')
194  continue; //ignore comment
195  std::vector<std::string> items = splitString(std::string(buffer));
196  if (items.empty())
197  continue; // blank line
198  if (items.size() < 5) {
199  edm::LogWarning("Format Error") << "Bad line: " << buffer
200  << "\n line must contain 5 items: eta, phi, depth, subdet, value" << std::endl;
201  continue;
202  }
203  DetId id = getId(items);
204 
205  // if (fObject->exists(id) )
206  // edm::LogWarning("Redefining Channel") << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
207  // else
208  // {
209  fCondObject = new S(id, atoi(items[4].c_str()));
210  fObject.addValues(*fCondObject);
211  delete fCondObject;
212  // }
213  }
214  return true;
215  }
static unsigned int getId()
std::vector< std::string > splitString(const std::string &fLine)
Definition: DetId.h:18
double S(const TLorentzVector &, const TLorentzVector &)
Definition: Particle.cc:99
DetId CastorDbASCIIIO::getId ( const std::vector< std::string > &  items)
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorPedestals fObject 
)

Definition at line 248 of file CastorDbASCIIIO.cc.

References CastorCondObjectContainer< Item >::addValues(), edmScanValgrind::buffer, getId(), mps_monitormerge::items, CastorPedestals::setUnitADC(), splitString(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by produce_impl().

248  {
249  char buffer[1024];
250 
251  while (fInput.getline(buffer, 1024)) {
252  std::vector<std::string> items = splitString(std::string(buffer));
253  if (items.empty())
254  continue; // blank line
255  else {
256  if (items[0] == "#U") {
257  if (items[1] == (std::string) "ADC")
258  fObject.setUnitADC(true);
259  else if (items[1] == (std::string) "fC")
260  fObject.setUnitADC(false);
261  else {
262  edm::LogWarning("Pedestal Unit Error") << "Unrecognized unit for pedestals. Assuming fC." << std::endl;
263  fObject.setUnitADC(false);
264  }
265  break;
266  } else {
267  edm::LogWarning("Pedestal Unit Missing")
268  << "The unit for the pedestals is missing in the txt file." << std::endl;
269  return false;
270  }
271  }
272  }
273  while (fInput.getline(buffer, 1024)) {
274  if (buffer[0] == '#')
275  continue;
276  std::vector<std::string> items = splitString(std::string(buffer));
277  if (items.empty())
278  continue; // blank line
279  if (items.size() < 8) {
280  edm::LogWarning("Format Error")
281  << "Bad line: " << buffer << "\n line must contain 8 items: eta, phi, depth, subdet, 4x values"
282  << " or 12 items: eta, phi, depth, subdet, 4x values for mean, 4x values for width" << std::endl;
283  continue;
284  }
285  DetId id = getId(items);
286 
287  // if (fObject.exists(id) )
288  // edm::LogWarning("Redefining Channel") << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
289  // else
290  // {
291 
292  if (items.size() < 12) // old format without widths
293  {
294  CastorPedestal fCondObject(id,
295  atof(items[4].c_str()),
296  atof(items[5].c_str()),
297  atof(items[6].c_str()),
298  atof(items[7].c_str()),
299  0.,
300  0.,
301  0.,
302  0.);
303  fObject.addValues(fCondObject);
304  } else // new format with widths
305  {
306  CastorPedestal fCondObject(id,
307  atof(items[4].c_str()),
308  atof(items[5].c_str()),
309  atof(items[6].c_str()),
310  atof(items[7].c_str()),
311  atof(items[8].c_str()),
312  atof(items[9].c_str()),
313  atof(items[10].c_str()),
314  atof(items[11].c_str()));
315  fObject.addValues(fCondObject);
316  }
317 
318  // }
319  }
320  return true;
321  }
static unsigned int getId()
std::vector< std::string > splitString(const std::string &fLine)
void setUnitADC(bool isADC)
Definition: DetId.h:18
bool addValues(const Item &myItem)
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorPedestalWidths fObject 
)

Definition at line 428 of file CastorDbASCIIIO.cc.

References CastorCondObjectContainer< Item >::addValues(), edmScanValgrind::buffer, getId(), mps_monitormerge::items, CastorPedestalWidth::setSigma(), CastorPedestalWidths::setUnitADC(), splitString(), AlCaHLTBitMon_QueryRunRegistry::string, and MuonErrorMatrixValues_cff::values.

428  {
429  char buffer[1024];
430  int linecounter = 0;
431 
432  while (fInput.getline(buffer, 1024)) {
433  linecounter++;
434  std::vector<std::string> items = splitString(std::string(buffer));
435  if (items.empty())
436  continue; // blank line
437  else {
438  if (items[0] == (std::string) "#U") {
439  if (items[1] == (std::string) "ADC")
440  fObject.setUnitADC(true);
441  else if (items[1] == (std::string) "fC")
442  fObject.setUnitADC(false);
443  else {
444  edm::LogWarning("Pedestal Width Unit Error")
445  << "Unrecognized unit for pedestal widths. Assuming fC." << std::endl;
446  fObject.setUnitADC(false);
447  }
448  break;
449  } else {
450  edm::LogWarning("Pedestal Width Unit Missing")
451  << "The unit for the pedestal widths is missing in the txt file." << std::endl;
452  return false;
453  }
454  }
455  }
456 
457  while (fInput.getline(buffer, 1024)) {
458  linecounter++;
459  if (buffer[0] == '#')
460  continue; //ignore comment
461  std::vector<std::string> items = splitString(std::string(buffer));
462  if (items.empty())
463  continue; // blank line
464  if (items.size() < 14) {
465  edm::LogWarning("Format Error") << "Bad line: " << buffer << "\n line number: " << linecounter
466  << "\n line must contain 14 items: eta, phi, depth, subdet, 10x correlations"
467  << " or 20 items: eta, phi, depth, subdet, 16x correlations" << std::endl;
468  continue;
469  }
470  DetId id = getId(items);
471 
472  // if (fObject.exists(id) )
473  // edm::LogWarning("Redefining Channel") << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
474  // else
475  // {
476 
477  if (items.size() < 20) //old format
478  {
480  values.setSigma(0, 0, atof(items[4].c_str()));
481  values.setSigma(1, 0, atof(items[5].c_str()));
482  values.setSigma(1, 1, atof(items[6].c_str()));
483  values.setSigma(2, 0, atof(items[7].c_str()));
484  values.setSigma(2, 1, atof(items[8].c_str()));
485  values.setSigma(2, 2, atof(items[9].c_str()));
486  values.setSigma(3, 0, atof(items[10].c_str()));
487  values.setSigma(3, 1, atof(items[11].c_str()));
488  values.setSigma(3, 2, atof(items[12].c_str()));
489  values.setSigma(3, 3, atof(items[13].c_str()));
490  values.setSigma(0, 1, 0.);
491  values.setSigma(0, 2, 0.);
492  values.setSigma(0, 3, 0.);
493  values.setSigma(1, 2, 0.);
494  values.setSigma(1, 3, 0.);
495  values.setSigma(2, 3, 0.);
496  fObject.addValues(values);
497  } else // new format
498  {
500  values.setSigma(0, 0, atof(items[4].c_str()));
501  values.setSigma(0, 1, atof(items[5].c_str()));
502  values.setSigma(0, 2, atof(items[6].c_str()));
503  values.setSigma(0, 3, atof(items[7].c_str()));
504  values.setSigma(1, 0, atof(items[8].c_str()));
505  values.setSigma(1, 1, atof(items[9].c_str()));
506  values.setSigma(1, 2, atof(items[10].c_str()));
507  values.setSigma(1, 3, atof(items[11].c_str()));
508  values.setSigma(2, 0, atof(items[12].c_str()));
509  values.setSigma(2, 1, atof(items[13].c_str()));
510  values.setSigma(2, 2, atof(items[14].c_str()));
511  values.setSigma(2, 3, atof(items[15].c_str()));
512  values.setSigma(3, 0, atof(items[16].c_str()));
513  values.setSigma(3, 1, atof(items[17].c_str()));
514  values.setSigma(3, 2, atof(items[18].c_str()));
515  values.setSigma(3, 3, atof(items[19].c_str()));
516  fObject.addValues(values);
517  }
518 
519  // }
520  }
521  return true;
522  }
static unsigned int getId()
void setUnitADC(bool isADC)
std::vector< std::string > splitString(const std::string &fLine)
Definition: DetId.h:18
bool addValues(const Item &myItem)
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorGains fObject 
)

Definition at line 233 of file CastorDbASCIIIO.cc.

233 { return getCastorObject<CastorGain>(fInput, fObject); }
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorGainWidths fObject 
)

Definition at line 235 of file CastorDbASCIIIO.cc.

235  {
236  return getCastorObject<CastorGainWidth>(fInput, fObject);
237  }
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorQIEData fObject 
)

Definition at line 589 of file CastorDbASCIIIO.cc.

References CastorQIEData::addCoder(), edmScanValgrind::buffer, getId(), mps_monitormerge::items, CastorQIECoder::setOffset(), CastorQIECoder::setSlope(), CastorQIEData::sort(), splitString(), and AlCaHLTBitMon_QueryRunRegistry::string.

589  {
590  char buffer[1024];
591  while (fInput.getline(buffer, 1024)) {
592  if (buffer[0] == '#')
593  continue; //ignore comment
594  std::vector<std::string> items = splitString(std::string(buffer));
595  if (items.empty())
596  continue;
597  if (items[0] == "SHAPE") { // basic shape
598  if (items.size() < 33) {
599  edm::LogWarning("Format Error")
600  << "Bad line: " << buffer << "\n line must contain 33 items: SHAPE 32 x low QIE edges for first 32 bins"
601  << std::endl;
602  continue;
603  }
604  //float lowEdges [32];
605  //int i = 32;
606  //while (--i >= 0) lowEdges [i] = atof (items [i+1].c_str ());
607  // fObject.setShape (lowEdges);
608  } else { // QIE parameters
609  if (items.size() < 36) {
610  edm::LogWarning("Format Error") << "Bad line: " << buffer
611  << "\n line must contain 36 items: eta, phi, depth, subdet, 4 capId x 4 "
612  "Ranges x offsets, 4 capId x 4 Ranges x slopes"
613  << std::endl;
614  continue;
615  }
616  DetId id = getId(items);
617  fObject.sort();
618  // try {
619  // fObject.getCoder (id);
620  // edm::LogWarning("Redefining Channel") << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
621  // }
622  // catch (cms::Exception& e) {
623  CastorQIECoder coder(id.rawId());
624  int index = 4;
625  for (unsigned capid = 0; capid < 4; capid++) {
626  for (unsigned range = 0; range < 4; range++) {
627  coder.setOffset(capid, range, atof(items[index++].c_str()));
628  }
629  }
630  for (unsigned capid = 0; capid < 4; capid++) {
631  for (unsigned range = 0; range < 4; range++) {
632  coder.setSlope(capid, range, atof(items[index++].c_str()));
633  }
634  }
635  fObject.addCoder(coder);
636  // }
637  }
638  }
639  fObject.sort();
640  return true;
641  }
static unsigned int getId()
std::vector< std::string > splitString(const std::string &fLine)
Definition: DetId.h:18
bool addCoder(const CastorQIECoder &fCoder)
Definition: CastorQIEData.h:43
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorCalibrationQIEData fObject 
)

Definition at line 693 of file CastorDbASCIIIO.cc.

References CastorCalibrationQIEData::addCoder(), stringResolutionProvider_cfi::bin, edmScanValgrind::buffer, getId(), mps_monitormerge::items, CastorCalibrationQIECoder::setMinCharges(), CastorCalibrationQIEData::sort(), splitString(), AlCaHLTBitMon_QueryRunRegistry::string, and MuonErrorMatrixValues_cff::values.

693  {
694  char buffer[1024];
695  while (fInput.getline(buffer, 1024)) {
696  if (buffer[0] == '#')
697  continue; //ignore comment
698  std::vector<std::string> items = splitString(std::string(buffer));
699  if (items.size() < 36) {
700  edm::LogWarning("Format Error") << "Bad line: " << buffer
701  << "\n line must contain 36 items: eta, phi, depth, subdet, 32 bin values"
702  << std::endl;
703  continue;
704  }
705  DetId id = getId(items);
706  fObject.sort();
707  // try {
708  // fObject.getCoder (id);
709  // edm::LogWarning("Redefining Channel") << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
710  // }
711  // catch (cms::Exception& e) {
712  CastorCalibrationQIECoder coder(id.rawId());
713  int index = 4;
714  float values[32];
715  for (unsigned bin = 0; bin < 32; bin++) {
716  values[bin] = atof(items[index++].c_str());
717  }
718  coder.setMinCharges(values);
719  fObject.addCoder(coder);
720  // }
721  }
722  fObject.sort();
723  return true;
724  }
static unsigned int getId()
bool addCoder(const CastorCalibrationQIECoder &fCoder)
std::vector< std::string > splitString(const std::string &fLine)
bin
set the eta bin as selection string.
Definition: DetId.h:18
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorElectronicsMap fObject 
)

Definition at line 749 of file CastorDbASCIIIO.cc.

References edmScanValgrind::buffer, CastorText2DetIdConverter::getId(), CastorText2DetIdConverter::isHcalCastorDetId(), mps_monitormerge::items, CastorElectronicsMap::mapEId2chId(), CastorElectronicsMap::mapEId2tId(), CastorElectronicsId::setHTR(), slb(), CastorElectronicsMap::sort(), splitString(), AlCaHLTBitMon_QueryRunRegistry::string, HcalTrigTowerDetId::Undefined, and HcalDetId::Undefined.

749  {
750  char buffer[1024];
751  while (fInput.getline(buffer, 1024)) {
752  if (buffer[0] == '#')
753  continue; //ignore comment
754  std::vector<std::string> items = splitString(std::string(buffer));
755  if (items.size() < 12) {
756  if (items.empty())
757  continue; // no warning here
758  if (items.size() < 9) {
759  edm::LogError("MapFormat") << "CastorElectronicsMap-> line too short: " << buffer;
760  continue;
761  }
762  if (items[8] == "NA" || items[8] == "NT") {
763  while (items.size() < 12)
764  items.push_back(""); // don't worry here
765  } else if (items[8] == "HT") {
766  if (items.size() == 11)
767  items.push_back("");
768  else {
769  edm::LogError("MapFormat") << "CastorElectronicsMap-> Bad line: " << buffer
770  << "\n HT line must contain at least 11 items: i cr sl tb dcc spigot fiber "
771  "fiberchan subdet=HT ieta iphi";
772  continue;
773  }
774  } else {
775  edm::LogError("MapFormat")
776  << "CastorElectronicsMap-> Bad line: " << buffer
777  << "\n line must contain 12 items: i cr sl tb dcc spigot fiber fiberchan subdet ieta iphi depth";
778  continue;
779  }
780  }
781  // std::cout << "CastorElectronicsMap-> processing line: " << buffer << std::endl;
782  int crate = atoi(items[1].c_str());
783  int slot = atoi(items[2].c_str());
784  int top = 1;
785  if (items[3] == "b")
786  top = 0;
787  int dcc = atoi(items[4].c_str());
788  int spigot = atoi(items[5].c_str());
789  CastorElectronicsId elId;
790  if (items[8] == "HT" || items[8] == "NT") {
791  int slb = atoi(items[6].c_str());
792  int slbCh = atoi(items[7].c_str());
793  elId = CastorElectronicsId(slbCh, slb, spigot, dcc, crate, slot, top);
794  } else {
795  int fiber = atoi(items[6].c_str());
796  int fiberCh = atoi(items[7].c_str());
797 
798  elId = CastorElectronicsId(fiberCh, fiber, spigot, dcc);
799  elId.setHTR(crate, slot, top);
800  }
801 
802  // first, handle undefined cases
803  if (items[8] == "NA") { // undefined channel
804  fObject.mapEId2chId(elId, DetId(HcalDetId::Undefined));
805  } else if (items[8] == "NT") { // undefined trigger channel
807  } else {
808  CastorText2DetIdConverter converter(items[8], items[9], items[10], items[11]);
809  if (converter.isHcalCastorDetId()) {
810  fObject.mapEId2chId(elId, converter.getId());
811  } else {
812  edm::LogWarning("Format Error") << "CastorElectronicsMap-> Unknown subdetector: " << items[8] << '/'
813  << items[9] << '/' << items[10] << '/' << items[11] << std::endl;
814  }
815  }
816  }
817  fObject.sort();
818  return true;
819  }
static const HcalDetId Undefined
Definition: HcalDetId.h:272
static int slb(const HcalTriggerPrimitiveSample &theSample)
void setHTR(int crate, int slot, int tb)
std::vector< std::string > splitString(const std::string &fLine)
bool mapEId2tId(CastorElectronicsId fElectronicsId, HcalTrigTowerDetId fTriggerId)
Definition: DetId.h:18
static const HcalTrigTowerDetId Undefined
bool mapEId2chId(CastorElectronicsId fElectronicsId, DetId fId)
Readout chain identification for Castor Bits for the readout chain : some names need change! [31:26] ...
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorChannelQuality fObject 
)

Definition at line 372 of file CastorDbASCIIIO.cc.

References CastorCondObjectContainer< Item >::addValues(), edmScanValgrind::buffer, CastorCondObjectContainer< Item >::exists(), getId(), triggerObjects_cff::id, mps_monitormerge::items, splitString(), and AlCaHLTBitMon_QueryRunRegistry::string.

372  {
373  char buffer[1024];
374  while (fInput.getline(buffer, 1024)) {
375  if (buffer[0] == '#')
376  continue; //ignore comment
377  std::vector<std::string> items = splitString(std::string(buffer));
378  if (items.empty())
379  continue; // blank line
380  if (items.size() < 5) {
381  edm::LogWarning("Format Error") << "Bad line: " << buffer
382  << "\n line must contain 5 items: eta, phi, depth, subdet, GOOD/BAD/HOT/DEAD"
383  << std::endl;
384  continue;
385  }
386  DetId id = getId(items);
387 
388  if (fObject.exists(id)) {
389  edm::LogWarning("Redefining Channel")
390  << "line: " << buffer << "\n attempts to redefine data. Ignored" << std::endl;
391  continue;
392  }
393  // else
394  // {
395  uint32_t mystatus;
396  std::unique_ptr<CastorChannelStatus> fCondObject;
397  if (items[4].substr(0, 2) == "0x") {
398  sscanf(items[4].c_str(), "%X", &mystatus);
399  fCondObject = std::make_unique<CastorChannelStatus>(id, mystatus);
400  } else if (isalpha(items[4].c_str()[0])) {
401  fCondObject = std::make_unique<CastorChannelStatus>(id, items[4]);
402  } else {
403  sscanf(items[4].c_str(), "%u", &mystatus);
404  fCondObject = std::make_unique<CastorChannelStatus>(id, mystatus);
405  }
406  fObject.addValues(*fCondObject);
407  // }
408  }
409  return true;
410  }
static unsigned int getId()
std::vector< std::string > splitString(const std::string &fLine)
const bool exists(DetId fId) const
Definition: DetId.h:18
bool addValues(const Item &myItem)
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorRecoParams fObject 
)

Definition at line 898 of file CastorDbASCIIIO.cc.

References CastorCondObjectContainer< Item >::addValues(), edmScanValgrind::buffer, getId(), mps_monitormerge::items, splitString(), and AlCaHLTBitMon_QueryRunRegistry::string.

898  {
899  char buffer[1024];
900  while (fInput.getline(buffer, 1024)) {
901  if (buffer[0] == '#')
902  continue; //ignore comment
903  std::vector<std::string> items = splitString(std::string(buffer));
904  if (items.empty())
905  continue; // blank line
906  if (items.size() < 6) {
907  edm::LogWarning("Format Error")
908  << "Bad line: " << buffer
909  << "\n line must contain 6 items: eta, phi, depth, subdet, firstSample, samplesToAdd" << std::endl;
910  continue;
911  }
912  DetId id = getId(items);
913 
914  CastorRecoParam fCondObject(id, atoi(items[4].c_str()), atoi(items[5].c_str()));
915  fObject.addValues(fCondObject);
916  }
917  return true;
918  }
static unsigned int getId()
std::vector< std::string > splitString(const std::string &fLine)
Definition: DetId.h:18
bool addValues(const Item &myItem)
bool CastorDbASCIIIO::getObject ( std::istream &  fInput,
CastorSaturationCorrs fObject 
)

Definition at line 240 of file CastorDbASCIIIO.cc.

240  {
241  return getCastorSingleFloatObject<CastorSaturationCorr>(fInput, fObject);
242  }
std::vector<std::string> CastorDbASCIIIO::splitString ( const std::string &  fLine)

Definition at line 51 of file CastorDbASCIIIO.cc.

References relativeConstraints::empty, mps_fire::i, mps_fire::result, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by getCastorObject(), getCastorSingleFloatObject(), getCastorSingleIntObject(), and getObject().

51  {
52  std::vector<std::string> result;
53  int start = 0;
54  bool empty = true;
55  for (unsigned i = 0; i <= fLine.size(); i++) {
56  if (fLine[i] == ' ' || i == fLine.size()) {
57  if (!empty) {
58  std::string item(fLine, start, i - start);
59  result.push_back(item);
60  empty = true;
61  }
62  start = i + 1;
63  } else {
64  if (empty)
65  empty = false;
66  }
67  }
68  return result;
69  }
Definition: start.py:1