CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
fastTrackingUtilities Namespace Reference

Functions

template<class T >
int32_t getRecHitCombinationIndex (const T &object)
 
bool hitIsMasked (const FastTrackerRecHit *hit, const std::vector< bool > *hitMasks)
 
double hitLocalError (const TrackingRecHit *hit)
 
template<class T >
void setRecHitCombinationIndex (edm::OwnVector< T > &recHits, int32_t icomb)
 

Function Documentation

template<class T >
int32_t fastTrackingUtilities::getRecHitCombinationIndex ( const T object)

Definition at line 20 of file FastTrackingUtilities.h.

References Exception, plotBeamSpotDB::first, trackerHitRTTI::isFast(), TrackingRecHit::recHits(), HLT_FULL_cff::recHits, and edm::second().

Referenced by TrackCandidateProducer::produce().

20  {
21  // seed must have at least one hit
22  if(object.recHits().first == object.recHits().second){
23  throw cms::Exception("fastTrackingHelpers::getRecHitCombinationIndex") << " given object has 0 hits" << std::endl;
24  }
25 
26  const TrackingRecHit & recHit = *object.recHits().first;
27  if(!trackerHitRTTI::isFast(recHit)){
28  throw cms::Exception("fastTrackingHelpers::setRecHitCombinationIndex") << " one of hits in OwnVector is non-fastsim" << std::endl;
29  }
30  // cast and return combination index
31  return static_cast<const FastTrackerRecHit &>(recHit).recHitCombinationIndex();
32  // return combination index of first hit
33  }
U second(std::pair< T, U > const &p)
virtual std::vector< const TrackingRecHit * > recHits() const =0
Access to component RecHits (if any)
bool isFast(TrackingRecHit const &hit)
bool fastTrackingUtilities::hitIsMasked ( const FastTrackerRecHit hit,
const std::vector< bool > *  hitMasks 
)
inline

Definition at line 36 of file FastTrackingUtilities.h.

References i, FastTrackerRecHit::id(), and FastTrackerRecHit::nIds().

Referenced by TrackCandidateProducer::produce(), and TrajectorySeedProducer::produce().

36  {
37  for(unsigned int i = 0;i<hit->nIds();i++){
38  if(!(*hitMasks)[hit->id(i)]){
39  return false;
40  }
41  }
42  return true;
43  }
int i
Definition: DBlmapReader.cc:9
virtual size_t nIds() const
virtual int32_t id(size_t i=0) const
double fastTrackingUtilities::hitLocalError ( const TrackingRecHit hit)
inline

Definition at line 45 of file FastTrackingUtilities.h.

References delta, TrackingRecHit::localPositionError(), mathSSE::sqrt(), LocalError::xx(), LocalError::xy(), create_public_lumi_plots::xy, and LocalError::yy().

Referenced by TrackCandidateProducer::produce().

46  {
47 
48  double xx = hit->localPositionError().xx();
49  double yy = hit->localPositionError().yy();
50  double xy = hit->localPositionError().xy();
51  double delta = std::sqrt((xx-yy)*(xx-yy)+4.*xy*xy);
52  return 0.5 * (xx+yy-delta);
53  }
dbl * delta
Definition: mlp_gen.cc:36
float xx() const
Definition: LocalError.h:24
float xy() const
Definition: LocalError.h:25
float yy() const
Definition: LocalError.h:26
T sqrt(T t)
Definition: SSEVec.h:18
virtual LocalError localPositionError() const =0
template<class T >
void fastTrackingUtilities::setRecHitCombinationIndex ( edm::OwnVector< T > &  recHits,
int32_t  icomb 
)
inline

Definition at line 10 of file FastTrackingUtilities.h.

References Exception, and trackerHitRTTI::isFast().

Referenced by TrackCandidateProducer::produce(), TrajectorySeedProducer::produce(), and FastTSGFromPropagation::trackerSeeds().

10  {
11  for(auto & recHit : recHits){
12  if(!trackerHitRTTI::isFast(recHit)){
13  throw cms::Exception("fastTrackingHelpers::setRecHitCombinationIndex: one of hits in OwnVector is non-fastsim");
14  }
15  static_cast<FastTrackerRecHit &>(recHit).setRecHitCombinationIndex(icomb);
16  }
17  }
void setRecHitCombinationIndex(edm::OwnVector< T > &recHits, int32_t icomb)
bool isFast(TrackingRecHit const &hit)