208 file <<
", If[rt, {AbsolutePointSize[6]";
217 const std::vector<Trajectory>* trajectories = trajectoryHandle.
product();
221 << recTracks->size();
225 file <<
", RGBColor[0,0,0.4]";
226 reco::TrackCollection::const_iterator recTrack = recTracks->begin();
229 for(std::vector<Trajectory>::const_iterator it = trajectories->begin();
230 it!= trajectories->end();
231 it++, i++, recTrack++)
239 ostringstream
o; o <<
i;
241 ostringstream d; d << fixed << std::setprecision(2)
242 <<
" | d0=" << recTrack->d0() <<
" cm"
243 <<
" | z0=" << recTrack->dz() <<
" cm"
244 <<
" | pt=" << recTrack->pt() <<
" GeV/c";
248 for(std::vector<TrajectoryMeasurement>::const_reverse_iterator
269 theRecHits.printPixelRecHit(pixelRecHit);
276 const SiStripMatchedRecHit2D* stripMatchedRecHit =
277 dynamic_cast<const SiStripMatchedRecHit2D *
>(recHit);
280 const SiStripRecHit2D* stripRecHit =
281 dynamic_cast<const SiStripRecHit2D *
>(recHit);
283 if(stripMatchedRecHit != 0)
285 auto m = stripMatchedRecHit->monoHit();
286 auto s = stripMatchedRecHit->stereoHit();
287 theRecHits.printStripRecHit(&
m);
288 theRecHits.printStripRecHit(&
s);
290 DetId id = stripMatchedRecHit->geographicalId();
291 LocalPoint lpos = stripMatchedRecHit->localPosition();
294 file <<
", Point[{"<< p.
x()<<
","<<p.
y()<<
",("<<p.
z()<<
"-zs)*mz}]" << std::endl;
297 if(stripProjectedRecHit != 0)
298 theRecHits.printStripRecHit(&(stripProjectedRecHit->
originalHit()));
301 theRecHits.printStripRecHit(stripRecHit);
303 if(stripMatchedRecHit != 0 ||
304 stripProjectedRecHit != 0 ||
315 recTrack = recTracks->begin();
317 for(std::vector<Trajectory>::const_iterator it = trajectories->begin();
318 it!= trajectories->end();
322 switch(recTrack->algo())
330 if(algo == 0)
file <<
", RGBColor[1,0,0]";
331 if(algo == 1)
file <<
", RGBColor[0.2,0.6,0.2]";
332 if(algo == 2)
file <<
", RGBColor[0.2,0.2,0.6]";
334 std::vector<TrajectoryMeasurement> meas = it->measurements();
336 for(std::vector<TrajectoryMeasurement>::reverse_iterator im = meas.rbegin();
337 im!= meas.rend(); im++)
339 if(im == meas.rbegin())
342 GlobalVector v2 = (*(im )).updatedState().globalDirection();
344 recTrack->vertex().y(),
345 recTrack->vertex().z());
350 if(im+1 != meas.rend())
352 GlobalPoint p1 = (*(im )).updatedState().globalPosition();
353 GlobalPoint p2 = (*(im+1)).updatedState().globalPosition();
354 GlobalVector v2 = (*(im+1)).updatedState().globalDirection();
361 GlobalPoint p1 = (*(meas.rend()-1)).forwardPredictedState().globalPosition();
367 Cylinder::ConstCylinderPointer theCylinder =
void printHelix(const GlobalPoint &p1, const GlobalPoint &p2, const GlobalVector &n2, std::ofstream &outFile, int charge)
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Global3DPoint GlobalPoint
std::vector< Track > TrackCollection
collection of Tracks
virtual SubDetector subDetector() const =0
Which subdetector.
GlobalPoint globalPosition() const
TrackerHitAssociator * theHitAssociator
const TrackerGeometry * theTracker
DataContainer const & measurements() const
static PlanePointer build(Args &&...args)
const Propagator * thePropagator
virtual const GeomDet * idToDet(DetId) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
std::string getStripInfo(const TrackingRecHit *recHit, const TrackerTopology *tTopo, const std::ostringstream &o, const std::ostringstream &d)
T const * product() const
T const * product() const
FreeTrajectoryState getTrajectoryAtOuterPoint(const reco::Track &track)
std::string getPixelInfo(const TrackingRecHit *recHit, const TrackerTopology *tTopo, const std::ostringstream &o, const std::ostringstream &d)
DetId geographicalId() const
const SiStripRecHit2D & originalHit() const
std::string trackProducer
GlobalVector globalDirection() const