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 (TrajectorySeed::const_iterator iter = tjS.recHits().first; iter != tjS.recHits().second; ++iter)
26  ss << "\n\t TrackingRecHit on detid " << iter->geographicalId().rawId() << " \t localPos " << iter->localPosition();
27 }
28 
29 void PrintRecoObjects::print(std::stringstream& ss, const uint32_t& detid, const TrackerTopology* tTopo) const {
30  ss << getString(detid, tTopo);
31 }
32 
33 std::string PrintRecoObjects::getString(uint32_t detid, const TrackerTopology* tTopo) const {
34  std::string append = " ";
35  char cindex[128];
36  SiStripDetId a(detid);
37  if (a.subdetId() == 3) {
38  append += "_TIB_L";
39  sprintf(cindex, "%d", tTopo->tibLayer(detid));
40  } else if (a.subdetId() == 4) {
41  if (tTopo->tidSide(detid) == 1) {
42  append += "_M_D";
43  } else {
44  append += "_M_P";
45  }
46  sprintf(cindex, "%d", tTopo->tidWheel(detid));
47  } else if (a.subdetId() == 5) {
48  append += "_TOB_L";
49  sprintf(cindex, "%d", tTopo->tobLayer(detid));
50  } else if (a.subdetId() == 6) {
51  if (tTopo->tecSide(detid) == 1) {
52  append += "_TEC_M";
53  } else {
54  append += "_TEC_P";
55  }
56  sprintf(cindex, "%d", tTopo->tecWheel(detid));
57  }
58 
59  append += std::string(cindex);
60  return append;
61 }
62 
63 void PrintRecoObjects::print(std::stringstream& ss, const reco::Track* track, const math::XYZPoint& vx) {
64  ss << "[PrintObject] "
65  << "\n\tcharge \t" << track->charge() << "\talgo \t" << track->algo() << "\n\treferencePoint \t"
66  << track->referencePoint() << " \t r: " << track->referencePoint().rho() << "\n\tinnerpos \t"
67  << track->innerPosition() << " \t r: " << track->innerPosition().rho();
68 
69  ss << "\n\tmomentum \t" << track->momentum() << " pt " << track->momentum().rho() << "\n\tinnerMom \t"
70  << track->innerMomentum() << " pt " << track->innerMomentum().rho();
71 
72  ss << "\n\tinnerok \t" << track->innerOk() << "\n\tinnerdetid \t" << track->innerDetId() << "\n\tdxy \t"
73  << track->dxy() << "\n\tdxy(vx) \t" << track->dxy(vx) << "\t where vx \t" << vx << std::endl;
74 }
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:632
T mag2() const
Definition: PV3DBase.h:63
unsigned int tibLayer(const DetId &id) const
std::string getString(uint32_t detid, const TrackerTopology *tTopo) const
T y() const
Definition: PV3DBase.h:60
bool innerOk() const
return true if the innermost hit is valid
Definition: Track.h:53
unsigned int tidWheel(const DetId &id) const
uint16_t firstStrip() const
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:629
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:56
TrackAlgorithm algo() const
Definition: TrackBase.h:526
unsigned int tidSide(const DetId &id) const
recHitContainer::const_iterator const_iterator
T sqrt(T t)
Definition: SSEVec.h:19
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
float barycenter() const
unsigned int detId() const
void print(std::stringstream &ss, const SiStripCluster &clus)
LocalVector momentum() const
Momentum vector in the local frame.
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
PTrajectoryStateOnDet const & startingState() const
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
range recHits() const
TrackCharge charge() const
Charge (-1, 0 or 1)
unsigned int nHits() const
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
Definition: Track.h:59
double a
Definition: hdecay.h:119
int charge() const
track electric charge
Definition: TrackBase.h:575
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:587
unsigned int tecWheel(const DetId &id) const
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.
Definition: Track.h:82
const std::vector< uint8_t > & amplitudes() const
const LocalTrajectoryParameters & parameters() const
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const