|
|
Go to the documentation of this file.
90 edm::LogInfo(
"Phase2OTMonitorCluster") <<
">>> Construct Phase2OTMonitorCluster ";
94 edm::LogInfo(
"Phase2OTMonitorCluster") <<
">>> Destroy Phase2OTMonitorCluster ";
113 std::map<std::string, unsigned int> nClustersCounter_P;
114 std::map<std::string, unsigned int> nClustersCounter_S;
115 unsigned int nclus = 0;
116 for (
const auto& DSVItr : *clusterHandle) {
118 uint32_t rawid(DSVItr.detId());
130 auto counterDet = nClustersCounter_P.find(folderkey);
131 if (counterDet == nClustersCounter_P.end())
132 nClustersCounter_P.emplace(folderkey, DSVItr.size());
134 counterDet->second += DSVItr.size();
136 auto counterDet = nClustersCounter_S.find(folderkey);
137 if (counterDet == nClustersCounter_S.end())
138 nClustersCounter_S.emplace(folderkey, DSVItr.size());
140 counterDet->second += DSVItr.size();
142 nclus += DSVItr.size();
144 for (
const auto& clusterItr : DSVItr) {
146 Local3DPoint localPosCluster = geomDetUnit->topology().localPosition(mpCluster);
147 Global3DPoint globalPosCluster = geomDetUnit->surface().toGlobal(localPosCluster);
148 double gx = globalPosCluster.
x() * 10.;
149 double gy = globalPosCluster.
y() * 10.;
150 double gz = globalPosCluster.
z() * 10.;
151 double gr = globalPosCluster.
perp() * 10.;
152 auto layerMEit =
layerMEs_.find(folderkey);
175 for (
const auto& it : nClustersCounter_P) {
178 if (
layerMEs_[it.first].nClusters_P !=
nullptr)
179 layerMEs_[it.first].nClusters_P->Fill(it.second);
181 for (
const auto& it : nClustersCounter_S) {
184 if (
layerMEs_[it.first].nClusters_S !=
nullptr)
185 layerMEs_[it.first].nClusters_S->Fill(it.second);
199 edm::LogInfo(
"Phase2OTMonitorCluster") <<
" Booking Histograms in: " << top_folder;
213 if (theTkDigiGeomWatcher.
check(iSetup)) {
221 unsigned int detId_raw = det_u->geographicalId().rawId();
222 edm::LogInfo(
"Phase2ITMonitorRecHit") <<
"Detid:" << detId_raw <<
"\tsubdet=" << det_u->subDetector()
276 psd0.
add<
double>(
"xmin", 0.0);
277 psd0.
add<
bool>(
"switch",
true);
278 psd0.
add<
double>(
"xmax", 0.0);
279 psd0.
add<
int>(
"NxBins", 50);
285 psd0.
add<
std::string>(
"title",
"Global_ClusterPosition_XY_P;x [mm];y [mm];");
286 psd0.
add<
int>(
"NxBins", 1250);
287 psd0.
add<
double>(
"xmin", -1250.0);
288 psd0.
add<
double>(
"xmax", 1250.0);
289 psd0.
add<
int>(
"NyBins", 1250);
290 psd0.
add<
double>(
"ymin", -1250.0);
291 psd0.
add<
double>(
"ymax", 1250.0);
292 psd0.
add<
bool>(
"switch",
true);
298 psd0.
add<
std::string>(
"title",
"Global_ClusterPosition_XY_S;x [mm];y [mm];");
299 psd0.
add<
int>(
"NxBins", 1250);
300 psd0.
add<
double>(
"xmin", -1250.0);
301 psd0.
add<
double>(
"xmax", 1250.0);
302 psd0.
add<
int>(
"NyBins", 1250);
303 psd0.
add<
double>(
"ymin", -1250.0);
304 psd0.
add<
double>(
"ymax", 1250.0);
305 psd0.
add<
bool>(
"switch",
true);
312 psd0.
add<
std::string>(
"title",
"Global_ClusterPosition_RZ_P;z [mm];r [mm]");
313 psd0.
add<
int>(
"NxBins", 1500);
314 psd0.
add<
double>(
"xmin", -3000.0);
315 psd0.
add<
double>(
"xmax", 3000.0);
316 psd0.
add<
int>(
"NyBins", 1250);
317 psd0.
add<
double>(
"ymin", 0.0);
318 psd0.
add<
double>(
"ymax", 1250.0);
319 psd0.
add<
bool>(
"switch",
true);
325 psd0.
add<
std::string>(
"title",
"Global_ClusterPosition_RZ_S;z [mm];r [mm]");
326 psd0.
add<
int>(
"NxBins", 1500);
327 psd0.
add<
double>(
"xmin", -3000.0);
328 psd0.
add<
double>(
"xmax", 3000.0);
329 psd0.
add<
int>(
"NyBins", 1250);
330 psd0.
add<
double>(
"ymin", 0.0);
331 psd0.
add<
double>(
"ymax", 1250.0);
332 psd0.
add<
bool>(
"switch",
true);
339 psd0.
add<
std::string>(
"title",
";Number of clusters per event(macro pixel sensor);");
340 psd0.
add<
double>(
"xmin", 0.0);
341 psd0.
add<
double>(
"xmax", 0.0);
342 psd0.
add<
int>(
"NxBins", 50);
343 psd0.
add<
bool>(
"switch",
true);
349 psd0.
add<
std::string>(
"title",
";Number of clusters per event(strip sensor);");
350 psd0.
add<
double>(
"xmin", 0.0);
351 psd0.
add<
double>(
"xmax", 0.0);
352 psd0.
add<
int>(
"NxBins", 50);
353 psd0.
add<
bool>(
"switch",
true);
359 psd0.
add<
std::string>(
"title",
";cluster size(macro pixel sensor);");
360 psd0.
add<
double>(
"xmin", -0.5);
361 psd0.
add<
double>(
"xmax", 30.5);
362 psd0.
add<
int>(
"NxBins", 31);
363 psd0.
add<
bool>(
"switch",
true);
370 psd0.
add<
double>(
"xmin", -0.5);
371 psd0.
add<
double>(
"xmax", 30.5);
372 psd0.
add<
int>(
"NxBins", 31);
373 psd0.
add<
bool>(
"switch",
true);
379 psd0.
add<
std::string>(
"title",
"GlobalClusterPositionXY_perlayer_P;x [mm];y [mm];");
380 psd0.
add<
int>(
"NxBins", 1250);
381 psd0.
add<
double>(
"xmin", -1250.0);
382 psd0.
add<
double>(
"xmax", 1250.0);
383 psd0.
add<
int>(
"NyBins", 1250);
384 psd0.
add<
double>(
"ymin", -1250.0);
385 psd0.
add<
double>(
"ymax", 1250.0);
386 psd0.
add<
bool>(
"switch",
false);
392 psd0.
add<
std::string>(
"title",
"GlobalClusterPositionXY_perlayer_S;x [mm];y [mm];");
393 psd0.
add<
int>(
"NxBins", 1250);
394 psd0.
add<
double>(
"xmin", -1250.0);
395 psd0.
add<
double>(
"xmax", 1250.0);
396 psd0.
add<
int>(
"NyBins", 1250);
397 psd0.
add<
double>(
"ymin", -1250.0);
398 psd0.
add<
double>(
"ymax", 1250.0);
399 psd0.
add<
bool>(
"switch",
false);
406 psd0.
add<
int>(
"NxBins", 50);
407 psd0.
add<
double>(
"xmin", -10.0);
408 psd0.
add<
double>(
"xmax", 10.0);
409 psd0.
add<
int>(
"NyBins", 50);
410 psd0.
add<
double>(
"ymin", -10.0);
411 psd0.
add<
double>(
"ymax", 10.0);
412 psd0.
add<
bool>(
"switch",
true);
419 psd0.
add<
int>(
"NxBins", 50);
420 psd0.
add<
double>(
"xmin", -10.0);
421 psd0.
add<
double>(
"xmax", 10.0);
422 psd0.
add<
int>(
"NyBins", 50);
423 psd0.
add<
double>(
"ymin", -10.0);
424 psd0.
add<
double>(
"ymax", 10.0);
425 psd0.
add<
bool>(
"switch",
true);
431 descriptions.
add(
"Phase2OTMonitorCluster",
desc);
bool check(const edm::EventSetup &iSetup)
T const * product() const
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
MonitorElement * globalRZ_P_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void fillOTHistos(const edm::Event &iEvent)
edm::ParameterSet config_
~Phase2OTMonitorCluster() override
virtual void setCurrentFolder(std::string const &fullpath)
Log< level::Info, false > LogInfo
ModuleType getDetectorType(DetId) const
Phase2OTMonitorCluster(const edm::ParameterSet &)
Log< level::Warning, false > LogWarning
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * XYLocalPositionMap_P
void bookLayerHistos(DQMStore::IBooker &ibooker, uint32_t det_it, std::string &subdir)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
MonitorElement * ClusterSize_S
#define DEFINE_FWK_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
MonitorElement * nClusters_S
MonitorElement * numberClusters_
MonitorElement * nClusters_P
const TrackerTopology * tTopo_
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
MonitorElement * ClusterSize_P
edm::EDGetTokenT< Phase2TrackerCluster1DCollectionNew > clustersToken_
MonitorElement * globalXY_S_
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
MonitorElement * globalRZ_S_
MonitorElement * globalXY_P_
MonitorElement * XYGlobalPositionMap_S
std::map< std::string, ClusterMEs > layerMEs_
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
T getParameter(std::string const &) const
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
MonitorElement * XYLocalPositionMap_S
const TrackerGeometry * tkGeom_
std::string getOTHistoId(uint32_t det_id, const TrackerTopology *tTopo)
MonitorElement * XYGlobalPositionMap_P