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 (const GeomDet &idet, trackerHitRTTI::RTTI rt)
 
 BaseTrackerRecHit (const LocalPoint &p, const LocalError &e, GeomDet const &idet, trackerHitRTTI::RTTI rt)
 
 BaseTrackerRecHit (DetId id, 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 (const GeomDet &idet, TrackingRecHit const &rh)
 
 TrackingRecHit (const GeomDet &idet, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, unsigned int rt, Type type=valid)
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
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().

◆ ~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.

61  energyLoss_(0.0) //holy golden seal
62  {
63  store();
64  }

References store().

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

Implements TrackingRecHit.

Definition at line 66 of file FastTrackerRecHit.h.

66  {
68  p->load();
69  return p;
70  }

References FastTrackerRecHit(), and AlCaHLTBitMon_ParallelJobs::p.

Referenced by clone_(), FastTrackerRecHitSplitter::split(), and FastTSGFromPropagation::trackerSeeds().

◆ clone_()

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

Reimplemented from TrackingRecHit.

Definition at line 193 of file FastTrackerRecHit.h.

193  {
194  return this->clone();
195  }

References clone().

◆ 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.

75 { return energyLoss_; } // holy golden seal

References energyLoss_.

◆ 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.

96 { return -1; }

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

◆ 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.

77  {
78  if (is2D_)
79  getKfComponents2D(holder);
80  else
81  getKfComponents1D(holder);
82  }

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

◆ 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.

95 { return -1; }

Referenced by sameId().

◆ 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.

94 { return 0; }

Referenced by sharesInput().

◆ nSimTrackIds()

virtual size_t FastTrackerRecHit::nSimTrackIds ( ) const
inlinevirtual

Reimplemented in FastProjectedTrackerRecHit, FastMatchedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 98 of file FastTrackerRecHit.h.

98 { return 0; }

Referenced by TrackerHitAssociator::associateFastRecHit().

◆ 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.

136  {
137  return id(i) == other->id(j) && eventId(i) == other->eventId(j);
138  }

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

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

◆ set2D()

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

Definition at line 110 of file FastTrackerRecHit.h.

110 { is2D_ = is2D; }

References fastTrackerRecHitType::is2D(), and is2D_.

Referenced by FastTrackerRecHitSplitter::buildSplitStripHit().

◆ setEnergyLoss()

void FastTrackerRecHit::setEnergyLoss ( float  e)
inline

Definition at line 76 of file FastTrackerRecHit.h.

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

References MillePedeFileConverter_cfg::e, and energyLoss_.

◆ setEventId()

virtual void FastTrackerRecHit::setEventId ( int32_t  eventId)
inlinevirtual

Reimplemented in FastMatchedTrackerRecHit, FastSingleTrackerRecHit, and FastProjectedTrackerRecHit.

Definition at line 108 of file FastTrackerRecHit.h.

108 {};

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

◆ 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.

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  }

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

◆ 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.

100 { return -1; }

Referenced by TrackerHitAssociator::associateFastRecHit().

◆ 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.

99 { return -1; }

Referenced by TrackerHitAssociator::associateFastRecHit().

◆ 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().

mps_fire.i
i
Definition: mps_fire.py:428
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
FastTrackerRecHit::is2D_
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)
Definition: FastTrackerRecHit.h:175
FastTrackerRecHit::sameId
bool sameId(const FastTrackerRecHit *other, size_t i=0, size_t j=0) const
Definition: FastTrackerRecHit.h:136
FastTrackerRecHit
Definition: FastTrackerRecHit.h:40
FastTrackerRecHit::id
virtual int32_t id(size_t i=0) const
Definition: FastTrackerRecHit.h:95
FastTrackerRecHit::store
void store()
helps making the hit postion and error persistent
Definition: FastTrackerRecHit.h:180
FastTrackerRecHit::recHitCombinationIndex_
uint32_t recHitCombinationIndex_
Definition: FastTrackerRecHit.h:189
trackingPlots.other
other
Definition: trackingPlots.py:1460
FastTrackerRecHit::nIds
virtual size_t nIds() const
Definition: FastTrackerRecHit.h:94
TrackingRecHit::all
Definition: TrackingRecHit.h:59
fastTrackerRecHitType::isPixel
bool isPixel(HitType hitType)
Definition: FastTrackerRecHit.h:37
FastTrackerRecHit::recHitCombinationIndex
virtual int32_t recHitCombinationIndex() const
Definition: FastTrackerRecHit.h:102
FastTrackerRecHit::FastTrackerRecHit
FastTrackerRecHit()
Definition: FastTrackerRecHit.h:44
FastTrackerRecHit::energyLoss_
float energyLoss_
Definition: FastTrackerRecHit.h:190
FastTrackerRecHit::eventId
virtual int32_t eventId(size_t i=0) const
Definition: FastTrackerRecHit.h:96
fastTrackerRecHitType::rtti
trackerHitRTTI::RTTI rtti(HitType hitType)
Definition: FastTrackerRecHit.h:24
fastTrackerRecHitType::is2D
bool is2D(HitType hitType)
Definition: FastTrackerRecHit.h:36
BaseTrackerRecHit::getKfComponents2D
void getKfComponents2D(KfComponentsHolder &holder) const
Definition: BaseTrackerRecHit.cc:53
BaseTrackerRecHit::BaseTrackerRecHit
BaseTrackerRecHit()
Definition: BaseTrackerRecHit.h:17
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
FastTrackerRecHit::clone
FastTrackerRecHit * clone() const override
Definition: FastTrackerRecHit.h:66
BaseTrackerRecHit::getKfComponents1D
void getKfComponents1D(KfComponentsHolder &holder) const
Definition: BaseTrackerRecHit.cc:35
FastTrackerRecHit::isPixel_
const bool isPixel_
hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false)
Definition: FastTrackerRecHit.h:174
trackerHitRTTI::isFast
bool isFast(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:37
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37