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();
915 for (reco::TrackCollection::const_iterator iTrack = TracksForRes->begin(); iTrack != TracksForRes->end(); ++iTrack) {
922 double pt = iTrack->pt();
925 if (
abs(iTrack->dxy(vtxP)) > 5 * iTrack->dxyError())
928 double charge = iTrack->charge();
935 if (iTrack->extra().isNonnull() && iTrack->extra().isAvailable()) {
950 vector<TransientTrackingRecHit::RecHitPointer> GoodPixBarrelHits;
953 if ((*irecHit)->isValid()) {
954 DetId detId = (*irecHit)->geographicalId();
956 if (detId.
det() != 1) {
958 cout <<
"rec hit ID = " << detId.
det() <<
" not in tracker!?!?\n";
969 double gX = trecHit->globalPosition().x();
970 double gY = trecHit->globalPosition().y();
971 double gZ = trecHit->globalPosition().z();
982 GoodPixBarrelHits.push_back((trecHit));
990 GoodPixBarrelHits.push_back((trecHit));
998 GoodPixBarrelHits.push_back((trecHit));
1007 if (n1 + n2 + n3 == 3 && n1 * n2 * n3 > 0) {
1008 for (
unsigned int i = 0;
i < GoodPixBarrelHits.size();
i++) {
1009 if (GoodPixBarrelHits[
i]->
isValid()) {
1010 DetId detId = GoodPixBarrelHits[
i]->geographicalId().
rawId();
1013 double dca2 = 0.0, dz2 = 0.0;
1026 triplets(
x2,
y2,
z2,
x1,
y1, z1, x3, y3, z3, ptsig, dca2, dz2, kap);
1029 residual = Test - Test2;
1033 triplets(
x1,
y1, z1,
x2,
y2,
z2, x3, y3, z3, ptsig, dca2, dz2, kap);
1036 residual = Test - Test2;
1040 triplets(
x1,
y1, z1, x3, y3, z3,
x2,
y2,
z2, ptsig, dca2, dz2, kap);
1043 residual = Test - Test2;
1047 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
theSiPixelStructure.find(detId);
1074 auto const &clustColl = *(clusterColl.
product());
1081 std::set<SiPixelCluster> clusterSet;
1083 int tracks = 0, pixeltracks = 0, bpixtracks = 0, fpixtracks = 0;
1084 int trackclusters = 0, barreltrackclusters = 0, endcaptrackclusters = 0;
1085 int otherclusters = 0, barrelotherclusters = 0, endcapotherclusters = 0;
1094 std::cout <<
"Trajectories for Res from " <<
labels.module << std::endl;
1097 if (trajCollectionHandle.
isValid()) {
1098 auto const &trajColl = *(trajCollectionHandle.
product());
1102 auto const &ttac = *(
match.product());
1105 std::cout <<
"Trajectories\t : " << trajColl.size() << std::endl;
1107 std::cout <<
"Map entries \t : " << ttac.size() << std::endl;
1117 bool isBpixtrack =
false, isFpixtrack =
false, crossesPixVol =
false;
1122 double d0 = (*trackref).d0(),
dz = (*trackref).dz();
1125 crossesPixVol =
true;
1127 const std::vector<TrajectoryMeasurement> &tmeasColl = traj_iterator->measurements();
1128 std::vector<TrajectoryMeasurement>::const_iterator tmeasIt;
1131 for (tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end(); tmeasIt++) {
1132 if (!tmeasIt->updatedState().isValid())
1135 if (!testhit->isValid() || testhit->geographicalId().det() !=
DetId::Tracker)
1137 uint testSubDetID = (testhit->geographicalId().subdetId());
1153 if (isBpixtrack || isFpixtrack) {
1159 const std::vector<TrajectoryMeasurement> &tmeasColl = traj_iterator->measurements();
1160 for (std::vector<TrajectoryMeasurement>::const_iterator tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end();
1162 if (!tmeasIt->updatedState().isValid())
1174 const DetId &hit_detId =
hit->geographicalId();
1178 if (IntSubDetID == 0)
1184 if ((persistentHit !=
nullptr) && (
typeid(*persistentHit) ==
typeid(
SiPixelRecHit))) {
1188 float hit_prob = -1.;
1192 if (hit_prob <
pow(10., -15.))
1210 if (theGeomDet ==
nullptr) {
1219 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1227 float clust_alpha = atan2(localDir.
z(), localDir.
x());
1228 float clust_beta = atan2(localDir.
z(), localDir.
y());
1229 double corrCharge = clust->charge() *
1230 sqrt(1.0 / (1.0 /
pow(
tan(clust_alpha), 2) + 1.0 /
pow(
tan(clust_beta), 2) + 1.0)) /
1234 (*pxd).second->fill(
1235 (*clust),
true, corrCharge,
reducedSet,
modOn,
ladOn,
layOn,
phiOn,
bladeOn,
diskOn,
ringOn);
1243 clusterSet.insert(*clust);
1247 float xcenter = clust->x();
1248 float ycenter = clust->y();
1260 barreltrackclusters++;
1262 DetId detId = (*hit).geographicalId();
1263 if (detId >= 302055684 && detId <= 352477708) {
1274 float phi = clustgp.
phi();
1275 float z = clustgp.
z();
1282 int ladderSigned =
ladder;
1283 int moduleSigned =
module;
1296 if (DBlayer ==
i + 1) {
1308 endcaptrackclusters++;
1316 float x = clustgp.
x();
1317 float y = clustgp.
y();
1318 float z = clustgp.
z();
1319 float phi = clustgp.
phi();
1321 float xclust = clust->x();
1322 float yclust = clust->y();
1328 if (DBdisk ==
i + 1) {
1339 if (DBdisk ==
i + 1) {
1373 std::cout <<
"clusters not on track: (size " << clustColl.size() <<
") ";
1375 for (TrackerGeometry::DetContainer::const_iterator it = TG->
dets().begin(); it != TG->
dets().end(); it++) {
1377 DetId detId = (*it)->geographicalId();
1378 if (detId >= 302055684 && detId <= 352477708) {
1380 int nofclOnTrack = 0, nofclOffTrack = 0;
1383 if (isearch != clustColl.
end()) {
1385 for (di = isearch->
begin(); di != isearch->
end(); di++) {
1386 unsigned int temp = clusterSet.size();
1387 clusterSet.insert(*di);
1389 if (clusterSet.size() >
temp) {
1399 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1403 (*pxd).second->fill((*di),
false, -1.,
reducedSet,
modOn,
ladOn,
layOn,
phiOn,
bladeOn,
diskOn,
ringOn);
1416 if (theGeomDet ==
nullptr) {
1424 float xcenter = di->x();
1425 float ycenter = di->y();
1434 if (
DetId(detId).subdetId() == 1) {
1439 barrelotherclusters++;
1441 float phi = clustgp.
phi();
1445 if (DBlayer ==
i + 1) {
1460 endcapotherclusters++;
1462 float x = clustgp.
x();
1463 float y = clustgp.
y();
1470 if (DBdisk ==
i + 1) {
1480 if (DBdisk ==
i + 1) {
1499 if (theGeomDet ==
nullptr) {
1506 float xcenter = di->x();
1507 float ycenter = di->y();
1518 std::map<uint32_t, SiPixelTrackResidualModule *>::iterator pxd =
1521 (*pxd).second->nfill(
1523 if (nofclOnTrack != 0)
1525 if (nofclOffTrack != 0)
1528 if (
DetId(detId).subdetId() == 1) {
1529 if (nofclOnTrack != 0)
1531 if (nofclOffTrack != 0)
1535 if (DBlayer ==
i + 1) {
1536 if (nofclOnTrack != 0)
1538 if (nofclOffTrack != 0)
1544 if (
DetId(detId).subdetId() == 2) {
1547 if (nofclOnTrack != 0)
1549 if (nofclOffTrack != 0)
1553 if (DBdisk ==
i + 1) {
1554 if (nofclOnTrack != 0)
1556 if (nofclOffTrack != 0)
1563 if (DBdisk ==
i + 1) {
1564 if (nofclOnTrack != 0)
1566 if (nofclOffTrack != 0)
1576 if (trackclusters > 0)
1578 if (barreltrackclusters > 0)
1580 if (endcaptrackclusters > 0)
1582 if (otherclusters > 0)
1584 if (barrelotherclusters > 0)
1586 if (endcapotherclusters > 0)
1590 if (pixeltracks > 0)
1601 std::vector<MonitorElement *> meinput) {
1603 if (ipxsearch != diginp.
end()) {
1606 for (pxdi = ipxsearch->
begin(); pxdi != ipxsearch->
end(); pxdi++) {
1614 if (DBshell == 1 || DBshell == 2) {
1615 DBmodule = -DBmodule;
1617 if (DBshell == 1 || DBshell == 3) {
1618 DBladder = -DBladder;
1621 int col = pxdi->column();
1622 int row = pxdi->row();
1624 float modsign = (
float)DBmodule / (
abs((
float)DBmodule));
1625 float ladsign = (
float)DBladder / (
abs((
float)DBladder));
1626 float rocx = ((
float)
col / (52. * 8.)) * modsign + ((
float)DBmodule - (modsign)*0.5);
1627 float rocy = ((
float)row / (80. * 2.)) * ladsign + ((
float)DBladder - (ladsign)*0.5);
1631 if ((DBladder % 2 == 0) && (!isHalfModule)) {
1634 if ((
flip) && (DBladder > 0)) {
1635 if ((((
float)DBladder - (ladsign)*0.5) <= rocy) && (rocy < (
float)DBladder)) {
1636 rocy = rocy + ladsign * 0.5;
1637 }
else if ((((
float)DBladder) <= rocy) && (rocy < ((
float)DBladder + (ladsign)*0.5))) {
1638 rocy = rocy - ladsign * 0.5;
1644 rocx = rocx - 0.0001;
1647 rocy = rocy - 0.0001;
1649 rocy = rocy + 0.0001;
1651 if (
abs(DBladder) == 1) {
1652 rocy = rocy + ladsign * 0.5;
1656 meinput.at(0)->Fill(rocx, rocy);
1659 meinput.at(1)->Fill(rocx, rocy);
1662 meinput.at(2)->Fill(rocx, rocy);
1682 using namespace std;
1687 double rho = 1 / kap;
1690 double r3 =
sqrt(x3 * x3 + y3 * y3);
1693 cout <<
"warn r1 = " <<
r1 <<
", r3 = " << r3 << endl;
1699 double L =
sqrt((x3 -
x1) * (x3 -
x1) + (y3 -
y1) * (y3 -
y1));
1715 double x0 = 0.5 * (
x1 + x3) + lam /
L * (-
y1 + y3);
1716 double y0 = 0.5 * (
y1 + y3) + lam /
L * (
x1 - x3);
1720 double num = (y3 - y0) * (
x1 - x0) - (x3 - x0) * (
y1 - y0);
1721 double den = (
x1 - x0) * (x3 - x0) + (
y1 - y0) * (y3 - y0);
1722 double tandip = kap * (z3 - z1) / atan(
num / den);
1726 double dphi = atan(((
x1 - x0) * y0 - (
y1 - y0) * x0) / ((
x1 - x0) * x0 + (
y1 - y0) * y0));
1729 double uz0 = z1 + tandip * dphi *
rho;
1751 xx =
x2 + (dca2 * ((x0 -
x2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1752 yy =
y2 + (dca2 * ((y0 -
y2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1753 }
else if (kap >= 0) {
1754 xx =
x2 - (dca2 * ((x0 -
x2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1755 yy =
y2 - (dca2 * ((y0 -
y2)) /
sqrt((x0 -
x2) * (x0 -
x2) + (y0 -
y2) * (y0 -
y2)));
1761 double dphi2 = atan(((
xx - x0) * y0 - (
yy - y0) * x0) / ((
xx - x0) * x0 + (
yy - y0) * y0));
1765 double uz2 = uz0 - dphi2 * tandip *
rho;
1781 int pxfpanel = tTopo->
pxfPanel((*hit).geographicalId());
1782 int pxfmodule = tTopo->
pxfModule((*hit).geographicalId());
1783 int pxfdisk = tTopo->
pxfDisk((*hit).geographicalId());
1784 int pxfblade_off = tTopo->
pxfBlade((*hit).geographicalId());
1795 pxfdisk = -1. * pxfdisk;
1798 if (pxfblade_off <= 6 && pxfblade_off >= 1) {
1799 pxfblade = 7 - pxfblade_off;
1800 }
else if (pxfblade_off <= 18 && pxfblade_off >= 7) {
1801 pxfblade = 6 - pxfblade_off;
1802 }
else if (pxfblade_off <= 24 && pxfblade_off >= 19) {
1803 pxfblade = 31 - pxfblade_off;
1806 int clu_sdpx = ((pxfdisk > 0) ? 1 : -1) * (2 * (
abs(pxfdisk) - 1) + pxfpanel);
1807 int binselx = (pxfpanel == 1 && (pxfmodule == 1 || pxfmodule == 4))
1809 : ((pxfpanel == 1 && xclust < 80.0) || (pxfpanel == 2 && xclust >= 80.0));
1810 int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
1812 ((pxfdisk > 0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((
abs(pxfdisk) == 1) ? pxfdisk : 0);
1814 int clu_roc_biny = -99.;
1815 int nrocly = pxfmodule + pxfpanel;
1816 for (
int i = 0;
i < nrocly;
i++) {
1817 int j = (pxfdisk < 0) ?
i : nrocly - 1 -
i;
1818 if (yclust >= (
j * 52.0) && yclust < ((
j + 1) * 52.0))
1819 clu_roc_biny = 6 - nrocly + 2 *
i + ((pxfblade > 0) ? pxfblade - 1 : pxfblade + 12) * 12 + 1;
1822 clu_roc_biny = clu_roc_biny + 144;
1834 int pxfpanel = pxfid.
panel();
1835 int pxfmodule = pxfid.
module();
1836 int pxfdisk = pxfid.
disk();
1837 int pxfblade_off = pxfid.
blade();
1840 pxfdisk = -1. * pxfdisk;
1844 if (pxfblade_off <= 6 && pxfblade_off >= 1) {
1845 pxfblade = 7 - pxfblade_off;
1846 }
else if (pxfblade_off <= 18 && pxfblade_off >= 7) {
1847 pxfblade = 6 - pxfblade_off;
1848 }
else if (pxfblade_off <= 24 && pxfblade_off >= 19) {
1849 pxfblade = 31 - pxfblade_off;
1852 int clu_sdpx = ((pxfdisk > 0) ? 1 : -1) * (2 * (
abs(pxfdisk) - 1) + pxfpanel);
1853 int binselx = (pxfpanel == 1 && (pxfmodule == 1 || pxfmodule == 4))
1855 : ((pxfpanel == 1 && xclust < 80.0) || (pxfpanel == 2 && xclust >= 80.0));
1856 int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
1858 ((pxfdisk > 0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((
abs(pxfdisk) == 1) ? pxfdisk : 0);
1860 int clu_roc_biny = -99.;
1861 int nrocly = pxfmodule + pxfpanel;
1862 for (
int i = 0;
i < nrocly;
i++) {
1863 int j = (pxfdisk < 0) ?
i : nrocly - 1 -
i;
1864 if (yclust >= (
j * 52.0) && yclust < ((
j + 1) * 52.0))
1865 clu_roc_biny = 6 - nrocly + 2 *
i + ((pxfblade > 0) ? pxfblade - 1 : pxfblade + 12) * 12 + 1;
1868 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
constexpr Detector det() const
get the detector field from this detid
SiPixelTrackResidualSource(const edm::ParameterSet &)
key_type key() const
Accessor for product key.
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
constexpr uint32_t rawId() const
get the raw id
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)