CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
FastTrackerRecHit Class Reference

#include <FastTrackerRecHit.h>

Inheritance diagram for FastTrackerRecHit:
BaseTrackerRecHit TrackingRecHit FastMatchedTrackerRecHit FastProjectedTrackerRecHit FastSingleTrackerRecHit

Public Member Functions

bool canImproveWithTrack () const override
 
FastTrackerRecHitclone () const override
 
int dimension () const override
 get the dimensions right More...
 
float energyLoss () const
 
virtual int32_t eventId (size_t i=0) const
 
 FastTrackerRecHit ()
 
 FastTrackerRecHit (const LocalPoint &p, const LocalError &e, GeomDet const &idet, fastTrackerRecHitType::HitType hitType)
 
OmniClusterRef const & firstClusterRef () const override
 
void getKfComponents (KfComponentsHolder &holder) const override
 
virtual int32_t id (size_t i=0) const
 
bool isPixel () const override
 pixel or strip? More...
 
virtual size_t nIds () const
 
virtual size_t nSimTrackIds () const
 
virtual int32_t recHitCombinationIndex () const
 
std::vector< const TrackingRecHit * > recHits () const override
 
std::vector< TrackingRecHit * > recHits () override
 
bool sameId (const FastTrackerRecHit *other, size_t i=0, size_t j=0) const
 
void set2D (bool is2D=true)
 
void setEnergyLoss (float e)
 
virtual void setEventId (int32_t eventId)
 
virtual void setRecHitCombinationIndex (int32_t recHitCombinationIndex)
 
bool sharesInput (const TrackingRecHit *other, SharedInputType what) const override
 
virtual int32_t simTrackEventId (size_t i) const
 
virtual int32_t simTrackId (size_t i) const
 
 ~FastTrackerRecHit () override
 
- Public Member Functions inherited from BaseTrackerRecHit
 BaseTrackerRecHit ()
 
 BaseTrackerRecHit (DetId id, trackerHitRTTI::RTTI rt)
 
 BaseTrackerRecHit (const GeomDet &idet, trackerHitRTTI::RTTI rt)
 
 BaseTrackerRecHit (const LocalPoint &p, const LocalError &e, GeomDet const &idet, trackerHitRTTI::RTTI rt)
 
virtual float clusterProbability () const
 cluster probability, overloaded by pixel rechits. More...
 
float errorGlobalR () const final
 
float errorGlobalRPhi () const final
 
float errorGlobalZ () const final
 
void getKfComponents1D (KfComponentsHolder &holder) const
 
void getKfComponents2D (KfComponentsHolder &holder) const
 
GlobalPoint globalPosition () const final
 
GlobalError globalPositionError () const final
 
TrackingRecHitGlobalState globalState () const
 
bool hasPositionAndError () const override
 to be redefined by daughter class More...
 
BaseTrackerRecHit const * hit () const final
 
bool isMatched () const
 
bool isMulti () const
 
virtual bool isPhase2 () const
 
bool isProjected () const
 
bool isProjMono () const
 
bool isProjStereo () const
 
bool isSingle () const
 
LocalPoint localPosition () const override
 
LocalError localPositionError () const override
 
const LocalErrorlocalPositionErrorFast () const
 
const LocalPointlocalPositionFast () const
 
AlgebraicVector parameters () const override
 
AlgebraicSymMatrix parametersError () const override
 
AlgebraicMatrix projectionMatrix () const override
 
trackerHitRTTI::RTTI rtti () const
 
bool sameDetModule (TrackingRecHit const &hit) const
 
const Surfacesurface () const final
 
 ~BaseTrackerRecHit () override
 
- Public Member Functions inherited from TrackingRecHit
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual TrackingRecHitcloneHit () const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
virtual const GeomDetUnitdetUnit () const
 
DetId geographicalId () const
 
unsigned int getRTTI () const
 
Type getType () const
 
bool isValid () const
 
id_type rawId () const
 
virtual void recHitsV (std::vector< const TrackingRecHit *> &) const
 
virtual void recHitsV (std::vector< TrackingRecHit *> &)
 
virtual void setDet (const GeomDet &idet)
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, TrackingRecHit const &rh)
 
virtual ConstRecHitContainer transientHits () const
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

Protected Member Functions

FastTrackerRecHitclone_ (TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
 
void load ()
 helps making the hit postion and error persistent More...
 
void store ()
 helps making the hit postion and error persistent More...
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Protected Attributes

float energyLoss_
 
bool is2D_
 hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true) More...
 
const bool isPixel_
 hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false) More...
 
