CMS 3D CMS Logo

PrintRecoObjects.cc
Go to the documentation of this file.
1 #include "PrintRecoObjects.h"
4 
5 void PrintRecoObjects::print(std::stringstream& ss, const SiStripCluster& clus) {
6  ss << "\n\t"
7  << " firstStrip " << clus.firstStrip() << " size " << clus.amplitudes().size();
8  float charge = 0;
9  size_t idx = 0;
10  for (auto adc : clus.amplitudes()) {
11  charge += adc;
12  ss << "\n\t\t strip " << ++idx << " adc " << (size_t)adc;
13  }
14  ss << "\n\t\t charge " << charge << " barycenter " << clus.barycenter() << std::endl;
15 }
16 
17 void PrintRecoObjects::print(std::stringstream& ss, const TrajectorySeed& tjS) {
18  ss << "\n\t nHits " << tjS.nHits() << "\n\t PTrajectoryStateOnDet: detid " << tjS.startingState().detId()
19  << " tsos momentum" << tjS.startingState().parameters().momentum() << " pt "
20  << sqrt(tjS.startingState().parameters().momentum().mag2() -
22  << " charge " << tjS.startingState().parameters().charge() << "\n\t error ";
23  for (size_t ie = 0; ie < 15; ++ie)
24  ss << "\t " << tjS.startingState().error(ie);
25  for (auto const& recHit : tjS.recHits()) {
26  ss << "\n\t TrackingRecHit on detid " << recHit.geographicalId().rawId() << " \t localPos "
27  << recHit.localPosition();
28  }
29 }
30 
31 void PrintRecoObjects::print(std::stringstream& ss, const uint32_t& detid, const TrackerTopology* tTopo) const {
32  ss << getString(detid, tTopo);
33 }
34 
36  std::string append = " ";
37  char cindex[128];
39  if (a.subdetId() == 3) {
40  append += "_TIB_L";
41  sprintf(cindex, "%d", tTopo->tibLayer(detid));
42  } else if (a.subdetId() == 4) {
43  if (tTopo->tidSide(detid) == 1) {
44  append += "_M_D";
45  } else {
46  append += "_M_P";
47  }
48  sprintf(cindex, "%d", tTopo->tidWheel(detid));
49  } else if (a.subdetId() == 5) {
50  append += "_TOB_L";
51  sprintf(cindex, "%d", tTopo->tobLayer(detid));
52  } else if (a.subdetId() == 6) {
53  if (tTopo->tecSide(detid) == 1) {
54  append += "_TEC_M";
55  } else {
56  append += "_TEC_P";
57  }
58  sprintf(cindex, "%d", tTopo->tecWheel(detid));
59  }
60 
61  append += std::string(cindex);
62  return append;
63 }
64 
65 void PrintRecoObjects::print(std::stringstream& ss, const reco::Track* track, const math::XYZPoint& vx) {
66  ss << "[PrintObject] "
67  << "\n\tcharge \t" << track->charge() << "\talgo \t" << track->algo() << "\n\treferencePoint \t"
68  << track->referencePoint() << " \t r: " << track->referencePoint().rho() << "\n\tinnerpos \t"
69  << track->innerPosition() << " \t r: " << track->innerPosition().rho();
70 
71  ss << "\n\tmomentum \t" << track->momentum() << " pt " << track->momentum().rho() << "\n\tinnerMom \t"
72  << track->innerMomentum() << " pt " << track->innerMomentum().rho();
73 
74  ss << "\n\tinnerok \t" << track->innerOk() << "\n\tinnerdetid \t" << track->innerDetId() << "\n\tdxy \t"
75  << track->dxy() << "\n\tdxy(vx) \t" << track->dxy(vx) << "\t where vx \t" << vx << std::endl;
76 }
unsigned int tobLayer(const DetId &id) const
uint16_t firstStrip() const
RecHitRange recHits() const
unsigned int tidSide(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
T mag2() const
Definition: PV3DBase.h:63
unsigned int detId() const
T y() const
Definition: PV3DBase.h:60
unsigned int tecSide(const DetId &id) const
SiStripCluster const & amplitudes() const
unsigned int nHits() const
T sqrt(T t)
Definition: SSEVec.h:23
auto size() const
LocalVector momentum() const
Momentum vector in the local frame.
std::string getString(uint32_t detid, const TrackerTopology *tTopo) const
void print(std::stringstream &ss, const SiStripCluster &clus)
const LocalTrajectoryParameters & parameters() const
PTrajectoryStateOnDet const & startingState() const
TrackCharge charge() const
Charge (-1, 0 or 1)
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:19
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double a
Definition: hdecay.h:121
float barycenter() const
unsigned int tibLayer(const DetId &id) const
uint16_t *__restrict__ uint16_t const *__restrict__ adc