CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
NuclearInteractionFinder.h
Go to the documentation of this file.
1 #ifndef CD_NuclearInteractionFinder_H_
2 #define CD_NuclearInteractionFinder_H_
3 
4 //----------------------------------------------------------------------------
12 //-----------------------------------------------------------------------------
13 
23 
26 
30 
32 
34 
38 
40 
42 private:
46  typedef std::vector<Trajectory> TrajectoryContainer;
48 
50  void fillSeeds(const std::pair<TrajectoryMeasurement, std::vector<TrajectoryMeasurement> >& tmPairs);
51 
53  std::vector<TrajectoryMeasurement> findCompatibleMeasurements(const TM& lastMeas,
54  double rescaleFactor,
55  const LayerMeasurements& layerMeasurements) const;
56 
57  std::vector<TrajectoryMeasurement> findMeasurementsFromTSOS(const TSOS& currentState,
58  DetId detid,
59  const LayerMeasurements& layerMeasurements) const;
60 
62  void definePrimaryHelix(std::vector<TrajectoryMeasurement>::const_iterator it_meas);
63 
64 public:
66 
68 
69  virtual ~NuclearInteractionFinder();
70 
72  bool run(const Trajectory& traj, const MeasurementTrackerEvent& event);
73 
76 
78  std::unique_ptr<TrajectorySeedCollection> getPersistentSeeds();
79 
80  TrajectoryStateOnSurface rescaleError(float rescale, const TSOS& state) const;
81 
82  const NavigationSchool* nav() const { return theNavigationSchool; }
83 
84 private:
91 
94  std::vector<SeedFromNuclearInteraction> allSeeds;
96 
97  // parameters
98  double ptMin;
99  unsigned int maxHits;
103 };
104 #endif
std::unique_ptr< TrajectorySeedCollection > getPersistentSeeds()
Fill &#39;output&#39; with persistent nuclear seeds.
bool run(const Trajectory &traj, const MeasurementTrackerEvent &event)
Run the Finder.
std::vector< TrajectoryMeasurement > findMeasurementsFromTSOS(const TSOS &currentState, DetId detid, const LayerMeasurements &layerMeasurements) const
void improveSeeds(const MeasurementTrackerEvent &event)
Improve the seeds with a third RecHit.
const NavigationSchool * nav() const
std::vector< TrajectoryMeasurement > findCompatibleMeasurements(const TM &lastMeas, double rescaleFactor, const LayerMeasurements &layerMeasurements) const
Find compatible TM of a TM with error rescaled by rescaleFactor.
const MeasurementTracker * theMeasurementTracker
const NavigationSchool * theNavigationSchool
const MeasurementEstimator * theEstimator
std::vector< SeedFromNuclearInteraction > allSeeds
Definition: DetId.h:17
Class used to obtain vector of all compatible TMs associated to a trajectory to be used by the Nuclea...
TrajectoryMeasurement::ConstRecHitPointer ConstRecHitPointer
edm::ESHandle< MagneticField > theMagField
TrackingRecHit::ConstRecHitPointer ConstRecHitPointer
const GeometricSearchTracker * theGeomSearchTracker
TrajectoryStateOnSurface TSOS
std::vector< Trajectory > TrajectoryContainer
void fillSeeds(const std::pair< TrajectoryMeasurement, std::vector< TrajectoryMeasurement > > &tmPairs)
get the seeds at the interaction point
Class used to test if a track has interacted nuclearly.
Definition: NuclearTester.h:16
void definePrimaryHelix(std::vector< TrajectoryMeasurement >::const_iterator it_meas)
Calculate the parameters of the circle representing the primary track at the interaction point...
TrajectoryStateOnSurface rescaleError(float rescale, const TSOS &state) const
SeedFromNuclearInteraction * currentSeed