LocalError myErr_
 helps making the hit postion and error persistent More...
 
LocalPoint myPos_
 helps making the hit postion and error persistent More...
 
uint32_t recHitCombinationIndex_
 
- Protected Attributes inherited from BaseTrackerRecHit
LocalError err_
 
LocalPoint pos_
 
unsigned int qualWord_
 

Additional Inherited Members

- Public Types inherited from TrackingRecHit
typedef std::vector< ConstRecHitPointerConstRecHitContainer
 
using ConstRecHitPointer = std::shared_ptr< TrackingRecHit const >
 
typedef unsigned int id_type
 
typedef std::vector< ConstRecHitPointerRecHitContainer
 
using RecHitPointer = std::shared_ptr< TrackingRecHit const >
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type {
  valid = 0, missing = 1, inactive = 2, bad = 3,
  missing_inner = 4, missing_outer = 5, inactive_inner = 6, inactive_outer = 7
}
 
- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 

Detailed Description

Definition at line 40 of file FastTrackerRecHit.h.

Constructor & Destructor Documentation

◆ FastTrackerRecHit() [1/2]

FastTrackerRecHit::FastTrackerRecHit ( )
inline

default constructor

Definition at line 44 of file FastTrackerRecHit.h.

Referenced by clone().

const bool isPixel_
hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false) ...
uint32_t recHitCombinationIndex_
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)

◆ ~FastTrackerRecHit()

FastTrackerRecHit::~FastTrackerRecHit ( )
inlineoverride

destructor

Definition at line 48 of file FastTrackerRecHit.h.

48 {}

◆ FastTrackerRecHit() [2/2]

FastTrackerRecHit::FastTrackerRecHit ( const LocalPoint p,
const LocalError e,
GeomDet const &  idet,
fastTrackerRecHitType::HitType  hitType 
)
inline

constructor requires a position with error in local detector coordinates, the detector id, and type information (rt)

Definition at line 53 of file FastTrackerRecHit.h.

References store().

61  energyLoss_(0.0) //holy golden seal
62  {
63  store();
64  }
trackerHitRTTI::RTTI rtti(HitType hitType)
const bool isPixel_
hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false) ...
uint32_t recHitCombinationIndex_
void store()
helps making the hit postion and error persistent
bool is2D(HitType hitType)
bool isPixel(HitType hitType)
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)

Member Function Documentation

◆ canImproveWithTrack()

bool FastTrackerRecHit::canImproveWithTrack ( ) const
inlineoverridevirtual

Steers behaviour of hit in track fit. FastSim hit smearing assumes

Reimplemented from TrackingRecHit.

Definition at line 90 of file FastTrackerRecHit.h.

90 { return false; }

◆ clone()

FastTrackerRecHit* FastTrackerRecHit::clone ( void  ) const
inlineoverridevirtual

◆ clone_()

FastTrackerRecHit* FastTrackerRecHit::clone_ ( TkCloner const &  cloner,
TrajectoryStateOnSurface const &  tsos 
) const
inlineoverrideprotectedvirtual

Reimplemented from TrackingRecHit.

Definition at line 193 of file FastTrackerRecHit.h.

References clone().

193  {
194  return this->clone();
195  }
FastTrackerRecHit * clone() const override

◆ dimension()

int FastTrackerRecHit::dimension ( ) const
inlineoverridevirtual

get the dimensions right

Steers behaviour of hit in track fit. Hit is interpreted as 1D or 2D depending on value of is2D_

Implements BaseTrackerRecHit.

Definition at line 86 of file FastTrackerRecHit.h.

References is2D_.

Referenced by FastTrackerRecHitSplitter::split().

◆ energyLoss()

float FastTrackerRecHit::energyLoss ( ) const
inline

Steers behaviour of hit in track fit. Hit is interpreted as 1D or 2D depending on value of is2D_

Definition at line 75 of file FastTrackerRecHit.h.

References energyLoss_.

75 { return energyLoss_; } // holy golden seal

◆ eventId()

virtual int32_t FastTrackerRecHit::eventId ( size_t  i = 0) const
inlinevirtual

Reimplemented in FastProjectedTrackerRecHit, FastMatchedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 96 of file FastTrackerRecHit.h.

Referenced by ntupleDataFormat.Event::eventIdStr(), and sameId().

96 { return -1; }

◆ firstClusterRef()

OmniClusterRef const & FastTrackerRecHit::firstClusterRef ( ) const
overridevirtual

bogus function : implement purely virutal function of BaseTrackerRecHit

Implements BaseTrackerRecHit.

Definition at line 8 of file FastTrackerRecHit.cc.

