71 consumes<reco::VertexCollection>(
vtxsrc_);
85 esConsumes<TransientTrackBuilder, TransientTrackRecord>(
edm::ESInputTag(
"",
"TransientTrackBuilder"));
91 LogInfo(
"PixelDQM") <<
"SiPixelTrackResidualSource constructor" << endl;
103 LogInfo(
"PixelDQM") <<
"SiPixelTrackResidualSource destructor" << endl;
105 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator struct_iter;
107 delete struct_iter->second;
108 struct_iter->second =
nullptr;
113 LogInfo(
"PixelDQM") <<
"SiPixelTrackResidualSource beginRun()" << endl;
117 LogVerbatim(
"PixelDQM") <<
"TrackerGeometry " << &(*TG) <<
" size is " << TG->
dets().size() << endl;
123 for (TrackerGeometry::DetContainer::const_iterator pxb = TG->
detsPXB().begin(); pxb != TG->
detsPXB().end(); pxb++) {
124 if (dynamic_cast<PixelGeomDetUnit const *>((*pxb)) !=
nullptr) {
127 pair<uint32_t, SiPixelTrackResidualModule *>((*pxb)->geographicalId().rawId(),
module));
135 for (TrackerGeometry::DetContainer::const_iterator pxf = TG->
detsPXF().begin(); pxf != TG->
detsPXF().end(); pxf++) {
136 if (dynamic_cast<PixelGeomDetUnit const *>((*pxf)) !=
nullptr) {
139 pair<uint32_t, SiPixelTrackResidualModule *>((*pxf)->geographicalId().rawId(),
module));
159 std::stringstream
nameX, titleX, nameY, titleY;
165 nameX <<
"siPixelTrackResidualsX_SummedLayer_" <<
i;
167 titleX <<
"Layer" <<
i <<
"Hit-to-Track Residual in r-phi";
171 nameY <<
"siPixelTrackResidualsY_SummedLayer_" <<
i;
173 titleY <<
"Layer" <<
i <<
"Hit-to-Track Residual in Z";
179 for (std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
theSiPixelStructure.begin();
186 throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Folder Creation Failed! ";
192 throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource ladder Folder Creation Failed! ";
198 throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource layer Folder Creation Failed! ";
204 throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource phi Folder Creation Failed! ";
210 throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Blade Folder Creation Failed! ";
216 throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Disk Folder Creation Failed! ";
222 throw cms::Exception(
"LogicError") <<
"SiPixelTrackResidualSource Ring Folder Creation Failed! ";
242 "ntracksInPixVol_" +
tracksrc_.
label(),
"Number of Tracks crossing Pixel fiducial Volume", 2, 0, 2);
267 std::stringstream ss1, ss2;
280 ss2 <<
"Charge (on track, layer" <<
i <<
")";
288 ss2 <<
"Charge (on track, diskp" <<
i <<
")";
296 ss2 <<
"Charge (on track, diskm" <<
i <<
")";
314 ss2 <<
"Charge (off track, layer" <<
i <<
")";
322 ss2 <<
"Charge (off track, diskp" <<
i <<
")";
330 ss2 <<
"Charge (off track, diskm" <<
i <<
")";
350 ss2 <<
"Size (on track, layer" <<
i <<
")";
358 ss2 <<
"Size (on track, diskp" <<
i <<
")";
366 ss2 <<
"Size (on track, diskm" <<
i <<
")";
382 ss2 <<
"SizeX (on track, layer" <<
i <<
")";
390 ss2 <<
"SizeX (on track, diskp" <<
i <<
")";
398 ss2 <<
"SizeX (on track, diskm" <<
i <<
")";
414 ss2 <<
"SizeY (on track, layer" <<
i <<
")";
422 ss2 <<
"SizeY (on track, diskp" <<
i <<
")";
430 ss2 <<
"SizeY (on track, diskm" <<
i <<
")";
448 ss2 <<
"Size (off track, layer" <<
i <<
")";
473 ss1 <<
"pix_bar Occ_roc_offtrack" +
digisrc_.
label() +
"_layer_" <<
i;
475 ss2 <<
"Pixel Barrel Occupancy, ROC level (Off Track): Layer " <<
i;
485 ss2 <<
"Size (off track, diskp" <<
i <<
")";
493 ss2 <<
"Size (off track, diskm" <<
i <<
")";
509 ss2 <<
"SizeX (off track, layer" <<
i <<
")";
517 ss2 <<
"SizeX (off track, diskp" <<
i <<
")";
525 ss2 <<
"SizeX (off track, diskm" <<
i <<
")";
541 ss2 <<
"SizeY (off track, layer" <<
i <<
")";
549 ss2 <<
"SizeY (off track, diskp" <<
i <<
")";
557 ss2 <<
"SizeY (off track, diskm" <<
i <<
")";
570 ss2 <<
"Clusters Layer" <<
i <<
" (on track)";
596 ss2 <<
"Clusters Layer" <<
i <<
"_LadvsMod (on track)";
622 ss1 <<
"pix_bar Occ_roc_ontrack" +
digisrc_.
label() +
"_layer_" <<
i;
624 ss2 <<
"Pixel Barrel Occupancy, ROC level (On Track): Layer " <<
i;
634 ss2 <<
"nclusters (on track, layer" <<
i <<
")";
645 ss2 <<
"Clusters +Z Disk" <<
i <<
" (on track)";
654 ss2 <<
"Clusters -Z Disk" <<
i <<
" (on track)";
663 "nclusters_" +
clustersrc_.
label() +
"_Barrel",
"Number of Clusters (on track, barrel)", 50, 0., 50.);
666 "nclusters_" +
clustersrc_.
label() +
"_Endcap",
"Number of Clusters (on track, endcap)", 50, 0., 50.);
672 ss2 <<
"Number of Clusters (on track, layer" <<
i <<
")";
680 ss2 <<
"Number of Clusters (on track, diskp" <<
i <<
")";
687 ss2 <<
"nclusters (on track, diskp" <<
i <<
")";
696 ss2 <<
"Number of Clusters (on track, diskm" <<
i <<
")";
703 ss2 <<
"nclusters (on track, diskm" <<
i <<
")";
710 "ROC_endcap_occupancy_ontrk",
"Pixel Endcap Occupancy, ROC level (On Track)", 72, -4.5, 4.5, 288, -12.5, 12.5);
729 ss2 <<
"Clusters Layer" <<
i <<
" (off track)";
739 ss2 <<
"Clusters +Z Disk" <<
i <<
" (off track)";
748 ss2 <<
"Clusters -Z Disk" <<
i <<
" (off track)";
757 "nclusters_" +
clustersrc_.
label() +
"_Barrel",
"Number of Clusters (off track, barrel)", 50, 0., 50.);
760 "nclusters_" +
clustersrc_.
label() +
"_Endcap",
"Number of Clusters (off track, endcap)", 50, 0., 50.);
766 ss2 <<
"Number of Clusters (off track, layer" <<
i <<
")";
774 ss2 <<
"Number of Clusters (off track, diskp" <<
i <<
")";
782 ss2 <<
"Number of Clusters (off track, diskm" <<
i <<
")";
788 "ROC_endcap_occupancy_offtrk",
"Pixel Endcap Occupancy, ROC level (Off Track)", 72, -4.5, 4.5, 288, -12.5, 12.5);
804 "FractionLowProb",
"Fraction of hits with low probability;FractionLowProb;#HitsOnTrack", 100, 0., 1.);
811 for (
int s = 0;
s < 3;
s++) {
812 sprintf(hisID,
"residual_x_subdet_%i",
s);
815 sprintf(hisID,
"residual_y_subdet_%i",
s);
863 double bestNdof = 0.0;
864 double maxSumPt = 0.0;
866 for (reco::VertexCollection::const_iterator iVertex =
vertices->begin(); iVertex !=
vertices->end(); ++iVertex) {
867 if (iVertex->ndof() > bestNdof) {
868 bestNdof = iVertex->
ndof();
871 if (iVertex->p4().pt() > maxSumPt) {
872 maxSumPt = iVertex->p4().pt();
914 for (reco::TrackCollection::const_iterator iTrack = TracksForRes->begin(); iTrack != TracksForRes->end(); ++iTrack) {
920 double pt = iTrack->pt();
923 if (
abs(iTrack->dxy(vtxP)) > 5 * iTrack->dxyError())
926 double charge = iTrack->charge();
933 if (iTrack->extra().isNonnull() && iTrack->extra().isAvailable()) {
948 vector<TransientTrackingRecHit::RecHitPointer> GoodPixBarrelHits;
951 if ((*irecHit)->isValid()) {
954 if (
detId.det() != 1) {
956 cout <<
"rec hit ID = " <<
detId.det() <<
" not in tracker!?!?\n";
960 uint32_t subDet =
detId.subdetId();
967 double gX = trecHit->globalPosition().x();
968 double gY = trecHit->globalPosition().y();
969 double gZ = trecHit->globalPosition().z();
980 GoodPixBarrelHits.push_back((trecHit));
988 GoodPixBarrelHits.push_back((trecHit));
996 GoodPixBarrelHits.push_back((trecHit));
1005 if (n1 + n2 + n3 == 3 && n1 * n2 * n3 > 0) {
1006 for (
unsigned int i = 0;
i < GoodPixBarrelHits.size();
i++) {
1007 if (GoodPixBarrelHits[
i]->
isValid()) {
1008 DetId detId = GoodPixBarrelHits[
i]->geographicalId().rawId();
1011 double dca2 = 0.0, dz2 = 0.0;
1024 triplets(
x2,
y2,
z2,
x1,
y1, z1, x3, y3, z3, ptsig, dca2, dz2, kap);
1027 residual = Test - Test2;
1031 triplets(
x1,
y1, z1,
x2,
y2,
z2, x3, y3, z3, ptsig, dca2, dz2, kap);
1034 residual = Test - Test2;
1038 triplets(
x1,
y1, z1, x3, y3, z3,
x2,
y2,
z2, ptsig, dca2, dz2, kap);
1041 residual = Test - Test2;
1066 auto const &trackColl = *(trackCollectionHandle.
product());
1072 auto const &clustColl = *(clusterColl.
product());
1079 std::set<SiPixelCluster> clusterSet;
1081 int tracks = 0, pixeltracks = 0, bpixtracks = 0, fpixtracks = 0;
1082 int trackclusters = 0, barreltrackclusters = 0, endcaptrackclusters = 0;
1083 int otherclusters = 0, barrelotherclusters = 0, endcapotherclusters = 0;
1092 std::cout <<
"Trajectories for Res from " <<
labels.module << std::endl;
1095 if (trajCollectionHandle.
isValid()) {
1096 auto const &trajColl = *(trajCollectionHandle.
product());
1100 auto const &ttac = *(
match.product());
1103 std::cout <<
"Trajectories\t : " << trajColl.size() << std::endl;
1104 std::cout <<
"recoTracks \t : " << trackColl.size() << std::endl;
1105 std::cout <<
"Map entries \t : " << ttac.size() << std::endl;
1115 bool isBpixtrack =
false, isFpixtrack =
false, crossesPixVol =
false;
1120 double d0 = (*trackref).d0(),
dz = (*trackref).dz();
1123 crossesPixVol =
true;
1125 const std::vector<TrajectoryMeasurement> &tmeasColl = traj_iterator->measurements();
1126 std::vector<TrajectoryMeasurement>::const_iterator tmeasIt;
1129 for (tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end(); tmeasIt++) {
1130 if (!tmeasIt->updatedState().isValid())
1133 if (!testhit->isValid() || testhit->geographicalId().det() !=
DetId::Tracker)
1135 uint testSubDetID = (testhit->geographicalId().subdetId());
1151 if (isBpixtrack || isFpixtrack) {
1157 const std::vector<TrajectoryMeasurement> &tmeasColl = traj_iterator->measurements();
1158 for (std::vector<TrajectoryMeasurement>::const_iterator tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end();
1160 if (!tmeasIt->updatedState().isValid())
1172 const DetId &hit_detId =
hit->geographicalId();
1176 if (IntSubDetID == 0)
1182 if ((persistentHit !=
nullptr) && (
typeid(*persistentHit) ==
typeid(
SiPixelRecHit))) {
1186 float hit_prob = -1.;
1190 if (hit_prob <
pow(10., -15.))
1208 if (theGeomDet ==
nullptr) {
1217 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1225 float clust_alpha = atan2(localDir.
z(), localDir.
x());
1226 float clust_beta = atan2(localDir.
z(), localDir.
y());
1227 double corrCharge = clust->charge() *
1228 sqrt(1.0 / (1.0 /
pow(
tan(clust_alpha), 2) + 1.0 /
pow(
tan(clust_beta), 2) + 1.0)) /
1232 (*pxd).second->fill(
1233 (*clust),
true, corrCharge,
reducedSet,
modOn,
ladOn,
layOn,
phiOn,
bladeOn,
diskOn,
ringOn);
1241 clusterSet.insert(*clust);
1245 float xcenter = clust->x();
1246 float ycenter = clust->y();
1258 barreltrackclusters++;
1261 if (
detId >= 302055684 &&
detId <= 352477708) {
1272 float phi = clustgp.
phi();
1273 float z = clustgp.
z();
1280 int ladderSigned =
ladder;
1281 int moduleSigned =
module;
1294 if (DBlayer ==
i + 1) {
1306 endcaptrackclusters++;
1314 float x = clustgp.
x();
1315 float y = clustgp.
y();
1316 float z = clustgp.
z();
1317 float phi = clustgp.
phi();
1319 float xclust = clust->x();
1320 float yclust = clust->y();
1326 if (DBdisk ==
i + 1) {
1337 if (DBdisk ==
i + 1) {
1371 std::cout <<
"clusters not on track: (size " << clustColl.size() <<
") ";
1373 for (TrackerGeometry::DetContainer::const_iterator
it = TG->
dets().begin();
it != TG->
dets().end();
it++) {
1376 if (
detId >= 302055684 &&
detId <= 352477708) {
1378 int nofclOnTrack = 0, nofclOffTrack = 0;
1381 if (isearch != clustColl.
end()) {
1383 for (di = isearch->
begin(); di != isearch->
end(); di++) {
1384 unsigned int temp = clusterSet.size();
1385 clusterSet.insert(*di);
1387 if (clusterSet.size() >
temp) {
1397 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1401 (*pxd).second->fill((*di),
false, -1.,
reducedSet,
modOn,
ladOn,
layOn,
phiOn,
bladeOn,
diskOn,
ringOn);
1414 if (theGeomDet ==
nullptr) {
1422 float xcenter = di->x();
1423 float ycenter = di->y();
1437 barrelotherclusters++;
1439 float phi = clustgp.
phi();
1443 if (DBlayer ==
i + 1) {
1458 endcapotherclusters++;
1460 float x = clustgp.
x();
1461 float y = clustgp.
y();
1468 if (DBdisk ==
i + 1) {
1478 if (DBdisk ==
i + 1) {
1497 if (theGeomDet ==
nullptr) {
1504 float xcenter = di->x();
1505 float ycenter = di->y();
1516 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1519 (*pxd).second->nfill(
1521 if (nofclOnTrack != 0)
1523 if (nofclOffTrack != 0)
1527 if (nofclOnTrack != 0)
1529 if (nofclOffTrack != 0)
1533 if (DBlayer ==
i + 1) {
1534 if (nofclOnTrack != 0)
1536 if (nofclOffTrack != 0)
1545 if (nofclOnTrack != 0)
1547 if (nofclOffTrack != 0)
1551 if (DBdisk ==
i + 1) {
1552 if (nofclOnTrack != 0)
1554 if (nofclOffTrack != 0)
1561 if (DBdisk ==
i + 1) {
1562 if (nofclOnTrack != 0)
1564 if (nofclOffTrack != 0)
1574 if (trackclusters > 0)
1576 if (barreltrackclusters > 0)
1578 if (endcaptrackclusters > 0)
1580 if (otherclusters > 0)
1582 if (barrelotherclusters > 0)
1584 if (endcapotherclusters > 0)
1588 if (pixeltracks > 0)
1599 std::vector<MonitorElement *> meinput) {
1601 if (ipxsearch != diginp.
end()) {
1604 for (pxdi = ipxsearch->
begin(); pxdi != ipxsearch->
end(); pxdi++) {
1612 if (DBshell == 1 || DBshell == 2) {
1613 DBmodule = -DBmodule;
1615 if (DBshell == 1 || DBshell == 3) {
1616 DBladder = -DBladder;
1619 int col = pxdi->column();
1620 int row = pxdi->row();
1622 float modsign = (
float)DBmodule / (
abs((
float)DBmodule));
1623 float ladsign = (
float)DBladder / (
abs((
float)DBladder));
1624 float rocx = ((
float)
col / (52. * 8.)) * modsign + ((
float)DBmodule - (modsign)*0.5);
1625 float rocy = ((
float)row / (80. * 2.)) * ladsign + ((
float)DBladder - (ladsign)*0.5);
1629 if ((DBladder % 2 == 0) && (!isHalfModule)) {
1632 if ((
flip) && (DBladder > 0)) {
1633 if ((((
float)DBladder - (ladsign)*0.5) <= rocy) && (rocy < (
float)DBladder)) {
1634 rocy = rocy + ladsign * 0.5;
1635 }
else if ((((
float)DBladder) <= rocy) && (rocy < ((
float)DBladder + (ladsign)*0.5))) {
1636 rocy = rocy - ladsign * 0.5;
1642 rocx = rocx - 0.0001;
1645 rocy = rocy - 0.0001;
1647 rocy = rocy + 0.0001;
1649 if (
abs(DBladder) == 1) {
1650 rocy = rocy + ladsign * 0.5;
1654 meinput.at(0)->Fill(rocx, rocy);
1657 meinput.at(1)->Fill(rocx, rocy);
1660 meinput.at(2)->Fill(rocx, rocy);
1680 using namespace std;
1685 double rho = 1 / kap;
1688 double r3 =
sqrt(x3 * x3 + y3 * y3);
1691 cout <<
"warn r1 = " <<
r1 <<
", r3 = " << r3 << endl;
1697 double L =
sqrt((x3 -
x1) * (x3 -
x1) + (y3 -
y1) * (y3 -
y1));
1713 double x0 = 0.5 * (
x1 + x3) + lam /
L * (-
y1 + y3);
1714 double y0 = 0.5 * (
y1 + y3) + lam /
L * (
x1 - x3);
1718 double num = (y3 - y0) * (
x1 - x0) - (x3 - x0) * (
y1 - y0);
1719 double den = (
x1 - x0) * (x3 - x0) + (
y1 - y0) * (y3 - y0);
1720 double tandip = kap * (z3 - z1) / atan(
num / den);
1724 double dphi = atan(((
x1 - x0) * y0 - (
y1 - y0) * x0) / ((
x1 - x0) * x0 + (
y1 - y0) * y0));
1727 double uz0 = z1 + tandip * dphi *
rho;
1749 xx =
x2 + (dca2 * ((x0 -
x2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1750 yy =
y2 + (dca2 * ((y0 -
y2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1751 }
else if (kap >= 0) {
1752 xx =
x2 - (dca2 * ((x0 -
x2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1753 yy =
y2 - (dca2 * ((y0 -
y2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1759 double dphi2 = atan(((
xx - x0) * y0 - (
yy - y0) * x0) / ((
xx - x0) * x0 + (
yy - y0) * y0));
1763 double uz2 = uz0 - dphi2 * tandip *
rho;
1779 int pxfpanel = tTopo->
pxfPanel((*hit).geographicalId());
1780 int pxfmodule = tTopo->
pxfModule((*hit).geographicalId());
1781 int pxfdisk = tTopo->
pxfDisk((*hit).geographicalId());
1782 int pxfblade_off = tTopo->
pxfBlade((*hit).geographicalId());
1793 pxfdisk = -1. * pxfdisk;
1796 if (pxfblade_off <= 6 && pxfblade_off >= 1) {
1797 pxfblade = 7 - pxfblade_off;
1798 }
else if (pxfblade_off <= 18 && pxfblade_off >= 7) {
1799 pxfblade = 6 - pxfblade_off;
1800 }
else if (pxfblade_off <= 24 && pxfblade_off >= 19) {
1801 pxfblade = 31 - pxfblade_off;
1804 int clu_sdpx = ((pxfdisk > 0) ? 1 : -1) * (2 * (
abs(pxfdisk) - 1) + pxfpanel);
1805 int binselx = (pxfpanel == 1 && (pxfmodule == 1 || pxfmodule == 4))
1807 : ((pxfpanel == 1 && xclust < 80.0) || (pxfpanel == 2 && xclust >= 80.0));
1808 int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
1810 ((pxfdisk > 0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((
abs(pxfdisk) == 1) ? pxfdisk : 0);
1812 int clu_roc_biny = -99.;
1813 int nrocly = pxfmodule + pxfpanel;
1814 for (
int i = 0;
i < nrocly;
i++) {
1815 int j = (pxfdisk < 0) ?
i : nrocly - 1 -
i;
1816 if (yclust >= (
j * 52.0) && yclust < ((
j + 1) * 52.0))
1817 clu_roc_biny = 6 - nrocly + 2 *
i + ((pxfblade > 0) ? pxfblade - 1 : pxfblade + 12) * 12 + 1;
1820 clu_roc_biny = clu_roc_biny + 144;
1832 int pxfpanel = pxfid.
panel();
1833 int pxfmodule = pxfid.
module();
1834 int pxfdisk = pxfid.
disk();
1835 int pxfblade_off = pxfid.
blade();
1838 pxfdisk = -1. * pxfdisk;
1842 if (pxfblade_off <= 6 && pxfblade_off >= 1) {
1843 pxfblade = 7 - pxfblade_off;
1844 }
else if (pxfblade_off <= 18 && pxfblade_off >= 7) {
1845 pxfblade = 6 - pxfblade_off;
1846 }
else if (pxfblade_off <= 24 && pxfblade_off >= 19) {
1847 pxfblade = 31 - pxfblade_off;
1850 int clu_sdpx = ((pxfdisk > 0) ? 1 : -1) * (2 * (
abs(pxfdisk) - 1) + pxfpanel);
1851 int binselx = (pxfpanel == 1 && (pxfmodule == 1 || pxfmodule == 4))
1853 : ((pxfpanel == 1 && xclust < 80.0) || (pxfpanel == 2 && xclust >= 80.0));
1854 int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
1856 ((pxfdisk > 0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((
abs(pxfdisk) == 1) ? pxfdisk : 0);
1858 int clu_roc_biny = -99.;
1859 int nrocly = pxfmodule + pxfpanel;
1860 for (
int i = 0;
i < nrocly;
i++) {
1861 int j = (pxfdisk < 0) ?
i : nrocly - 1 -
i;
1862 if (yclust >= (
j * 52.0) && yclust < ((
j + 1) * 52.0))
1863 clu_roc_biny = 6 - nrocly + 2 *
i + ((pxfblade > 0) ? pxfblade - 1 : pxfblade + 12) * 12 + 1;
1866 clu_roc_biny = clu_roc_biny + 144;
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskms
MonitorElement * meClSizeYNotOnTrack_fpix
MonitorElement * meClSizeNotOnTrack_fpix
MonitorElement * meClSizeXNotOnTrack_all
MonitorElement * meSubdetResidualX[3]
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskms
Log< level::Info, true > LogVerbatim
MonitorElement * meClSizeXOnTrack_bpix
edm::EDGetTokenT< reco::TrackCollection > generalTracksToken_
std::vector< MonitorElement * > meClChargeNotOnTrack_diskps
MonitorElement * meClSizeOnTrack_all
MonitorElement * meClSizeOnTrack_bpix
MonitorElement * meClChargeOnTrack_all
unsigned int disk() const
disk id
T getParameter(std::string const &) const
unsigned int pxbLayer(const DetId &id) const
MonitorElement * meNClustersNotOnTrack_all
std::vector< MonitorElement * > meClPosDisksmzNotOnTrack
iterator find(det_id_type id)
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
std::vector< MonitorElement * > meClPosLayersLadVsModOnTrack
edm::EDGetTokenT< std::vector< Trajectory > > tracksrcToken_
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
std::vector< MonitorElement * > meClChargeNotOnTrack_layers
const bool isValid(const Frame &aFrame, const FrameQuality &aQuality, const uint16_t aExpectedPos)
MonitorElement * meNofTracks_
virtual void setCurrentFolder(std::string const &fullpath)
std::vector< MonitorElement * > meClChargeOnTrack_layers
unsigned int pxfBlade(const DetId &id) const
friend struct const_iterator
MonitorElement * meClSizeYOnTrack_fpix
const DetContainer & detsPXB() const
std::string topFolderName_
MonitorElement * meRocBladevsDiskEndcapOnTrk
std::vector< MonitorElement * > meClChargeNotOnTrack_diskms
MonitorElement * meClChargeNotOnTrack_fpix
int layerName() const
layer id
int moduleName() const
module id (index in z)
Geom::Phi< T > phi() const
std::vector< MonitorElement * > meClSizeOnTrack_layers
unsigned int pxfModule(const DetId &id) const
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
T const * product() const
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskms
bool hasFilledProb() const
MonitorElement * meHitProbability
const DetContainer & detsPXF() const
bool isNonnull() const
Checks for non-null.
std::vector< MonitorElement * > meClSizeNotOnTrack_diskms
MonitorElement * meClSizeYNotOnTrack_bpix
const LocalTrajectoryParameters & localParameters() const
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
MonitorElement * meClChargeNotOnTrack_all
MonitorElement * meNofClustersOnTrack_
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > transientTrackingRecHitBuilderToken_
data_type const * const_iterator
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
std::vector< MonitorElement * > meClSizeXOnTrack_diskps
MonitorElement * meSubdetResidualY[3]
std::vector< MonitorElement * > meClPosLayersNotOnTrack
std::vector< MonitorElement * > meClPosDiskspzNotOnTrack
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskps
MonitorElement * meClSizeYOnTrack_bpix
SiPixelTrackResidualSource(const edm::ParameterSet &)
MonitorElement * meNClustersOnTrack_all
MonitorElement * meNofTracksInPixVol_
std::vector< MonitorElement * > meClPosDisksmzOnTrack
const_iterator end(bool update=false) const
std::vector< MonitorElement * > meClSizeXOnTrack_layers
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meClSizeYOnTrack_all
reco::TransientTrack build(const reco::Track *p) const
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< MonitorElement * > meNClustersOnTrack_layers
double x0() const
x coordinate
~SiPixelTrackResidualSource() override
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement *> meinput)
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_layers
void getepixrococcupancyontrk(const TrackerTopology *const tTopo, TransientTrackingRecHit::ConstRecHitPointer hit, float xclust, float yclust, float z, MonitorElement *meinput)
T const * product() const
FreeTrajectoryState initialFreeState() const
MonitorElement * meClSizeNotOnTrack_bpix
bool isHalfModule() const
full or half module
std::vector< MonitorElement * > meZeroRocLadvsModOffTrackBarrel
int diskName() const
disk id
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
MonitorElement * meClChargeOnTrack_fpix
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::vector< MonitorElement * > meClSizeYOnTrack_diskps
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0, bool isUpgrade=false)
Set folder name for a module or plaquette.
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
std::vector< MonitorElement * > meClChargeOnTrack_diskps
std::vector< MonitorElement * > meNClustersOnTrack_diskms
LocalVector momentum() const
Momentum vector in the local frame.
void triplets(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double ptsig, double &dc, double &dz, double kap)
MonitorElement * meClSizeXOnTrack_all
unsigned int pxfDisk(const DetId &id) const
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
std::vector< MonitorElement * > meResidualYSummedLay
MonitorElement * meNClustersOnTrack_fpix
std::vector< MonitorElement * > meClPosLayersOnTrack
#define DEFINE_FWK_MODULE(type)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
TrajectoryStateOnSurface innermostMeasurementState() const
double y0() const
y coordinate
std::vector< MonitorElement * > meClPosDiskspzOnTrack
edm::EDGetTokenT< std::vector< reco::Track > > trackToken_
float clusterProbability(unsigned int flags=0) const
unsigned int module() const
det id
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersrcToken_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
std::vector< MonitorElement * > meClSizeXNotOnTrack_layers
const TrackerGeomDet * idToDet(DetId) const override
iterator end()
Return the off-the-end iterator.
void getepixrococcupancyofftrk(DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput)
std::shared_ptr< TrackingRecHit const > RecHitPointer
MonitorElement * meNClustersNotOnTrack_fpix
std::vector< MonitorElement * > meClSizeYOnTrack_layers
unsigned int blade() const
blade id
std::vector< MonitorElement * > meClChargeOnTrack_diskms
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
MonitorElement * meNClustersOnTrack_bpix
unsigned int pxfPanel(const DetId &id) const
Log< level::Info, false > LogInfo
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
static constexpr float d0
double transverseCurvature() const
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
const_iterator begin(bool update=false) const
const Plane & surface() const
The nominal surface of the GeomDet.
std::vector< MonitorElement * > meNClustersNotOnTrack_layers
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * meClSizeXNotOnTrack_bpix
std::vector< MonitorElement * > meZeroRocLadvsModOnTrackBarrel
XYZPointD XYZPoint
point in space with cartesian internal representation
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskps
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
int layerName() const
layer id
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * meClSizeXNotOnTrack_fpix
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
std::vector< MonitorElement * > meNClustersOnTrack_diskps
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
unsigned int panel() const
panel id
std::vector< MonitorElement * > meClSizeYOnTrack_diskms
MonitorElement * meClChargeNotOnTrack_bpix
double z0() const
z coordinate
Pixel cluster – collection of neighboring pixels above threshold.
MonitorElement * meClSizeXOnTrack_fpix
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
std::vector< MonitorElement * > meClSizeOnTrack_diskps
MonitorElement * meClSizeNotOnTrack_all
int ladderName() const
ladder id (index in phi)
edm::InputTag clustersrc_
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskps
std::vector< MonitorElement * > meNClustersNotOnTrack_diskms
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
iterator begin()
Return an iterator to the first DetSet.
MonitorElement * meNClustersNotOnTrack_bpix
void dqmBeginRun(const edm::Run &r, edm::EventSetup const &iSetup) override
std::vector< MonitorElement * > meClSizeYNotOnTrack_layers
std::vector< MonitorElement * > meResidualXSummedLay
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
std::vector< MonitorElement * > meNClustersNotOnTrack_diskps
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
collection_type::const_iterator const_iterator
MonitorElement * meClChargeOnTrack_bpix
collection_type::const_iterator const_iterator
MonitorElement * meClSizeOnTrack_fpix
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
modOn
online/offline RawDataErrors
MonitorElement * meNofClustersNotOnTrack_
MonitorElement * meClSizeYNotOnTrack_all
std::vector< MonitorElement * > meClSizeNotOnTrack_diskps
std::vector< MonitorElement * > meClSizeOnTrack_diskms
edm::EDGetTokenT< TrajTrackAssociationCollection > trackAssociationToken_
std::vector< MonitorElement * > meClSizeNotOnTrack_layers
Power< A, B >::type pow(const A &a, const B &b)
std::vector< MonitorElement * > meClSizeXOnTrack_diskms
MonitorElement * meRocBladevsDiskEndcapOffTrk
virtual double getBinContent(int binx) const
get content of bin (1-D)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)