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::unique_ptr< TrajectorySeedCollection > | getPersistentSeeds () |
Fill 'output' with persistent nuclear seeds. More... | |
void | improveSeeds (const MeasurementTrackerEvent &event) |
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, const MeasurementTrackerEvent &event) |
Run the Finder. 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 LayerMeasurements &layerMeasurements) const |
Find compatible TM of a TM with error rescaled by rescaleFactor. More... | |
std::vector< TrajectoryMeasurement > | findMeasurementsFromTSOS (const TSOS ¤tState, DetId detid, const LayerMeasurements &layerMeasurements) 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 |
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 44 of file NuclearInteractionFinder.h.
|
private |
Definition at line 51 of file NuclearInteractionFinder.h.
|
private |
Definition at line 48 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 47 of file NuclearInteractionFinder.h.
|
inline |
Definition at line 68 of file NuclearInteractionFinder.h.
References getPersistentSeeds(), improveSeeds(), MuonErrorMatrixAdjuster_cfi::rescale, rescaleError(), run(), and ~NuclearInteractionFinder().
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, ecalDrivenElectronSeedsParameters_cff::measurementTrackerName, nav(), navigationSchoolName, nuclTester, edm::ESHandle< T >::product(), rescaleErrorFactor, AlCaHLTBitMon_QueryRunRegistry::string, theEstimator, theGeomSearchTracker, theMagField, theMeasurementTracker, theNavigationSchool, thePrimaryHelix, and thePropagator.
|
virtual |
Definition at line 64 of file NuclearInteractionFinder.cc.
References currentSeed, nuclTester, and thePrimaryHelix.
Referenced by NuclearInteractionFinder().
|
private |
Calculate the parameters of the circle representing the primary track at the interaction point.
Definition at line 130 of file NuclearInteractionFinder.cc.
References mps_fire::i, EnergyCorrector::pt, and thePrimaryHelix.
Referenced by run().
|
private |
get the seeds at the interaction point
Definition at line 196 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 143 of file NuclearInteractionFinder.cc.
References findMeasurementsFromTSOS(), LogDebug, TrajectoryMeasurement::recHit(), rescaleError(), and TrajectoryMeasurement::updatedState().
Referenced by run().
|
private |
Definition at line 153 of file NuclearInteractionFinder.cc.
References alongMomentum, GeometricSearchTracker::detLayer(), TrajectoryStateOnSurface::freeState(), LogDebug, LayerMeasurements::measurements(), NavigationSchool::nextLayers(), mps_fire::result, theEstimator, theGeomSearchTracker, theNavigationSchool, thePropagator, and tmp.
Referenced by findCompatibleMeasurements(), and improveSeeds().
std::unique_ptr< TrajectorySeedCollection > NuclearInteractionFinder::getPersistentSeeds | ( | ) |
Fill 'output' with persistent nuclear seeds.
Definition at line 213 of file NuclearInteractionFinder.cc.
References allSeeds, LogDebug, and convertSQLitetoXML_cfg::output.
Referenced by NuclearInteractionFinder().
void NuclearInteractionFinder::improveSeeds | ( | const MeasurementTrackerEvent & | event | ) |
Improve the seeds with a third RecHit.
Definition at line 224 of file NuclearInteractionFinder.cc.
References allSeeds, currentSeed, findMeasurementsFromTSOS(), SeedFromNuclearInteraction::setMeasurements(), theMeasurementTracker, and thePrimaryHelix.
Referenced by NuclearInteractionFinder().
|
inline |
Definition at line 85 of file NuclearInteractionFinder.h.
References theNavigationSchool.
Referenced by NuclearInteractionFinder().
TrajectoryStateOnSurface NuclearInteractionFinder::rescaleError | ( | float | rescale, |
const TSOS & | state | ||
) | const |
Definition at line 251 of file NuclearInteractionFinder.cc.
References TrajectoryStateOnSurface::globalParameters(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localParameters(), funct::m, GlobalTrajectoryParameters::magneticField(), LocalTrajectoryError::matrix(), RazorAnalyzer::mr, MuonErrorMatrixAdjuster_cfi::rescale, LocalTrajectoryParameters::signedInverseMomentum(), TrajectoryStateOnSurface::surface(), and TrajectoryStateOnSurface::surfaceSide().
Referenced by findCompatibleMeasurements(), and NuclearInteractionFinder().
bool NuclearInteractionFinder::run | ( | const Trajectory & | traj, |
const MeasurementTrackerEvent & | event | ||
) |
Run the Finder.
Definition at line 71 of file NuclearInteractionFinder.cc.
References allSeeds, alongMomentum, NuclearTester::back(), checkCompletedTrack, NuclearTester::compatibleHits(), definePrimaryHelix(), Trajectory::direction(), Trajectory::empty(), fillSeeds(), findCompatibleMeasurements(), Trajectory::foundHits(), 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(), groupFilesInBlocks::reverse, findQualityFiles::size, and theMeasurementTracker.
Referenced by NuclearInteractionFinder().
|
private |
Definition at line 98 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 105 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), and run().
|
private |
Definition at line 97 of file NuclearInteractionFinder.h.
Referenced by fillSeeds(), improveSeeds(), NuclearInteractionFinder(), and ~NuclearInteractionFinder().
|
private |
Definition at line 103 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), and run().
|
private |
Definition at line 106 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder().
|
private |
Definition at line 96 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), run(), and ~NuclearInteractionFinder().
|
private |
Definition at line 102 of file NuclearInteractionFinder.h.
|
private |
Definition at line 104 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder(), and run().
|
private |
Definition at line 90 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), and NuclearInteractionFinder().
|
private |
Definition at line 92 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), and NuclearInteractionFinder().
|
private |
Definition at line 94 of file NuclearInteractionFinder.h.
Referenced by NuclearInteractionFinder().
|
private |
Definition at line 91 of file NuclearInteractionFinder.h.
Referenced by improveSeeds(), NuclearInteractionFinder(), and run().
|
private |
Definition at line 93 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), nav(), and NuclearInteractionFinder().
|
private |
Definition at line 99 of file NuclearInteractionFinder.h.
Referenced by definePrimaryHelix(), improveSeeds(), NuclearInteractionFinder(), and ~NuclearInteractionFinder().
|
private |
Definition at line 89 of file NuclearInteractionFinder.h.
Referenced by findMeasurementsFromTSOS(), and NuclearInteractionFinder().