CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
NuclearInteractionFinder Class Reference

Class used to obtain vector of all compatible TMs associated to a trajectory to be used by the NuclearTester. More...

#include <NuclearInteractionFinder.h>

Public Member Functions

std::auto_ptr
< TrajectorySeedCollection
getPersistentSeeds ()
 Fill 'output' with persistent nuclear seeds. More...
 
void improveSeeds (const MeasurementTrackerEvent &event)
 Improve the seeds with a third RecHit. More...
 
const NavigationSchoolnav () const
 
 NuclearInteractionFinder ()
 
 NuclearInteractionFinder (const edm::EventSetup &es, const edm::ParameterSet &iConfig)
 
TrajectoryStateOnSurface rescaleError (float rescale, const TSOS &state) const
 
bool run (const Trajectory &traj, const MeasurementTrackerEvent &event)
 Run the Finder. More...
 
virtual ~NuclearInteractionFinder ()
 

Private Types

typedef
TrajectoryMeasurement::ConstRecHitPointer 
ConstRecHitPointer
 
typedef FreeTrajectoryState FTS
 
typedef TrajectoryMeasurement TM
 
typedef std::vector< TrajectoryTrajectoryContainer
 
typedef TrajectoryStateOnSurface TSOS
 

Private Member Functions

void definePrimaryHelix (std::vector< TrajectoryMeasurement >::const_iterator it_meas)
 Calculate the parameters of the circle representing the primary track at the interaction point. More...
 
void fillSeeds (const std::pair< TrajectoryMeasurement, std::vector< TrajectoryMeasurement > > &tmPairs)
 get the seeds at the interaction point More...
 
std::vector
< TrajectoryMeasurement
findCompatibleMeasurements (const TM &lastMeas, double rescaleFactor, const LayerMeasurements &layerMeasurements) const
 Find compatible TM of a TM with error rescaled by rescaleFactor. More...
 
std::vector
< TrajectoryMeasurement
findMeasurementsFromTSOS (const TSOS &currentState, DetId detid, const LayerMeasurements &layerMeasurements) const
 

Private Attributes

std::vector
< SeedFromNuclearInteraction
allSeeds
 
bool checkCompletedTrack
 
SeedFromNuclearInteractioncurrentSeed
 
unsigned int maxHits
 
std::string navigationSchoolName
 
NuclearTesternuclTester
 
double ptMin
 
double rescaleErrorFactor
 
const MeasurementEstimatortheEstimator
 
const GeometricSearchTrackertheGeomSearchTracker
 
edm::ESHandle< MagneticFieldtheMagField
 
const MeasurementTrackertheMeasurementTracker
 
const NavigationSchooltheNavigationSchool
 
TangentHelixthePrimaryHelix
 
const PropagatorthePropagator
 

Detailed Description

Class used to obtain vector of all compatible TMs associated to a trajectory to be used by the NuclearTester.

The method run gets all compatible TMs of all TMs associated of a trajectory. Then it uses the NuclearTester class to decide whether the trajectory has interacted nuclearly or not. It finally returns a pair of the TM where the nuclear interaction occurs and all compatible TMs associated.

Definition at line 44 of file NuclearInteractionFinder.h.

Member Typedef Documentation

Definition at line 51 of file NuclearInteractionFinder.h.

Definition at line 48 of file NuclearInteractionFinder.h.

Definition at line 49 of file NuclearInteractionFinder.h.

Definition at line 50 of file NuclearInteractionFinder.h.

Definition at line 47 of file NuclearInteractionFinder.h.

Constructor & Destructor Documentation

NuclearInteractionFinder::NuclearInteractionFinder ( )
inline

Definition at line 68 of file NuclearInteractionFinder.h.

68 {}
NuclearInteractionFinder::NuclearInteractionFinder ( const edm::EventSetup es,
const edm::ParameterSet iConfig 
)

Definition at line 20 of file NuclearInteractionFinder.cc.

NuclearInteractionFinder::~NuclearInteractionFinder ( )
virtual

Definition at line 64 of file NuclearInteractionFinder.cc.

Member Function Documentation

void NuclearInteractionFinder::definePrimaryHelix ( std::vector< TrajectoryMeasurement >::const_iterator  it_meas)
private