8 { return nullRef; }

◆ getKfComponents()

void FastTrackerRecHit::getKfComponents ( KfComponentsHolder holder) const
inlineoverridevirtual

Implements BaseTrackerRecHit.

Definition at line 77 of file FastTrackerRecHit.h.

References BaseTrackerRecHit::getKfComponents1D(), BaseTrackerRecHit::getKfComponents2D(), and is2D_.

77  {
78  if (is2D_)
79  getKfComponents2D(holder);
80  else
81  getKfComponents1D(holder);
82  }
void getKfComponents1D(KfComponentsHolder &holder) const
void getKfComponents2D(KfComponentsHolder &holder) const
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)

◆ id()

virtual int32_t FastTrackerRecHit::id ( size_t  i = 0) const
inlinevirtual

Reimplemented in FastProjectedTrackerRecHit, FastMatchedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 95 of file FastTrackerRecHit.h.

Referenced by sameId().

95 { return -1; }

◆ isPixel()

bool FastTrackerRecHit::isPixel ( ) const
inlineoverridevirtual

pixel or strip?

Reimplemented from BaseTrackerRecHit.

Definition at line 104 of file FastTrackerRecHit.h.

References isPixel_.

Referenced by FastTrackerRecHitSplitter::split().

◆ load()

void FastTrackerRecHit::load ( )
inlineprotected

helps making the hit postion and error persistent

Definition at line 184 of file FastTrackerRecHit.h.

References BaseTrackerRecHit::err_, myErr_, myPos_, and BaseTrackerRecHit::pos_.

◆ nIds()

virtual size_t FastTrackerRecHit::nIds ( ) const
inlinevirtual

Reimplemented in FastProjectedTrackerRecHit, FastMatchedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 94 of file FastTrackerRecHit.h.

Referenced by sharesInput().

94 { return 0; }

◆ nSimTrackIds()

virtual size_t FastTrackerRecHit::nSimTrackIds ( ) const
inlinevirtual

Reimplemented in FastProjectedTrackerRecHit, FastMatchedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 98 of file FastTrackerRecHit.h.

Referenced by TrackerHitAssociator::associateFastRecHit().

98 { return 0; }

◆ recHitCombinationIndex()

virtual int32_t FastTrackerRecHit::recHitCombinationIndex ( ) const
inlinevirtual

◆ recHits() [1/2]

std::vector<const TrackingRecHit*> FastTrackerRecHit::recHits ( void  ) const
inlineoverridevirtual

bogus function : implement purely virtual function of TrackingRecHit

Implements TrackingRecHit.

Definition at line 118 of file FastTrackerRecHit.h.

118 { return std::vector<TrackingRecHit const*>(); }

◆ recHits() [2/2]

std::vector<TrackingRecHit*> FastTrackerRecHit::recHits ( void  )
inlineoverridevirtual

bogus function : implement purely virtual function of TrackingRecHit

Implements TrackingRecHit.

Definition at line 122 of file FastTrackerRecHit.h.

122 { return std::vector<TrackingRecHit*>(); }

◆ sameId()

bool FastTrackerRecHit::sameId ( const FastTrackerRecHit other,
size_t  i = 0,
size_t  j = 0 
) const
inline

fastsim's way to check whether 2 single hits share sim-information or not hits are considered to share sim-information if

  • they have the same hit id number
  • they have the same event id number

Definition at line 136 of file FastTrackerRecHit.h.

References eventId(), mps_fire::i, id(), dqmiolumiharvest::j, and trackingPlots::other.

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

136  {
137  return id(i) == other->id(j) && eventId(i) == other->eventId(j);
138  }
virtual int32_t id(size_t i=0) const
virtual int32_t eventId(size_t i=0) const

◆ set2D()

void FastTrackerRecHit::set2D ( bool  is2D = true)
inline

Definition at line 110 of file FastTrackerRecHit.h.

References fastTrackerRecHitType::is2D(), and is2D_.

Referenced by FastTrackerRecHitSplitter::buildSplitStripHit().

110 { is2D_ = is2D; }
bool is2D(HitType hitType)
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)

◆ setEnergyLoss()

void FastTrackerRecHit::setEnergyLoss ( float  e)
inline

Definition at line 76 of file FastTrackerRecHit.h.

References MillePedeFileConverter_cfg::e, and energyLoss_.

76 { energyLoss_ = e; } // holy golden seal was a virtual void...

◆ setEventId()

virtual void FastTrackerRecHit::setEventId ( int32_t  eventId)
inlinevirtual

Reimplemented in FastMatchedTrackerRecHit, FastSingleTrackerRecHit, and FastProjectedTrackerRecHit.

