CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Static Private Member Functions | Private Attributes
MatchedHitRZCorrectionFromBending Class Reference

#include <MatchedHitRZCorrectionFromBending.h>

Public Member Functions

 MatchedHitRZCorrectionFromBending ()
 
 MatchedHitRZCorrectionFromBending (DetId detId, const TrackerTopology *tTopo)
 
 MatchedHitRZCorrectionFromBending (const DetLayer *layer, const TrackerTopology *tTopo)
 
void operator() (const ThirdHitPredictionFromCircle &pred, double curvature, const TrackingRecHit &hit, double &r, double &z, const TrackerTopology *tTopo) const
 

Private Types

typedef double(* FixupFn) (const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TrackingRecHit &hit, const TrackerTopology *tTopo)
 

Static Private Member Functions

static double tibMatchedHitZFixup (const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TrackingRecHit &hit, const TrackerTopology *tTopo)
 

Private Attributes

FixupFn rFixup
 
FixupFn zFixup
 

Detailed Description

Definition at line 11 of file MatchedHitRZCorrectionFromBending.h.

Member Typedef Documentation

◆ FixupFn

typedef double(* MatchedHitRZCorrectionFromBending::FixupFn) (const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TrackingRecHit &hit, const TrackerTopology *tTopo)
private

Definition at line 32 of file MatchedHitRZCorrectionFromBending.h.

Constructor & Destructor Documentation

◆ MatchedHitRZCorrectionFromBending() [1/3]

MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending ( )
inline

◆ MatchedHitRZCorrectionFromBending() [2/3]

MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending ( DetId  detId,
const TrackerTopology tTopo 
)

Definition at line 14 of file MatchedHitRZCorrectionFromBending.cc.

References DetId::subdetId(), SiStripDetId::TIB, TrackerTopology::tibIsDoubleSide(), tibMatchedHitZFixup(), and zFixup.

15  : rFixup(nullptr), zFixup(nullptr) {
16  if (detId.subdetId() == SiStripDetId::TIB && tTopo->tibIsDoubleSide(detId))
18 }
bool tibIsDoubleSide(const DetId &id) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
static double tibMatchedHitZFixup(const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TrackingRecHit &hit, const TrackerTopology *tTopo)
static constexpr auto TIB
Definition: SiStripDetId.h:37

◆ MatchedHitRZCorrectionFromBending() [3/3]

MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending ( const DetLayer layer,
const TrackerTopology tTopo 
)

Definition at line 20 of file MatchedHitRZCorrectionFromBending.cc.

References GeometricSearchDet::basicComponents(), phase1PixelTopology::layer, GeomDetEnumerators::TIB, TrackerTopology::tibIsDoubleSide(), tibMatchedHitZFixup(), and zFixup.

22  : rFixup(nullptr), zFixup(nullptr) {
23  if (layer->subDetector() == GeomDetEnumerators::TIB) {
24  const GeometricSearchDet *tibLayer = layer;
25 
26  if (tTopo->tibIsDoubleSide(tibLayer->basicComponents()[0]->geographicalId()))
28  }
29 }
bool tibIsDoubleSide(const DetId &id) const
constexpr std::array< uint8_t, layerIndexSize > layer
static double tibMatchedHitZFixup(const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TrackingRecHit &hit, const TrackerTopology *tTopo)
virtual const std::vector< const GeomDet * > & basicComponents() const =0

Member Function Documentation

◆ operator()()

void MatchedHitRZCorrectionFromBending::operator() ( const ThirdHitPredictionFromCircle pred,
double  curvature,
const TrackingRecHit hit,
double &  r,
double &  z,
const TrackerTopology tTopo 
) const
inline

Definition at line 17 of file MatchedHitRZCorrectionFromBending.h.

References PixelRecoUtilities::curvature(), alignCSCRings::r, rFixup, z, and zFixup.

22  {
23  if (!rFixup && !zFixup)
24  return;
25  if (rFixup)
26  r += rFixup(pred, curvature, z, hit, tTopo);
27  if (zFixup)
28  z += zFixup(pred, curvature, r, hit, tTopo);
29  }
T curvature(T InversePt, const MagneticField &field)

◆ tibMatchedHitZFixup()

double MatchedHitRZCorrectionFromBending::tibMatchedHitZFixup ( const ThirdHitPredictionFromCircle pred,
double  curvature,
double  rOrZ,
const TrackingRecHit hit,
const TrackerTopology tTopo 
)
staticprivate

Definition at line 31 of file MatchedHitRZCorrectionFromBending.cc.

References ThirdHitPredictionFromCircle::angle(), PixelRecoUtilities::curvature(), phase1PixelTopology::layer, alignCSCRings::r, AlCaHLTBitMon_QueryRunRegistry::string, TrackerTopology::tibIsInternalString(), and TrackerTopology::tibLayer().

Referenced by MatchedHitRZCorrectionFromBending().

35  {
36  // the factors for [ TIB1=0, TIB2=1 ] [ inner string=0, outer string=1 ]
37  static const double factors[2][2] = {{-2.4, 2.4}, {2.4, -2.4}};
38 
39  unsigned int layer = tTopo->tibLayer(hit.det()->geographicalId()) - 1;
40  unsigned int string = !tTopo->tibIsInternalString(hit.det()->geographicalId());
41  return factors[layer][string] * pred.angle(curvature, r);
42 }
T curvature(T InversePt, const MagneticField &field)
constexpr std::array< uint8_t, layerIndexSize > layer
bool tibIsInternalString(const DetId &id) const
float angle(float curvature, float radius) const
unsigned int tibLayer(const DetId &id) const

Member Data Documentation

◆ rFixup

FixupFn MatchedHitRZCorrectionFromBending::rFixup
private

Definition at line 44 of file MatchedHitRZCorrectionFromBending.h.

Referenced by operator()().

◆ zFixup

FixupFn MatchedHitRZCorrectionFromBending::zFixup
private