|
|
Go to the documentation of this file.
83 config_.getParameter<
edm::
InputTag>(
"InnerPixelClusterSource"))),
86 edm::LogInfo(
"Phase2ITMonitorCluster") <<
">>> Construct Phase2ITMonitorCluster ";
90 edm::LogInfo(
"Phase2ITMonitorCluster") <<
">>> Destroy Phase2ITMonitorCluster ";
109 std::map<std::string, unsigned int> nClsmap;
110 unsigned int nclusGlobal = 0;
111 for (
const auto& DSVItr : *itPixelClusterHandle) {
112 uint32_t rawid(DSVItr.detId());
120 nclusGlobal += DSVItr.size();
123 auto counterDet = nClsmap.find(folderkey);
124 if (counterDet == nClsmap.end()) {
125 nClsmap.emplace(folderkey, DSVItr.size());
127 counterDet->second += DSVItr.size();
128 for (
const auto& clusterItr : DSVItr) {
130 Local3DPoint localPosCluster = geomDetUnit->topology().localPosition(mpCluster);
131 Global3DPoint globalPosCluster = geomDetUnit->surface().toGlobal(localPosCluster);
132 double gx = globalPosCluster.
x() * 10.;
133 double gy = globalPosCluster.
y() * 10.;
134 double gz = globalPosCluster.
z() * 10.;
135 double gr = globalPosCluster.
perp() * 10.;
145 auto local_mesIT =
layerMEs_.find(folderkey);
159 for (
const auto& it : nClsmap) {
162 layerMEs_[it.first].nClusters->Fill(it.second);
198 if (theTkDigiGeomWatcher.
check(iSetup)) {
205 unsigned int detId_raw = det_u->geographicalId().rawId();
206 edm::LogInfo(
"Phase2ITMonitorRecHit") <<
"Detid:" << detId_raw <<
"\tsubdet=" << det_u->subDetector()
261 psd0.
add<
std::string>(
"title",
"NumberClusters;Number of Clusters;");
262 psd0.
add<
double>(
"xmin", 0.0);
263 psd0.
add<
bool>(
"switch",
true);
264 psd0.
add<
double>(
"xmax", 0.0);
265 psd0.
add<
int>(
"NxBins", 50);
271 psd0.
add<
std::string>(
"title",
"Global_Position_RZ_IT_barrel;z [mm];r [mm]");
272 psd0.
add<
double>(
"ymax", 300.0);
273 psd0.
add<
int>(
"NxBins", 1500);
274 psd0.
add<
int>(
"NyBins", 300);
275 psd0.
add<
bool>(
"switch",
true);
276 psd0.
add<
double>(
"xmax", 3000.0);
277 psd0.
add<
double>(
"xmin", -3000.0);
278 psd0.
add<
double>(
"ymin", 0.0);
284 psd0.
add<
std::string>(
"title",
"Global_Position_XY_IT_barrel;x [mm];y [mm];");
285 psd0.
add<
double>(
"ymax", 300.0);
286 psd0.
add<
int>(
"NxBins", 600);
287 psd0.
add<
int>(
"NyBins", 600);
288 psd0.
add<
bool>(
"switch",
true);
289 psd0.
add<
double>(
"xmax", 300.0);
290 psd0.
add<
double>(
"xmin", -300.0);
291 psd0.
add<
double>(
"ymin", -300.0);
297 psd0.
add<
std::string>(
"title",
"Global_Position_RZ_IT_endcap;z [mm];r [mm]");
298 psd0.
add<
double>(
"ymax", 300.0);
299 psd0.
add<
int>(
"NxBins", 1500);
300 psd0.
add<
int>(
"NyBins", 300);
301 psd0.
add<
bool>(
"switch",
true);
302 psd0.
add<
double>(
"xmax", 3000.0);
303 psd0.
add<
double>(
"xmin", -3000.0);
304 psd0.
add<
double>(
"ymin", 0.0);
310 psd0.
add<
std::string>(
"title",
"Global_Position_XY_IT_endcap; x [mm]; y [mm]");
311 psd0.
add<
double>(
"ymax", 300.0);
312 psd0.
add<
int>(
"NxBins", 600);
313 psd0.
add<
int>(
"NyBins", 600);
314 psd0.
add<
bool>(
"switch",
true);
315 psd0.
add<
double>(
"xmax", 300.0);
316 psd0.
add<
double>(
"xmin", -300.0);
317 psd0.
add<
double>(
"ymin", -300.0);
325 psd0.
add<
std::string>(
"title",
"NumberOfClutsers;Number of Clusters;");
326 psd0.
add<
double>(
"xmin", 0.0);
327 psd0.
add<
bool>(
"switch",
true);
328 psd0.
add<
double>(
"xmax", 0.0);
329 psd0.
add<
int>(
"NxBins", 50);
336 psd0.
add<
double>(
"xmin", 0.);
337 psd0.
add<
bool>(
"switch",
true);
338 psd0.
add<
double>(
"xmax", 100000.);
339 psd0.
add<
int>(
"NxBins", 100);
346 psd0.
add<
double>(
"xmin", -0.5);
347 psd0.
add<
double>(
"xmax", 30.5);
348 psd0.
add<
int>(
"NxBins", 31);
349 psd0.
add<
bool>(
"switch",
true);
356 psd0.
add<
double>(
"xmin", -0.5);
357 psd0.
add<
bool>(
"switch",
true);
358 psd0.
add<
double>(
"xmax", 30.5);
359 psd0.
add<
int>(
"NxBins", 31);
366 psd0.
add<
double>(
"xmin", -0.5);
367 psd0.
add<
bool>(
"switch",
true);
368 psd0.
add<
double>(
"xmax", 30.5);
369 psd0.
add<
int>(
"NxBins", 31);
376 psd0.
add<
double>(
"ymax", 0.0);
377 psd0.
add<
int>(
"NxBins", 500);
378 psd0.
add<
int>(
"NyBins", 500);
379 psd0.
add<
bool>(
"switch",
true);
380 psd0.
add<
double>(
"xmax", 0.0);
381 psd0.
add<
double>(
"xmin", 0.0);
382 psd0.
add<
double>(
"ymin", 0.0);
388 psd0.
add<
std::string>(
"title",
"GlobalClusterPositionXY_perlayer;x [mm];y [mm];");
389 psd0.
add<
double>(
"ymax", 300.0);
390 psd0.
add<
int>(
"NxBins", 600);
391 psd0.
add<
int>(
"NyBins", 600);
392 psd0.
add<
bool>(
"switch",
false);
393 psd0.
add<
double>(
"xmax", 300.0);
394 psd0.
add<
double>(
"xmin", -300.0);
395 psd0.
add<
double>(
"ymin", -300.0);
401 descriptions.
add(
"Phase2ITMonitorCluster",
desc);
const TrackerGeomDet * idToDet(DetId) const override
bool check(const edm::EventSetup &iSetup)
T const * product() const
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
edm::ParameterSet config_
MonitorElement * globalXY_endcap_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::map< std::string, ClusterMEs > layerMEs_
MonitorElement * globalXY_barrel_
MonitorElement * globalRZ_barrel_
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
const TrackerGeometry * tkGeom_
virtual void setCurrentFolder(std::string const &fullpath)
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > itPixelClusterToken_
MonitorElement * ClusterSizeX
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
void bookLayerHistos(DQMStore::IBooker &ibooker, uint32_t det_it, std::string &subdir)
Pixel cluster – collection of neighboring pixels above threshold.
Log< level::Info, false > LogInfo
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
MonitorElement * numberClusters_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * ClusterSizeY
#define DEFINE_FWK_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~Phase2ITMonitorCluster() override
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
MonitorElement * XYLocalPositionMapPixel
Phase2ITMonitorCluster(const edm::ParameterSet &)
MonitorElement * ClusterSize
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
const TrackerTopology * tTopo_
MonitorElement * globalRZ_endcap_
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
T getParameter(std::string const &) const
MonitorElement * XYGlobalPositionMapPixel
MonitorElement * nClusters
MonitorElement * ClusterCharge