CMS 3D CMS Logo

SeedFromNuclearInteraction.h
Go to the documentation of this file.
1 #ifndef SeedFromNuclearInteraction_H
2 #define SeedFromNuclearInteraction_H
3 
5 
7 
12 
14 
16 
18 
20 private:
25  typedef std::vector<ConstRecHitPointer> ConstRecHitContainer;
26 
27 public:
28  SeedFromNuclearInteraction(const Propagator* prop, const TrackerGeometry* geom, const edm::ParameterSet& iConfig);
29 
31 
33  void setMeasurements(const TSOS& tsosAtInteractionPoint, ConstRecHitPointer ihit, ConstRecHitPointer ohit);
34 
36  void setMeasurements(TangentHelix& primHelix,
37  const TSOS& inner_TSOS,
38  ConstRecHitPointer ihit,
39  ConstRecHitPointer ohit);
40 
41  PTrajectoryStateOnDet const& trajectoryState() const { return pTraj; }
42 
44 
46 
48 
49  recHitContainer hits() const;
50 
52 
53  bool isValid() const { return isValid_; }
54 
55  const TSOS& updatedTSOS() const { return *updatedTSOS_; }
56 
57  const TSOS& initialTSOS() const { return *initialTSOS_; }
58 
60  return theTrackerGeom->idToDet(outerHitDetId())->surface().toGlobal(outerHit_->localPosition());
61  }
62 
63  DetId outerHitDetId() const { return outerHit_->geographicalId(); }
64 
65  ConstRecHitPointer outerHit() const { return outerHit_; }
66 
70 
71 private:
72  bool isValid_;
74  ConstRecHitContainer theHits;
75  /* initial freeTS and to be fitted */
76 
77  ConstRecHitPointer innerHit_;
78  ConstRecHitPointer outerHit_;
80  std::shared_ptr<TSOS> updatedTSOS_;
82  std::shared_ptr<TSOS> initialTSOS_;
84  std::shared_ptr<FreeTrajectoryState> freeTS_;
88  // input parameters
89 
90  double ptMin;
94 
95  bool construct();
96 };
97 #endif
const TrackerGeometry * theTrackerGeom
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:81
PropagationDirection direction() const
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepStd< double, 3, 3 > > AlgebraicMatrix33
PropagationDirection
void setMeasurements(const TSOS &tsosAtInteractionPoint, ConstRecHitPointer ihit, ConstRecHitPointer ohit)
Fill all data members from 2 TM&#39;s where the first one is supposed to be at the interaction point...
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
std::shared_ptr< TSOS > initialTSOS_
edm::OwnVector< TrackingRecHit > recHitContainer
SeedFromNuclearInteraction(const Propagator *prop, const TrackerGeometry *geom, const edm::ParameterSet &iConfig)
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::vector< ConstRecHitPointer > ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
PTrajectoryStateOnDet const & trajectoryState() const
AlgebraicMatrix33 rotationMatrix(const GlobalVector &perp) const
Definition: DetId.h:17
std::shared_ptr< TSOS > updatedTSOS_
std::shared_ptr< FreeTrajectoryState > freeTS_
T perp() const
Magnitude of transverse component.
const TrackerGeomDet * idToDet(DetId) const override
ConstRecHitPointer outerHit() const
FreeTrajectoryState * stateWithError() const