42 hCPU(0), hDigi(0), theTimer(0)
54 produces< edm::DetSetVector<PixelDigi> >();
55 if(
includeErrors) produces< edm::DetSetVector<SiPixelRawDataError> >();
61 hCPU =
new TH1D (
"hCPU",
"hCPU",100,0.,0.050);
62 hDigi =
new TH1D(
"hDigi",
"hDigi",50,0.,15000.);
69 edm::LogInfo(
"SiPixelRawToDigi") <<
" HERE ** SiPixelRawToDigi destructor!";
74 TFile
rootFile(
"analysis.root",
"RECREATE",
"my histograms");
90 const uint32_t dummydetid = 0xffffffff;
112 edm::LogError(
"**SiPixelRawToDigi**")<<
" Configured to use SiPixelQuality, but SiPixelQuality not present"<<endl;
129 bool errorsInEvent =
false;
132 typedef std::vector<unsigned int>::const_iterator IF;
135 if(
debug)
LogDebug(
"SiPixelRawToDigi")<<
" PRODUCE DIGI FOR FED: " << fedId << endl;
140 const FEDRawData& fedRawData = buffers->FEDData( fedId );
143 formatter.
interpretRawData( errorsInEvent, fedId, fedRawData, digis, errors);
146 typedef PixelDataFormatter::Digis::iterator
ID;
147 for (ID it = digis.begin(); it != digis.end(); it++) {
148 uint32_t
detid = it->first;
150 detSet.
data = it->second;
155 typedef PixelDataFormatter::Errors::iterator IE;
156 for (IE is = errors.begin(); is != errors.end(); is++) {
157 uint32_t errordetid = is->first;
158 if (errordetid==dummydetid) {
159 nodeterrors.insert( nodeterrors.end(), errors[errordetid].begin(), errors[errordetid].end() );
162 errorDetSet.
data = is->second;
170 errorDetSet.
data = nodeterrors;
172 if (errorsInEvent)
LogDebug(
"SiPixelRawToDigi") <<
"Error words were stored in this event";
179 LogDebug(
"SiPixelRawToDigi") <<
" (Words/Digis) this ev: "
186 ev.
put( collection );
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< unsigned int > fedList
static MessageDrop * instance()
virtual std::string version() const =0
SiPixelRawToDigi(const edm::ParameterSet &)
ctor
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual ~SiPixelRawToDigi()
dtor
edm::ESWatcher< SiPixelFedCablingMapRcd > recordWatcher
const LastMeasurement & lastMeasurement()
T const * product() const
T const * product() const
bool check(const edm::EventSetup &iSetup)
edm::ParameterSet config_
R2DTimerObserver * theTimer
edm::ESWatcher< SiPixelQualityRcd > qualityWatcher
const SiPixelQuality * badPixelInfo_
const SiPixelFedCabling * cabling_
virtual void produce(edm::Event &, const edm::EventSetup &)
get data, convert to digis attach againe to Event