20 std::vector<TrajectoryMeasurement> measurements =traj_iterator->measurements();
22 std::vector<TrajectoryMeasurement>::iterator traj_mes_iterator;
26 for(traj_mes_iterator=measurements.begin();traj_mes_iterator!=measurements.end();++traj_mes_iterator){
36 if (ttrh->isValid())pos=ttrh->hit()->localPosition() ;
38 unsigned int detid=ttrh->hit()->geographicalId().rawId();
45 for (thehit=track->recHitsBegin();thehit!=track->recHitsEnd();thehit++){
48 if ((*thehit)->isValid())hitpos=(*thehit)->localPosition();
49 if((*thehit)->geographicalId().rawId()==detid&&
50 (hitpos - pos).
mag() < 1
e-4)
53 thehitref = track->extra()->recHitRef(i-1);
91 monofwd=monodet->
toLocal(gtrkdirfwd);
92 monobwd=monodet->
toLocal(gtrkdirbwd);
93 monoup=monodet->
toLocal(gtrkdirup);
94 monoco=monodet->
toLocal(gtrkdirco);
104 stereofwd=stereodet->toLocal(gtrkdirfwd);
105 stereobwd=stereodet->toLocal(gtrkdirbwd);
106 stereoup=stereodet->toLocal(gtrkdirup);
107 stereoco=stereodet->toLocal(gtrkdirco);
128 monofwd= det->
toLocal(gtrkdirfwd);
129 monobwd= det->
toLocal(gtrkdirbwd);
130 monoup= det->
toLocal(gtrkdirup);
131 monoco= det->
toLocal(gtrkdirco);
139 stereofwd= det->
toLocal(gtrkdirfwd);
140 stereobwd= det->
toLocal(gtrkdirbwd);
141 stereoup= det->
toLocal(gtrkdirup);
142 stereoco= det->
toLocal(gtrkdirco);
150 if(forwardPredictedStateTag_!=
"") states.insert(std::make_pair(
FwPredicted,
TrackingStateInfo(std::make_pair(monofwd,stereofwd), std::make_pair(pmonofwd,pstereofwd), fwdptsod)));
151 if(backwardPredictedStateTag_!=
"")states.insert(std::make_pair(
BwPredicted,
TrackingStateInfo(std::make_pair(monobwd,stereobwd), std::make_pair(pmonobwd,pstereobwd), bwdptsod)));
152 if(updatedStateTag_!=
"")states.insert(std::make_pair(
Updated,
TrackingStateInfo(std::make_pair(monoup,stereoup), std::make_pair(pmonoup,pstereoup), updatedptsod)));
153 if(combinedStateTag_!=
"")states.insert(std::make_pair(
Combined,
TrackingStateInfo(std::make_pair(monoco,stereoco), std::make_pair(pmonoco,pstereoco), combinedptsod)));
160 trajinfo.insert(std::make_pair(thehitref,tkRecHitInfo));
166 output=
TrackInfo((traj_iterator->seed()),trajinfo);
180 float scale=-projposition.
z()/trackdirection.
z();
182 projposition+= scale*trackdirection;
const GeomDetUnit * monoDet() const
TSOS combine(const TSOS &pTsos1, const TSOS &pTsos2) const
LocalPoint position() const
Local x and y position coordinates.
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
const Plane & surface() const
The nominal surface of the GeomDet.
uint32_t rawId() const
get the raw id
std::map< StateType, TrackingStateInfo > TrackingStates
TrackingRecHit::ConstRecHitPointer ConstRecHitPointer
LocalVector momentum() const
Momentum vector in the local frame.
SiStripRecHit2D originalHit() const
static int position[264][3]
void run(const edm::Ref< std::vector< Trajectory > > traj_iterator, reco::TrackRef track, reco::TrackInfo &output, const TrackerGeometry *tracker)
const TrackerGeomDet * idToDet(DetId) const override
DetId geographicalId() const
LocalPoint project(const GeomDet *det, const GeomDet *projdet, LocalPoint position, LocalVector trackdirection) const
const GeomDetUnit * stereoDet() const
const LocalTrajectoryParameters & parameters() const
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
std::map< TrackingRecHitRef, TrackingRecHitInfo > TrajectoryInfo
default constructor