CMS 3D CMS Logo

Public Member Functions

TrajectoryStateTransform Class Reference

#include <TrajectoryStateTransform.h>

List of all members.

Public Member Functions

FreeTrajectoryState initialFreeState (const reco::Track &tk, const MagneticField *field) const
FreeTrajectoryState innerFreeState (const reco::Track &tk, const MagneticField *field) const
TrajectoryStateOnSurface innerStateOnSurface (const reco::Track &tk, const TrackingGeometry &geom, const MagneticField *field) const
FreeTrajectoryState outerFreeState (const reco::Track &tk, const MagneticField *field) const
TrajectoryStateOnSurface outerStateOnSurface (const reco::Track &tk, const TrackingGeometry &geom, const MagneticField *field) const
PTrajectoryStateOnDetpersistentState (const TrajectoryStateOnSurface &ts, unsigned int detid) const
TrajectoryStateOnSurface transientState (const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field) const

Detailed Description

Definition at line 13 of file TrajectoryStateTransform.h.


Member Function Documentation

FreeTrajectoryState TrajectoryStateTransform::initialFreeState ( const reco::Track tk,
const MagneticField field 
) const
FreeTrajectoryState TrajectoryStateTransform::innerFreeState ( const reco::Track tk,
const MagneticField field 
) const
TrajectoryStateOnSurface TrajectoryStateTransform::innerStateOnSurface ( const reco::Track tk,
const TrackingGeometry geom,
const MagneticField field 
) const
FreeTrajectoryState TrajectoryStateTransform::outerFreeState ( const reco::Track tk,
const MagneticField field 
) const
TrajectoryStateOnSurface TrajectoryStateTransform::outerStateOnSurface ( const reco::Track tk,
const TrackingGeometry geom,
const MagneticField field 
) const
PTrajectoryStateOnDet * TrajectoryStateTransform::persistentState ( const TrajectoryStateOnSurface ts,
unsigned int  detid 
) const

should check if corresponds to m

Definition at line 13 of file TrajectoryStateTransform.cc.

References cond::rpcobgas::detid, i, j, gen::k, TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localParameters(), m, LocalTrajectoryError::matrix(), and TrajectoryStateOnSurface::surfaceSide().

Referenced by SiStripElectronSeedGenerator::altCheckHitsAndTSOS(), SeedForPhotonConversion1Leg::buildSeed(), SeedFromConsecutiveHitsCreator::buildSeed(), SeedFromGenericPairOrTriplet::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeed(), SiStripElectronSeedGenerator::checkHitsAndTSOS(), SeedFromNuclearInteraction::construct(), RPCSeedPattern::createFakeSeed(), MuonSeedCreator::createSeed(), TSGFromPropagation::createSeed(), FastTSGFromPropagation::createSeed(), RPCSeedPattern::createSeed(), OutInConversionSeedFinder::createSeed(), InOutConversionSeedFinder::createSeed(), MuonSeedFromRecHits::createSeed(), RoadSearchTrackCandidateMakerAlgorithm::createSeedTrajectory(), SeedFromProtoTrack::init(), reco::modules::CosmicTrackSplitter::makeCandidate(), reco::modules::TrackerTrackHitFilter::makeCandidate(), SETSeedFinder::makeSeed(), FastElectronSeedGenerator::prepareElTrackSeed(), RoadSearchTrackCandidateMakerAlgorithm::PrepareTrackCandidates(), L2MuonSeedGenerator::produce(), TrackCandidateProducer::produce(), SETMuonSeedProducer::produce(), TrackerToMuonPropagator::produce(), cms::CosmicTrackFinder::produce(), ConvBremSeedProducer::produce(), CSCOverlapsTrackPreparation::produce(), cms::CkfTrackCandidateMakerBase::produceBase(), TSGForRoadSearch::pushTrajectorySeed(), TrackInfoProducerAlgorithm::run(), RoadSearchTrackCandidateMakerAlgorithm::run(), SeedGeneratorForCRack::seeds(), SimpleCosmicBONSeeder::seeds(), SeedGeneratorForCosmics::seeds(), OutInConversionTrackFinder::tracks(), InOutConversionTrackFinder::tracks(), and StandAloneMuonTrajectoryBuilder::trajectories().

{
  AlgebraicSymMatrix55 m = ts.localError().matrix();
  
  int dim = 5; 

  float localErrors[15];
  int k = 0;
  for (int i=0; i<dim; i++) {
    for (int j=0; j<=i; j++) {
      localErrors[k++] = m(i,j);
    }
  }
  int surfaceSide = static_cast<int>(ts.surfaceSide());

  return new PTrajectoryStateOnDet( ts.localParameters(),
                                    localErrors, detid,
                                    surfaceSide);
}
TrajectoryStateOnSurface TrajectoryStateTransform::transientState ( const PTrajectoryStateOnDet ts,
const Surface surface,
const MagneticField field 
) const

Definition at line 35 of file TrajectoryStateTransform.cc.

References PTrajectoryStateOnDet::errorMatrix(), i, j, gen::k, m, PTrajectoryStateOnDet::parameters(), and PTrajectoryStateOnDet::surfaceSide().

Referenced by SiPixelTrackResidualSource::analyze(), TestHits::analyze(), TrackBuildingAnalyzer::analyze(), HLTMuonDQMSource::analyze(), TestSmoothHits::analyze(), TrackerSeedCleaner::clean(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), BaseCkfTrajectoryBuilder::findStateAndLayers(), MuonTrackAnalyzer::getSeedTSOS(), MuonSeedsAnalyzer::getSeedTSOS(), MuonSeedTrack::getSeedTSOS(), ConversionSeedFilter::getTSOS(), MuonRoadTrajectoryBuilder::makeTrajectories_0(), CtfSpecialSeedGenerator::postCheck(), TrackCandidateProducer::produce(), TrackProducerWithSCAssociation::produce(), ConversionSeedFilterCharge::produce(), BaseCkfTrajectoryBuilder::seedMeasurements(), MuonSeedCleaner::SeedMomentum(), MuonSeedCleaner::SeedPosition(), SeedTransformer::seedTransientState(), StartingLayerFinder::startingLayers(), CRackTrajectoryBuilder::startingTSOS(), CosmicTrajectoryBuilder::startingTSOS(), and FastTSGFromPropagation::trackerSeeds().

{
  int dim = 5;
  AlgebraicSymMatrix55 m;
  const std::vector<float> &errs = ts.errorMatrix();  
  int k = 0;
  for (int i=0; i<dim; i++) {
    for (int j=0; j<=i; j++) {
      m(i,j) = errs[k++];       // NOTE: here we do a cast float => double.     
    }
  }
  

  return TrajectoryStateOnSurface( ts.parameters(),
                                   LocalTrajectoryError(m), 
                                   *surface, field,
                                   static_cast<SurfaceSide>(ts.surfaceSide()));

}