79 auto out = std::make_unique<std::vector<TrajectorySeed>>();
80 unsigned int nsrc = src->size();
91 const std::vector<TrajectoryMeasurement> &tms = traj.
front().measurements();
96 std::cout <<
"Considering muon of pt " << mu.
pt() <<
", eta = " << mu.
eta() <<
", phi = " << mu.
phi()
99 <<
" to momentum, so will start from " << (fromInside ?
"inside" :
"outside") << std::endl;
104 std::cout <<
"IN state: subdetector = " << tin.
recHit()->geographicalId().subdetId() << std::endl;
107 std::cout <<
"OU state: subdetector = " << tou.
recHit()->geographicalId().subdetId() << std::endl;
111 int lastSubdet = 0, lastLayer = -1;
112 for (
int i = (fromInside ? 0 : tms.size() - 1),
113 end = (fromInside ? tms.size() : -1),
114 step = (fromInside ? +1 : -1),
119 hit = tms[
i].recHit()->
hit();
127 if (subdet != lastSubdet || lay != lastLayer) {
139 tsos = tms[
i].updatedState().
isValid()
140 ? tms[
i].updatedState()
141 : (
abs(
i -
end) <
abs(
i) ? tms[
i].forwardPredictedState() : tms[
i].backwardPredictedState());
143 std::cout <<
" hit : subdetector = " << tms[
i].recHit()->geographicalId().subdetId() << std::endl;
145 std::cout <<
" global pos Rho " << tms[
i].recHit()->globalPosition().perp() <<
", Z " 146 << tms[
i].recHit()->globalPosition().z() << std::endl;
148 std::cout <<
" invalid tracking rec hit, so no global position" << std::endl;
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
TrackRef track() const override
reference to a Track
double eta() const final
momentum pseudorapidity
TrackTransformer refitter_
Track Transformer.
ConstRecHitPointer const & recHit() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
constexpr uint32_t rawId() const
get the raw id
StringCutObjectSelector< reco::Muon > selector_
Muon selection.
GlobalPoint globalPosition() const
double pt() const final
transverse momentum
bool debug_
Dump deug information.
int layersToKeep_
How many hits to keep from the muon trajectory.
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
Abs< T >::type abs(const T &t)
bool insideOut_
Do inside-out.
edm::EDGetTokenT< edm::View< reco::Muon > > src_
Labels for input collections.
bool isNull() const
Checks for null.
virtual TrackingRecHit const * hit() const
unsigned int layer(const DetId &id) const
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
TrajectoryStateOnSurface const & updatedState() const
DetId geographicalId() const
double phi() const final
momentum azimuthal angle