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 (const DetLayer *layer, const TrackerTopology *tTopo)
 
 MatchedHitRZCorrectionFromBending (DetId detId, 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

Definition at line 13 of file MatchedHitRZCorrectionFromBending.h.

13 : rFixup(nullptr), zFixup(nullptr) {}

◆ MatchedHitRZCorrectionFromBending() [2/3]

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

Definition at line 14 of file MatchedHitRZCorrectionFromBending.cc.

15  : rFixup(nullptr), zFixup(nullptr) {
16  if (detId.subdetId() == SiStripDetId::TIB && tTopo->tibIsDoubleSide(detId))
18 }

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

◆ MatchedHitRZCorrectionFromBending() [3/3]

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

Definition at line 20 of file MatchedHitRZCorrectionFromBending.cc.

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 }

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

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.

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  }

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

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

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 }

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

Referenced by MatchedHitRZCorrectionFromBending().

Member Data Documentation

◆ rFixup

FixupFn MatchedHitRZCorrectionFromBending::rFixup
private

Definition at line 44 of file MatchedHitRZCorrectionFromBending.h.

Referenced by operator()().

◆ zFixup

FixupFn MatchedHitRZCorrectionFromBending::zFixup
private
TrackerTopology::tibIsInternalString
bool tibIsInternalString(const DetId &id) const
Definition: TrackerTopology.h:429
GeomDetEnumerators::TIB
Definition: GeomDetEnumerators.h:13
MatchedHitRZCorrectionFromBending::tibMatchedHitZFixup
static double tibMatchedHitZFixup(const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TrackingRecHit &hit, const TrackerTopology *tTopo)
Definition: MatchedHitRZCorrectionFromBending.cc:31
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:42
ThirdHitPredictionFromCircle::angle
float angle(float curvature, float radius) const
Definition: ThirdHitPredictionFromCircle.cc:79
MatchedHitRZCorrectionFromBending::rFixup
FixupFn rFixup
Definition: MatchedHitRZCorrectionFromBending.h:44
DDAxes::z
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
alignCSCRings.r
r
Definition: alignCSCRings.py:93
TrackerTopology::tibIsDoubleSide
bool tibIsDoubleSide(const DetId &id) const
Definition: TrackerTopology.h:249
SiStripDetId::TIB
static constexpr auto TIB
Definition: SiStripDetId.h:37
GeometricSearchDet
Definition: GeometricSearchDet.h:17
MatchedHitRZCorrectionFromBending::zFixup
FixupFn zFixup
Definition: MatchedHitRZCorrectionFromBending.h:44
GeometricSearchDet::basicComponents
virtual const std::vector< const GeomDet * > & basicComponents() const =0
hit
Definition: SiStripHitEffFromCalibTree.cc:88
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150