54 saveFile(conf_.getUntrackedParameter<bool>(
"saveFile",
false)),
55 isPIB(conf_.getUntrackedParameter<bool>(
"isPIB",
false)),
56 slowDown(conf_.getUntrackedParameter<bool>(
"slowDown",
false)),
57 modOn(conf_.getUntrackedParameter<bool>(
"modOn",
true)),
58 twoDimOn(conf_.getUntrackedParameter<bool>(
"twoDimOn",
true)),
59 reducedSet(conf_.getUntrackedParameter<bool>(
"reducedSet",
false)),
60 ladOn(conf_.getUntrackedParameter<bool>(
"ladOn",
false)),
61 layOn(conf_.getUntrackedParameter<bool>(
"layOn",
false)),
62 phiOn(conf_.getUntrackedParameter<bool>(
"phiOn",
false)),
63 ringOn(conf_.getUntrackedParameter<bool>(
"ringOn",
false)),
64 bladeOn(conf_.getUntrackedParameter<bool>(
"bladeOn",
false)),
65 diskOn(conf_.getUntrackedParameter<bool>(
"diskOn",
false)),
66 isUpgrade(conf_.getUntrackedParameter<bool>(
"isUpgrade",
false)) {
68 LogInfo(
"PixelDQM") <<
"SiPixelRecHitSource::SiPixelRecHitSource: Got DQM BackEnd interface" << endl;
75 LogInfo(
"PixelDQM") <<
"SiPixelRecHitSource::~SiPixelRecHitSource: Destructor" << endl;
76 std::map<uint32_t, SiPixelRecHitModule *>::iterator struct_iter;
78 delete struct_iter->second;
79 struct_iter->second =
nullptr;
84 LogInfo(
"PixelDQM") <<
" SiPixelRecHitSource::beginJob - Initialisation ... " << std::endl;
112 std::map<uint32_t, SiPixelRecHitModule *>::iterator struct_iter;
114 uint32_t TheID = (*struct_iter).first;
124 if (match != recHitColl->end()) {
130 for (; pixeliter != pixelrechitRangeIteratorEnd; pixeliter++) {
134 int sizeX = (*clust).sizeX();
136 int sizeY = (*clust).sizeY();
142 LocalError lerr = pixeliter->localPositionError();
143 float lerr_x =
sqrt(lerr.
xx());
144 float lerr_y =
sqrt(lerr.
yy());
147 .second->fill(rechit_x,
164 if (rechit_count > 0)
177 LogInfo(
"PixelDQM") <<
" SiPixelRecHitSource::buildStructure";
184 LogVerbatim(
"PixelDQM") <<
" *** Geometry node for TrackerGeom is " << &(*pDD) << std::endl;
185 LogVerbatim(
"PixelDQM") <<
" *** I have " << pDD->dets().size() <<
" detectors" << std::endl;
186 LogVerbatim(
"PixelDQM") <<
" *** I have " << pDD->detTypes().size() <<
" types" << std::endl;
188 for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++) {
189 if (dynamic_cast<PixelGeomDetUnit const *>((*it)) !=
nullptr) {
190 DetId detId = (*it)->geographicalId();
194 uint32_t
id = detId();
199 LogDebug(
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
204 LogDebug(
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
213 sprintf(sside,
"HalfCylinder_%i", side);
215 sprintf(sdisk,
"Disk_%i", disk);
217 sprintf(sblade,
"Blade_%02i", blade);
219 sprintf(spanel,
"Panel_%i", panel);
221 sprintf(smodule,
"Module_%i", module);
224 bool mask = side_str.find(
"HalfCylinder_1") != string::npos ||
225 side_str.find(
"HalfCylinder_2") != string::npos ||
226 side_str.find(
"HalfCylinder_4") != string::npos || disk_str.find(
"Disk_2") != string::npos;
243 std::map<uint32_t, SiPixelRecHitModule *>::iterator struct_iter;
257 throw cms::Exception(
"LogicError") <<
"[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
264 LogDebug(
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
271 LogDebug(
"PixelDQM") <<
"PROBLEM WITH LAYER-FOLDER\n";
278 LogDebug(
"PixelDQM") <<
"PROBLEM WITH PHI-FOLDER\n";
285 LogDebug(
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
292 LogDebug(
"PixelDQM") <<
"PROBLEM WITH DISK-FOLDER\n";
299 LogDebug(
"PixelDQM") <<
"PROBLEM WITH RING-FOLDER\n";
int plaquetteName() const
plaquetteId (in pannel)
Log< level::Info, true > LogVerbatim
std::map< uint32_t, SiPixelRecHitModule * > thePixelStructure
bool getByToken(EDGetToken token, Handle< PROD > &result) const
SiPixelRecHitSource(const edm::ParameterSet &conf)
#define DEFINE_FWK_MODULE(type)
constexpr uint32_t rawId() const
get the raw id
~SiPixelRecHitSource() override
virtual void bookMEs(DQMStore::IBooker &, const edm::EventSetup &iSetup)
virtual void buildStructure(edm::EventSetup const &)
void dqmBeginRun(const edm::Run &, edm::EventSetup const &) override
int bladeName() const
blade id
std::map< uint32_t, int > rechit_count
void bookHistograms(DQMStore::IBooker &, edm::Run const &, const edm::EventSetup &) override
std::string topFolderName_
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0, bool isUpgrade=false)
Set folder name for a module or plaquette.
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
Log< level::Info, false > LogInfo
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
T const * product() const
T getParameter(std::string const &) const
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< SiPixelRecHitCollection > src_
int pannelName() const
pannel id
int diskName() const
disk id
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
HalfCylinder halfCylinder() const