CMS 3D CMS Logo

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
SeedFromNuclearInteraction.h
Propagator.h
NuclearInteractionFinder::run
bool run(const Trajectory &traj, const MeasurementTrackerEvent &event)
Run the Finder.
Definition: NuclearInteractionFinder.cc:68
MeasurementEstimator
Definition: MeasurementEstimator.h:19
TrajectoryStateOnSurface.h
NuclearInteractionFinder::theEstimator
const MeasurementEstimator * theEstimator
Definition: NuclearInteractionFinder.h:86
MeasurementTrackerEvent.h
NuclearInteractionFinder::allSeeds
std::vector< SeedFromNuclearInteraction > allSeeds
Definition: NuclearInteractionFinder.h:94
FreeTrajectoryState.h
ESHandle.h
NuclearInteractionFinder::rescaleError
TrajectoryStateOnSurface rescaleError(float rescale, const TSOS &state) const
Definition: NuclearInteractionFinder.cc:253
NuclearInteractionFinder::definePrimaryHelix
void definePrimaryHelix(std::vector< TrajectoryMeasurement >::const_iterator it_meas)
Calculate the parameters of the circle representing the primary track at the interaction point.
Definition: NuclearInteractionFinder.cc:130
NuclearInteractionFinder::TM
TrajectoryMeasurement TM
Definition: NuclearInteractionFinder.h:45
NuclearInteractionFinder::findCompatibleMeasurements
std::vector< TrajectoryMeasurement > findCompatibleMeasurements(const TM &lastMeas, double rescaleFactor, const LayerMeasurements &layerMeasurements) const
Find compatible TM of a TM with error rescaled by rescaleFactor.
Definition: NuclearInteractionFinder.cc:142
NuclearInteractionFinder::NuclearInteractionFinder
NuclearInteractionFinder()
Definition: NuclearInteractionFinder.h:65
TrajectoryMeasurement.h
NuclearInteractionFinder::nav
const NavigationSchool * nav() const
Definition: NuclearInteractionFinder.h:82
NavigationSchool
Definition: NavigationSchool.h:18
SeedFromNuclearInteraction
Definition: SeedFromNuclearInteraction.h:19
NuclearInteractionFinder::ptMin
double ptMin
Definition: NuclearInteractionFinder.h:98
NuclearInteractionFinder::maxHits
unsigned int maxHits
Definition: NuclearInteractionFinder.h:99
NuclearInteractionFinder::FTS
FreeTrajectoryState FTS
Definition: NuclearInteractionFinder.h:44
TrajectoryStateUpdator.h
NuclearInteractionFinder::getPersistentSeeds
std::unique_ptr< TrajectorySeedCollection > getPersistentSeeds()
Fill 'output' with persistent nuclear seeds.
Definition: NuclearInteractionFinder.cc:211
Propagator
Definition: Propagator.h:44
DetId
Definition: DetId.h:17
MeasurementTracker
Definition: MeasurementTracker.h:21
GeometricSearchTracker.h
NuclearInteractionFinder::TSOS
TrajectoryStateOnSurface TSOS
Definition: NuclearInteractionFinder.h:43
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
NuclearInteractionFinder::fillSeeds
void fillSeeds(const std::pair< TrajectoryMeasurement, std::vector< TrajectoryMeasurement > > &tmPairs)
get the seeds at the interaction point
Definition: NuclearInteractionFinder.cc:192
NuclearInteractionFinder::theMeasurementTracker
const MeasurementTracker * theMeasurementTracker
Definition: NuclearInteractionFinder.h:87
LayerMeasurements
Definition: LayerMeasurements.h:18
NuclearInteractionFinder::navigationSchoolName
std::string navigationSchoolName
Definition: NuclearInteractionFinder.h:102
NuclearInteractionFinder::thePropagator
const Propagator * thePropagator
Definition: NuclearInteractionFinder.h:85
LayerMeasurements.h
MeasurementEstimator.h
NuclearInteractionFinder::currentSeed
SeedFromNuclearInteraction * currentSeed
Definition: NuclearInteractionFinder.h:93
MuonErrorMatrixAdjuster_cfi.rescale
rescale
Definition: MuonErrorMatrixAdjuster_cfi.py:8
edm::ESHandle< MagneticField >
NuclearInteractionFinder
Class used to obtain vector of all compatible TMs associated to a trajectory to be used by the Nuclea...
Definition: NuclearInteractionFinder.h:41
TangentHelix.h
TrajectoryFitter.h
NuclearInteractionFinder::rescaleErrorFactor
double rescaleErrorFactor
Definition: NuclearInteractionFinder.h:100
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MeasurementTrackerEvent
Definition: MeasurementTrackerEvent.h:15
edm::ParameterSet
Definition: ParameterSet.h:36
NuclearInteractionFinder::theMagField
edm::ESHandle< MagneticField > theMagField
Definition: NuclearInteractionFinder.h:90
NuclearInteractionFinder::TrajectoryContainer
std::vector< Trajectory > TrajectoryContainer
Definition: NuclearInteractionFinder.h:46
NuclearInteractionFinder::~NuclearInteractionFinder
virtual ~NuclearInteractionFinder()
Definition: NuclearInteractionFinder.cc:61
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:57
TrajectorySeedCollection.h
NuclearInteractionFinder::checkCompletedTrack
bool checkCompletedTrack
Definition: NuclearInteractionFinder.h:101
NuclearInteractionFinder::improveSeeds
void improveSeeds(const MeasurementTrackerEvent &event)
Improve the seeds with a third RecHit.
Definition: NuclearInteractionFinder.cc:224
Trajectory.h
NuclearInteractionFinder::findMeasurementsFromTSOS
std::vector< TrajectoryMeasurement > findMeasurementsFromTSOS(const TSOS &currentState, DetId detid, const LayerMeasurements &layerMeasurements) const
Definition: NuclearInteractionFinder.cc:151
NuclearInteractionFinder::theNavigationSchool
const NavigationSchool * theNavigationSchool
Definition: NuclearInteractionFinder.h:89
NuclearTester
Class used to test if a track has interacted nuclearly.
Definition: NuclearTester.h:16
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
TrajectoryMeasurement::ConstRecHitPointer
TrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Definition: TrajectoryMeasurement.h:28
Trajectory
Definition: Trajectory.h:38
NuclearInteractionFinder::thePrimaryHelix
TangentHelix * thePrimaryHelix
Definition: NuclearInteractionFinder.h:95
GeometricSearchTracker
Definition: GeometricSearchTracker.h:14
NuclearTester.h
NuclearInteractionFinder::nuclTester
NuclearTester * nuclTester
Definition: NuclearInteractionFinder.h:92
TangentHelix
Definition: TangentHelix.h:6
ParameterSet.h
NavigationSchool.h
event
Definition: event.py:1
NuclearInteractionFinder::ConstRecHitPointer
TrajectoryMeasurement::ConstRecHitPointer ConstRecHitPointer
Definition: NuclearInteractionFinder.h:47
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
NuclearInteractionFinder::theGeomSearchTracker
const GeometricSearchTracker * theGeomSearchTracker
Definition: NuclearInteractionFinder.h:88
MeasurementTracker.h