Definition at line 108 of file FastTrackerRecHit.h.

Referenced by edm::detail::doTheOffset().

108 {};

◆ setRecHitCombinationIndex()

virtual void FastTrackerRecHit::setRecHitCombinationIndex ( int32_t  recHitCombinationIndex)
inlinevirtual

◆ sharesInput()

bool FastTrackerRecHit::sharesInput ( const TrackingRecHit other,
SharedInputType  what 
) const
inlineoverridevirtual

Returns true if the two TrackingRecHits are using the same input information (like Digis, Clusters, etc), false otherwise. The second argument specifies how much sharing is needed in order to return true: the value "all" means that all inputs of the two hits must be identical; the value "some" means that at least one of the inputs is in common.

Reimplemented from TrackingRecHit.

Definition at line 139 of file FastTrackerRecHit.h.

References TrackingRecHit::all, trackerHitRTTI::isFast(), nIds(), trackingPlots::other, and sameId().

139  {
140  // cast other hit
142  return false;
143  const FastTrackerRecHit* otherCast = static_cast<const FastTrackerRecHit*>(other);
144 
145  // checks
146  if (this->nIds() == 1) { // this hit is single/projected
147  if (otherCast->nIds() == 1) { // other hit is single/projected
148  return this->sameId(otherCast, 0, 0);
149  } else { // other hit is matched
150  if (what == all) {
151  return false;
152  } else {
153  return (this->sameId(otherCast, 0, 0) || this->sameId(otherCast, 0, 1));
154  }
155  }
156  } else { // this hit is matched
157  if (otherCast->nIds() == 1) { // other hit is single/projected
158  if (what == all) {
159  return false;
160  } else {
161  return (this->sameId(otherCast, 0, 0) || this->sameId(otherCast, 1, 0));
162  }
163  } else { // other hit is matched
164  if (what == all) {
165  return (this->sameId(otherCast, 0, 0) && this->sameId(otherCast, 1, 1));
166  } else {
167  return (this->sameId(otherCast, 0, 0) || this->sameId(otherCast, 1, 1));
168  }
169  }
170  }
171  }
bool sameId(const FastTrackerRecHit *other, size_t i=0, size_t j=0) const
virtual size_t nIds() const
bool isFast(TrackingRecHit const &hit)

◆ simTrackEventId()

virtual int32_t FastTrackerRecHit::simTrackEventId ( size_t  i) const
inlinevirtual

Reimplemented in FastMatchedTrackerRecHit, FastProjectedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 100 of file FastTrackerRecHit.h.

Referenced by TrackerHitAssociator::associateFastRecHit().

100 { return -1; }

◆ simTrackId()

virtual int32_t FastTrackerRecHit::simTrackId ( size_t  i) const
inlinevirtual

Reimplemented in FastProjectedTrackerRecHit, FastMatchedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 99 of file FastTrackerRecHit.h.

Referenced by TrackerHitAssociator::associateFastRecHit().

99 { return -1; }

◆ store()

void FastTrackerRecHit::store ( )
inlineprotected

helps making the hit postion and error persistent

Definition at line 180 of file FastTrackerRecHit.h.

References BaseTrackerRecHit::err_, myErr_, myPos_, and BaseTrackerRecHit::pos_.

Referenced by FastTrackerRecHit().

Member Data Documentation

◆ energyLoss_

float FastTrackerRecHit::energyLoss_
protected

Definition at line 190 of file FastTrackerRecHit.h.

Referenced by energyLoss(), and setEnergyLoss().

◆ is2D_

bool FastTrackerRecHit::is2D_
protected

hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)

Definition at line 175 of file FastTrackerRecHit.h.

Referenced by dimension(), getKfComponents(), and set2D().

◆ isPixel_

const bool FastTrackerRecHit::isPixel_
protected

hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false)

Definition at line 174 of file FastTrackerRecHit.h.

Referenced by isPixel().

◆ myErr_

LocalError FastTrackerRecHit::myErr_
protected

helps making the hit postion and error persistent

Definition at line 178 of file FastTrackerRecHit.h.

Referenced by load(), and store().

◆ myPos_

LocalPoint FastTrackerRecHit::myPos_
protected

helps making the hit postion and error persistent

Definition at line 177 of file FastTrackerRecHit.h.

Referenced by load(), and store().

◆ recHitCombinationIndex_

uint32_t FastTrackerRecHit::recHitCombinationIndex_
protected

Definition at line 189 of file FastTrackerRecHit.h.

Referenced by recHitCombinationIndex(), and setRecHitCombinationIndex().