CMS 3D CMS Logo

GsfTrackProducerBase.h
Go to the documentation of this file.
1 #ifndef GsfTrackProducerBase_h
2 #define GsfTrackProducerBase_h
3 
18 
19 // #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
20 
22 class Propagator;
25 
26 class GsfTrackProducerBase : public TrackProducerBase<reco::GsfTrack> {
27 public:
28 
30  explicit GsfTrackProducerBase(bool trajectoryInEvent, bool split) :
31  TrackProducerBase<reco::GsfTrack>(trajectoryInEvent),
32  useSplitting(split){}
33 
35  virtual void putInEvt(edm::Event&,
36  const Propagator* prop,
37  const MeasurementTracker* measTk,
38  std::unique_ptr<TrackingRecHitCollection>&,
39  std::unique_ptr<reco::GsfTrackCollection>&,
40  std::unique_ptr<reco::TrackExtraCollection>&,
41  std::unique_ptr<reco::GsfTrackExtraCollection>&,
42  std::unique_ptr<std::vector<Trajectory> >&,
45  const reco::BeamSpot&, const TrackerTopology *ttopo);
46 
47 
48 protected:
49  void fillStates (TrajectoryStateOnSurface tsos, std::vector<reco::GsfComponent5D>& states) const;
50  void fillMode (reco::GsfTrack& track, const TrajectoryStateOnSurface innertsos,
51  const Propagator& gsfProp,
52  const TransverseImpactPointExtrapolator& tipExtrapolator,
54  const reco::BeamSpot& bs) const;
55 
56 private:
60  AlgebraicSymMatrix55& covariance) const;
62  bool computeModeAtTM (const TrajectoryMeasurement& tm,
65  Measurement1D& deltaP) const;
66 
67 private:
69 
70 };
71 
72 
73 #endif
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
void fillMode(reco::GsfTrack &track, const TrajectoryStateOnSurface innertsos, const Propagator &gsfProp, const TransverseImpactPointExtrapolator &tipExtrapolator, TrajectoryStateClosestToBeamLineBuilder &tscblBuilder, const reco::BeamSpot &bs) const
void fillStates(TrajectoryStateOnSurface tsos, std::vector< reco::GsfComponent5D > &states) const
GsfTrackProducerBase(bool trajectoryInEvent, bool split)
Constructor.
virtual void putInEvt(edm::Event &, const Propagator *prop, const MeasurementTracker *measTk, std::unique_ptr< TrackingRecHitCollection > &, std::unique_ptr< reco::GsfTrackCollection > &, std::unique_ptr< reco::TrackExtraCollection > &, std::unique_ptr< reco::GsfTrackExtraCollection > &, std::unique_ptr< std::vector< Trajectory > > &, AlgoProductCollection &, TransientTrackingRecHitBuilder const *, const reco::BeamSpot &, const TrackerTopology *ttopo)
Put produced collections in the event.
void localParametersFromQpMode(const TrajectoryStateOnSurface tsos, AlgebraicVector5 &parameters, AlgebraicSymMatrix55 &covariance) const
local parameters rescaled with q/p from mode
bool computeModeAtTM(const TrajectoryMeasurement &tm, reco::GsfTrackExtra::Point &position, reco::GsfTrackExtra::Vector &momentum, Measurement1D &deltaP) const
position, momentum and estimated deltaP at an intermediate measurement (true if successful) ...
ROOT::Math::SVector< double, 5 > AlgebraicVector5
math::XYZPoint Point
point in the space
Definition: GsfTrackExtra.h:25
std::vector< AlgoProduct > AlgoProductCollection
fixed size matrix
static int position[264][3]
Definition: ReadPGInfo.cc:509
math::XYZVector Vector
spatial vector
Definition: GsfTrackExtra.h:27
double split
Definition: MVATrainer.cc:139