Calculate the parameters of the circle representing the primary track at the interaction point.

Definition at line 130 of file NuclearInteractionFinder.cc.

void NuclearInteractionFinder::fillSeeds ( const std::pair< TrajectoryMeasurement, std::vector< TrajectoryMeasurement > > &  tmPairs)
private

get the seeds at the interaction point

Definition at line 196 of file NuclearInteractionFinder.cc.

std::vector< TrajectoryMeasurement > NuclearInteractionFinder::findCompatibleMeasurements ( const TM lastMeas,
double  rescaleFactor,
const LayerMeasurements layerMeasurements 
) const
private

Find compatible TM of a TM with error rescaled by rescaleFactor.

Definition at line 143 of file NuclearInteractionFinder.cc.

std::vector< TrajectoryMeasurement > NuclearInteractionFinder::findMeasurementsFromTSOS ( const TSOS currentState,
DetId  detid,
const LayerMeasurements layerMeasurements 
) const
private

Definition at line 153 of file NuclearInteractionFinder.cc.

std::auto_ptr< TrajectorySeedCollection > NuclearInteractionFinder::getPersistentSeeds ( )

Fill 'output' with persistent nuclear seeds.

Definition at line 213 of file NuclearInteractionFinder.cc.

void NuclearInteractionFinder::improveSeeds ( const MeasurementTrackerEvent event)

Improve the seeds with a third RecHit.

Definition at line 224 of file NuclearInteractionFinder.cc.

const NavigationSchool* NuclearInteractionFinder::nav ( ) const
inline

Definition at line 85 of file NuclearInteractionFinder.h.

References theNavigationSchool.

85 { return theNavigationSchool; }
const NavigationSchool * theNavigationSchool
TrajectoryStateOnSurface NuclearInteractionFinder::rescaleError ( float  rescale,
const TSOS state 
) const

Definition at line 251 of file NuclearInteractionFinder.cc.

bool NuclearInteractionFinder::run ( const Trajectory traj,
const MeasurementTrackerEvent event 
)

Run the Finder.

Definition at line 71 of file NuclearInteractionFinder.cc.

Member Data Documentation

std::vector< SeedFromNuclearInteraction > NuclearInteractionFinder::allSeeds
private

Definition at line 98 of file NuclearInteractionFinder.h.

bool NuclearInteractionFinder::checkCompletedTrack
private

If set to true check all the tracks, even those reaching the edge of the tracker

Definition at line 105 of file NuclearInteractionFinder.h.

SeedFromNuclearInteraction* NuclearInteractionFinder::currentSeed
private

Definition at line 97 of file NuclearInteractionFinder.h.

unsigned int NuclearInteractionFinder::maxHits
private

Definition at line 103 of file NuclearInteractionFinder.h.

std::string NuclearInteractionFinder::navigationSchoolName
private

Definition at line 106 of file NuclearInteractionFinder.h.

NuclearTester* NuclearInteractionFinder::nuclTester
private

Definition at line 96 of file NuclearInteractionFinder.h.

double NuclearInteractionFinder::ptMin
private

Definition at line 102 of file NuclearInteractionFinder.h.

double NuclearInteractionFinder::rescaleErrorFactor
private

Definition at line 104 of file NuclearInteractionFinder.h.

const MeasurementEstimator* NuclearInteractionFinder::theEstimator
private

Definition at line 90 of file NuclearInteractionFinder.h.

const GeometricSearchTracker* NuclearInteractionFinder::theGeomSearchTracker
private

Definition at line 92 of file NuclearInteractionFinder.h.

edm::ESHandle<MagneticField> NuclearInteractionFinder::theMagField
private

Definition at line 94 of file NuclearInteractionFinder.h.

const MeasurementTracker* NuclearInteractionFinder::theMeasurementTracker
private

Definition at line 91 of file NuclearInteractionFinder.h.

const NavigationSchool* NuclearInteractionFinder::theNavigationSchool
private

Definition at line 93 of file NuclearInteractionFinder.h.

Referenced by nav().

TangentHelix* NuclearInteractionFinder::thePrimaryHelix
private

Definition at line 99 of file NuclearInteractionFinder.h.

const Propagator* NuclearInteractionFinder::thePropagator
private

Definition at line 89 of file NuclearInteractionFinder.h.