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();
44 for(
auto const& thehit : track->recHits()) {
47 if (thehit->isValid())hitpos=thehit->localPosition();
48 if(thehit->geographicalId().rawId()==detid&&
49 (hitpos - pos).
mag() < 1
e-4)
52 thehitref = track->extra()->recHitRef(i-1);
90 monofwd=monodet->
toLocal(gtrkdirfwd);
91 monobwd=monodet->
toLocal(gtrkdirbwd);
92 monoup=monodet->
toLocal(gtrkdirup);
93 monoco=monodet->
toLocal(gtrkdirco);
103 stereofwd=stereodet->toLocal(gtrkdirfwd);
104 stereobwd=stereodet->toLocal(gtrkdirbwd);
105 stereoup=stereodet->toLocal(gtrkdirup);
106 stereoco=stereodet->toLocal(gtrkdirco);
127 monofwd= det->
toLocal(gtrkdirfwd);
128 monobwd= det->
toLocal(gtrkdirbwd);
129 monoup= det->
toLocal(gtrkdirup);
130 monoco= det->
toLocal(gtrkdirco);
138 stereofwd= det->
toLocal(gtrkdirfwd);
139 stereobwd= det->
toLocal(gtrkdirbwd);
140 stereoup= det->
toLocal(gtrkdirup);
141 stereoco= det->
toLocal(gtrkdirco);
149 if(!forwardPredictedStateTag_.empty()) states.insert(std::make_pair(
FwPredicted,
TrackingStateInfo(std::make_pair(monofwd,stereofwd), std::make_pair(pmonofwd,pstereofwd), fwdptsod)));
150 if(!backwardPredictedStateTag_.empty())states.insert(std::make_pair(
BwPredicted,
TrackingStateInfo(std::make_pair(monobwd,stereobwd), std::make_pair(pmonobwd,pstereobwd), bwdptsod)));
151 if(!updatedStateTag_.empty())states.insert(std::make_pair(
Updated,
TrackingStateInfo(std::make_pair(monoup,stereoup), std::make_pair(pmonoup,pstereoup), updatedptsod)));
152 if(!combinedStateTag_.empty())states.insert(std::make_pair(
Combined,
TrackingStateInfo(std::make_pair(monoco,stereoco), std::make_pair(pmonoco,pstereoco), combinedptsod)));
159 trajinfo.insert(std::make_pair(thehitref,tkRecHitInfo));
165 output=
TrackInfo((traj_iterator->seed()),trajinfo);
179 float scale=-projposition.
z()/trackdirection.
z();
181 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.
constexpr uint32_t rawId() const
get the raw id
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.
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
std::map< TrackingRecHitRef, TrackingRecHitInfo > TrajectoryInfo
default constructor