|
void | analyze (const edm::Event &, const edm::EventSetup &) override |
|
void | bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override |
|
virtual void | bookMEs (DQMStore::IBooker &) |
|
virtual void | buildStructure (edm::EventSetup const &) |
|
void | dqmBeginRun (const edm::Run &, edm::EventSetup const &) override |
|
| SiPixelRawDataErrorSource (const edm::ParameterSet &conf) |
|
| ~SiPixelRawDataErrorSource () override |
|
void | accumulate (edm::Event const &ev, edm::EventSetup const &es) final |
|
virtual void | analyze (edm::Event const &, edm::EventSetup const &) |
|
void | beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override |
|
void | beginRun (edm::Run const &run, edm::EventSetup const &setup) final |
|
virtual void | dqmBeginRun (edm::Run const &, edm::EventSetup const &) |
|
| DQMEDAnalyzer () |
|
| DQMEDAnalyzer (DQMEDAnalyzer const &)=delete |
|
| DQMEDAnalyzer (DQMEDAnalyzer &&)=delete |
|
void | endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override |
|
void | endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final |
|
void | endRun (edm::Run const &run, edm::EventSetup const &setup) override |
|
void | endRunProduce (edm::Run &run, edm::EventSetup const &setup) override |
|
| ~DQMEDAnalyzer () override=default |
|
| EDProducer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | hasAbilityToProduceInLumis () const final |
|
bool | hasAbilityToProduceInRuns () const final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
| ~ProducerBase () noexcept(false) override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
Description: Produces histograms for error information generated at the raw2digi stage for the pixel tracker.
Usage: Takes a DetSetVector<SiPixelRawDataError> as input, and uses it to populate a folder hierarchy (organized by detId) with histograms containing information about the errors. Uses SiPixelRawDataErrorModule class to book and fill individual folders. Note that this source is different than other DQM sources in the creation of an unphysical detId folder (detId=0xffffffff) to hold information about errors for which there is no detId available (except the dummy detId given to it at raw2digi).
Definition at line 53 of file SiPixelRawDataErrorSource.h.
Definition at line 103 of file SiPixelRawDataErrorSource.cc.
References bladeOn, byLumiErrors, FEDRawData::data(), errorRate, eventNo, fedcounter, FEDRawDataCollection::FEDData(), MonitorElement::Fill(), edm::Event::getByToken(), mps_fire::i, input, inputSourceToken_, createfilelist::int, edm::HandleBase::isValid(), ladOn, edm::EventBase::luminosityBlock(), meMapFEDs_, modOn, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, MonitorElement::setBinContent(), FEDRawData::size(), slowDown, src_, DetId::subdetId(), theFEDStructure, and thePixelStructure.
112 edm::LogInfo(
"SiPixelRawDataErrorSource") <<
"inputsource is empty";
116 for(
int i = 0;
i != 40;
i++){
128 int nEventBPIXModuleErrors = 0;
int nEventFPIXModuleErrors = 0;
int nEventBPIXFEDErrors = 0;
int nEventFPIXFEDErrors = 0;
131 std::map<uint32_t,SiPixelRawDataErrorModule*>::iterator struct_iter;
132 std::map<uint32_t,SiPixelRawDataErrorModule*>::iterator struct_iter2;
139 nErrors = nErrors + numberOfModuleErrors;
144 int numberOfFEDErrors = (*struct_iter2).second->fillFED(*input, &
meMapFEDs_);
145 if((*struct_iter2).first <= 31) nEventBPIXFEDErrors = nEventBPIXFEDErrors + numberOfFEDErrors;
146 if((*struct_iter2).first >= 32 && (*struct_iter2).first <= 39) nEventFPIXFEDErrors = nEventFPIXFEDErrors + numberOfFEDErrors;
148 nErrors = nErrors + numberOfFEDErrors;
void setBinContent(int binx, double content)
set content of bin (1-D)
std::map< uint32_t, SiPixelRawDataErrorModule * > theFEDStructure
MonitorElement * fedcounter
edm::EDGetTokenT< edm::DetSetVector< SiPixelRawDataError > > src_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * byLumiErrors
edm::LuminosityBlockNumber_t luminosityBlock() const
size_t size() const
Lenght of the data buffer in bytes.
static std::string const input
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
std::map< uint32_t, SiPixelRawDataErrorModule * > thePixelStructure
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::EDGetTokenT< FEDRawDataCollection > inputSourceToken_
std::map< std::string, MonitorElement ** > meMapFEDs_
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
MonitorElement * errorRate
Create folder tree and book histograms
Create folder tree for errors without detId and book histograms
Definition at line 269 of file SiPixelRawDataErrorSource.cc.
References bladeOn, DQMStore::IBooker::book1D(), byLumiErrors, DQMStore::IBooker::cd(), conf_, DEFINE_FWK_MODULE, errorRate, Exception, fedcounter, edm::ParameterSet::getParameter(), triggerObjects_cff::id, isPIB, isUpgrade, edm::InputTag::label(), ladOn, LogDebug, meErrorType_, meEvtNbr_, meEvtSize_, meFedChLErr_, meFedChNErr_, meFedETypeNErr_, meFullType_, meMapFEDs_, meNErrors_, meTBMMessage_, meTBMType_, modOn, MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), SiPixelFolderOrganizer::setFedFolder(), MonitorElement::setLumiFlag(), SiPixelFolderOrganizer::setModuleFolder(), TrackRefitter_38T_cff::src, AlCaHLTBitMon_QueryRunRegistry::string, groupFilesInBlocks::temp, theFEDStructure, thePixelStructure, fftjetcommon_cfi::title, and topFolderName_.
Referenced by bookHistograms().
271 char title0[80]; sprintf(title0,
"FED isPresent;FED ID;isPresent");
274 char title[80]; sprintf(title,
"By-LumiSection Error counters");
277 char title1[80]; sprintf(title1,
"Errors per LumiSection;LumiSection;NErrors");
280 std::map<uint32_t,SiPixelRawDataErrorModule*>::iterator struct_iter;
281 std::map<uint32_t,SiPixelRawDataErrorModule*>::iterator struct_iter2;
289 if(!theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,0,
isUpgrade)) {
292 <<
"[SiPixelRawDataErrorSource::bookMEs] Creation of DQM folder failed";
297 if(!theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,1,
isUpgrade)) {
298 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
303 if(!theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,4,
isUpgrade)) {
304 LogDebug (
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
312 if(!theSiPixelFolder.setFedFolder(iBooker,(*struct_iter2).first)) {
314 <<
"[SiPixelRawDataErrorSource::bookMEs] Creation of DQM folder failed";
325 for (uint32_t
id = 0;
id < 40;
id++){
327 sprintf( temp, (
topFolderName_+
"/AdditionalPixelErrors/FED_%d").c_str(),
id);
330 hid = theHistogramId->setHistoId(
"errorType",
id);
334 hid = theHistogramId->setHistoId(
"NErrors",
id);
340 hid = theHistogramId->setHistoId(
"fullType",
id);
346 hid = theHistogramId->setHistoId(
"TBMMessage",
id);
351 hid = theHistogramId->setHistoId(
"TBMType",
id);
355 hid = theHistogramId->setHistoId(
"EvtNbr",
id);
358 hid = theHistogramId->setHistoId(
"evtSize",
id);
361 hid = theHistogramId->setHistoId(
"FedChNErr",
id);
365 hid = theHistogramId->setHistoId(
"FedChLErr",
id);
369 hid = theHistogramId->setHistoId(
"FedETypeNErr",
id);
T getParameter(std::string const &) const
std::map< uint32_t, SiPixelRawDataErrorModule * > theFEDStructure
MonitorElement * meEvtNbr_[40]
MonitorElement * fedcounter
MonitorElement * byLumiErrors
MonitorElement * meFedETypeNErr_[40]
MonitorElement * meErrorType_[40]
MonitorElement * meFedChNErr_[40]
MonitorElement * meEvtSize_[40]
void setLumiFlag()
this ME is meant to be stored for each luminosity section
std::map< uint32_t, SiPixelRawDataErrorModule * > thePixelStructure
MonitorElement * book1D(Args &&...args)
MonitorElement * meTBMType_[40]
MonitorElement * meNErrors_[40]
MonitorElement * meFullType_[40]
MonitorElement * meTBMMessage_[40]
void setCurrentFolder(const std::string &fullpath)
std::string topFolderName_
MonitorElement * meFedChLErr_[40]
std::map< std::string, MonitorElement ** > meMapFEDs_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * errorRate
Definition at line 170 of file SiPixelRawDataErrorSource.cc.
References PixelEndcapName::bladeName(), TrackerGeometry::detsPXB(), TrackerGeometry::detsPXF(), PixelEndcapName::diskName(), l1t::stage2::layer2::fedId, edm::EventSetup::get(), PixelEndcapName::halfCylinder(), isPIB, isUpgrade, LogDebug, RecoTauDiscriminantConfiguration::mask, FEDNumbering::MAXSiPixelFEDID, FEDNumbering::MINSiPixelFEDID, trackingPlots::ncols, PixelEndcapName::pannelName(), PixelEndcapName::plaquetteName(), edm::ESHandle< T >::product(), DetId::rawId(), PixelGeomDetUnit::specificTopology(), AlCaHLTBitMon_QueryRunRegistry::string, theFEDStructure, and thePixelStructure.
Referenced by dqmBeginRun().
172 LogInfo (
"PixelDQM") <<
" SiPixelRawDataErrorSource::buildStructure" ;
184 LogVerbatim (
"PixelDQM") <<
" *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
185 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->
detsPXB().size() <<
" barrel pixel detectors"<<std::endl;
186 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->
detsPXF().size() <<
" endcap pixel detectors"<<std::endl;
189 for(TrackerGeometry::DetContainer::const_iterator it = pDD->
detsPXB().begin(); it != pDD->
detsPXB().end(); it++){
193 if ( geoUnit ==
nullptr )
194 LogError (
"PixelDQM") <<
"Pixel GeomDet is not a GeomDetUnit!" << std::endl;
200 DetId detId = (*it)->geographicalId();
201 LogDebug (
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
202 uint32_t
id = detId();
204 thePixelStructure.insert(pair<uint32_t,SiPixelRawDataErrorModule*> (
id,theModule));
209 for(TrackerGeometry::DetContainer::const_iterator it = pDD->
detsPXF().begin(); it != pDD->
detsPXF().end(); it++){
213 if ( geoUnit ==
nullptr )
214 LogError (
"PixelDQM") <<
"Pixel GeomDet is not a GeomDetUnit!" << std::endl;
219 DetId detId = (*it)->geographicalId();
220 LogDebug (
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
221 uint32_t
id = detId();
230 char sside[80]; sprintf(sside,
"HalfCylinder_%i",side);
231 char sdisk[80]; sprintf(sdisk,
"Disk_%i",disk);
232 char sblade[80]; sprintf(sblade,
"Blade_%02i",blade);
233 char spanel[80]; sprintf(spanel,
"Panel_%i",panel);
234 char smodule[80];sprintf(smodule,
"Module_%i",module);
237 bool mask = side_str.find(
"HalfCylinder_1")!=string::npos||
238 side_str.find(
"HalfCylinder_2")!=string::npos||
239 side_str.find(
"HalfCylinder_4")!=string::npos||
240 disk_str.find(
"Disk_2")!=string::npos;
243 if(
isPIB && mask)
continue;
245 thePixelStructure.insert(pair<uint32_t,SiPixelRawDataErrorModule*> (
id,theModule));
249 LogDebug (
"PixelDQM") <<
" ---> Adding Module for Additional Errors " << endl;
258 uint32_t
id =
static_cast<uint32_t
> (
fedId);
260 theFEDStructure.insert(pair<uint32_t,SiPixelRawDataErrorModule*> (
id,theModule));
int plaquetteName() const
plaquetteId (in pannel)
std::map< uint32_t, SiPixelRawDataErrorModule * > theFEDStructure
constexpr uint32_t rawId() const
get the raw id
int bladeName() const
blade id
std::map< uint32_t, SiPixelRawDataErrorModule * > thePixelStructure
const DetContainer & detsPXB() const
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int pannelName() const
pannel id
const DetContainer & detsPXF() const
int diskName() const
disk id
HalfCylinder halfCylinder() const
T const * product() const