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 () |
Improve the seeds with a third RecHit. More... | |
const NavigationSchool * | nav () const |
NuclearInteractionFinder () | |
NuclearInteractionFinder (const edm::EventSetup &es, const edm::ParameterSet &iConfig) | |
TrajectoryStateOnSurface | rescaleError (float rescale, const TSOS &state) const |
bool | run (const Trajectory &traj) |
Run the Finder. More... | |
void | setEvent (const edm::Event &event) const |
define the measurement (to be called for each event) More... | |
virtual | ~NuclearInteractionFinder () |
Private Types | |
typedef TrajectoryMeasurement::ConstRecHitPointer | ConstRecHitPointer |
typedef FreeTrajectoryState | FTS |
typedef TrajectoryMeasurement | TM |
typedef std::vector< Trajectory > | TrajectoryContainer |
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 |
Find compatible TM of a TM with error rescaled by rescaleFactor. More... | |
std::vector < TrajectoryMeasurement > | findMeasurementsFromTSOS (const TSOS ¤tState, DetId detid) const |
Private Attributes | |
std::vector < SeedFromNuclearInteraction > | allSeeds |
bool | checkCompletedTrack |
SeedFromNuclearInteraction * | currentSeed |
unsigned int | maxHits |
std::string | navigationSchoolName |
NuclearTester * | nuclTester |
double | ptMin |
double | rescaleErrorFactor |
const MeasurementEstimator * | theEstimator |
const GeometricSearchTracker * | theGeomSearchTracker |
const LayerMeasurements * | theLayerMeasurements |
edm::ESHandle< MagneticField > | theMagField |
const MeasurementTracker * | theMeasurementTracker |
const NavigationSchool * | theNavigationSchool |
TangentHelix * | thePrimaryHelix |
const Propagator * | thePropagator |
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 45 of file NuclearInteractionFinder.h.
|
private |
Definition at line 52 of file NuclearInteractionFinder.h.
|
private |
Definition at line 49 of file NuclearInteractionFinder.h.
|
private |
Definition at line 50 of file NuclearInteractionFinder.h.
|
private |
Definition at line 51 of file NuclearInteractionFinder.h.
|
private |
Definition at line 48 of file NuclearInteractionFinder.h.
|
inline |
Definition at line 69 of file NuclearInteractionFinder.h.
NuclearInteractionFinder::NuclearInteractionFinder | ( | const edm::EventSetup & | es, |
const edm::ParameterSet & | iConfig | ||
) |
Definition at line 20 of file NuclearInteractionFinder.cc.
References checkCompletedTrack, currentSeed, edm::EventSetup::get(), edm::ParameterSet::getParameter(), LogDebug, maxHits, PixelTracksForL3Isolation_cfi::measurementTrackerName, nav(), navigationSchoolName, nuclTester, edm::ESHandle< class >::product(), rescaleErrorFactor, theEstimator, theGeomSearchTracker, theLayerMeasurements, theMagField, theMeasurementTracker, theNavigationSchool, thePrimaryHelix, and thePropagator.
|
virtual |
Definition at line 71 of file NuclearInteractionFinder.cc.
References currentSeed, nuclTester, theLayerMeasurements, and thePrimaryHelix.
|
private |
Calculate the parameters of the circle representing the primary track at the interaction point.
Definition at line 137 of file NuclearInteractionFinder.cc.
References i, and thePrimaryHelix.
Referenced by run().
|
private |
get the seeds at the interaction point
Definition at line 203 of file NuclearInteractionFinder.cc.
References allSeeds, currentSeed, LogDebug, TrajectoryMeasurement::recHit(), SeedFromNuclearInteraction::setMeasurements(), and TrajectoryMeasurement::updatedState().
Referenced by run().
|
private |
Find compatible TM of a TM with error rescaled by rescaleFactor.
Definition at line 150 of file NuclearInteractionFinder.cc.
References findMeasurementsFromTSOS(), LogDebug, TrajectoryMeasurement::recHit(), rescaleError(), and TrajectoryMeasurement::updatedState().
Referenced by run().
|
private |
Definition at line 160 of file NuclearInteractionFinder.cc.
References alongMomentum, GeometricSearchTracker::detLayer(), TrajectoryStateOnSurface::freeState(), LogDebug, LayerMeasurements::measurements(), DetLayer::nextLayers(), query::result, python.multivaluedict::sort(), theEstimator, theGeomSearchTracker, theLayerMeasurements, thePropagator, and tmp.
Referenced by findCompatibleMeasurements(), and improveSeeds().
std::auto_ptr< TrajectorySeedCollection > NuclearInteractionFinder::getPersistentSeeds | ( | ) |
Fill 'output' with persistent nuclear seeds.
Definition at line 220 of file NuclearInteractionFinder.cc.
References allSeeds, LogDebug, and convertSQLitetoXML_cfg::output.
void NuclearInteractionFinder::improveSeeds | ( | ) |
Improve the seeds with a third RecHit.
Definition at line 231 of file NuclearInteractionFinder.cc.
References allSeeds, currentSeed, findMeasurementsFromTSOS(), SeedFromNuclearInteraction::setMeasurements(), and thePrimaryHelix.
|
inline |
Definition at line 89 of file NuclearInteractionFinder.h.
References theNavigationSchool.
Referenced by NuclearInteractionFinder().
TrajectoryStateOnSurface NuclearInteractionFinder::rescaleError | ( | float | rescale, |
const TSOS & | state | ||
) | const |
Definition at line 256 of file NuclearInteractionFinder.cc.
References TrajectoryStateOnSurface::globalParameters(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localParameters(), m, GlobalTrajectoryParameters::magneticField(), LocalTrajectoryError::matrix(), LocalTrajectoryParameters::signedInverseMomentum(), TrajectoryStateOnSurface::surface(), and TrajectoryStateOnSurface::surfaceSide().
Referenced by findCompatibleMeasurements().
bool NuclearInteractionFinder::run | ( | const Trajectory & | traj | ) |
Run the Finder.
Definition at line 79 of file NuclearInteractionFinder.cc.
References allSeeds, alongMomentum, NuclearTester::back(), checkCompletedTrack, NuclearTester::compatibleHits(), definePrimaryHelix(), Trajectory::direction(), Trajectory::empty(), fillSeeds(), findCompatibleMeasurements(), Trajectory::foundHits(), prof2calltree::front, NuclearTester::fwdEstimate(), NuclearTester::goodTMPair(), NuclearTester::isNuclearInteraction(), Trajectory::isValid(), LogDebug, maxHits, NuclearTester::meanHitDistance(), Trajectory::measurements(), NuclearTester::nHitsChecked(), NuclearTester::nuclearIndex(), nuclTester, NuclearTester::push_back(), rescaleErrorFactor, NuclearTester::reset(), and findQualityFiles::size.
void NuclearInteractionFinder::setEvent | ( | const edm::Event & | event | ) | const |
define the measurement (to be called for each event)
Definition at line 65 of file NuclearInteractionFinder.cc.
References theMeasurementTracker, and MeasurementTracker::update().
|
private |
Definition at line 103 of file NuclearInteractionFinder.h.
Referenced by fillSeeds(), getPersistentSeeds(), improveSeeds(), and run().
|
private |
If set to true check all the tracks, even those reaching the edge of the tracker
Definition at line 110 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), and run().
|
private |
Definition at line 102 of file NuclearInteractionFinder.h.
Referenced by fillSeeds(), improveSeeds(), NuclearInteractionFinder(), and ~NuclearInteractionFinder().
|
private |
Definition at line 108 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), and run().
|
private |
Definition at line 111 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder().
|
private |
Definition at line 101 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), run(), and ~NuclearInteractionFinder().
|
private |
Definition at line 107 of file NuclearInteractionFinder.h.
|
private |
Definition at line 109 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), and run().
|
private |
Definition at line 94 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), and NuclearInteractionFinder().
|
private |
Definition at line 97 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), and NuclearInteractionFinder().
|
private |
Definition at line 96 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), NuclearInteractionFinder(), and ~NuclearInteractionFinder().
|
private |
Definition at line 99 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder().
|
private |
Definition at line 95 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), and setEvent().
|
private |
Definition at line 98 of file NuclearInteractionFinder.h.
Referenced by nav(), and NuclearInteractionFinder().
|
private |
Definition at line 104 of file NuclearInteractionFinder.h.
Referenced by definePrimaryHelix(), improveSeeds(), NuclearInteractionFinder(), and ~NuclearInteractionFinder().
|
private |
Definition at line 93 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), and NuclearInteractionFinder().