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

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

Definition at line 27 of file MatchedHitRZCorrectionFromBending.h.

Constructor & Destructor Documentation

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

Definition at line 14 of file MatchedHitRZCorrectionFromBending.cc.

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

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

Definition at line 23 of file MatchedHitRZCorrectionFromBending.cc.

References GeometricSearchDet::basicComponents(), DetLayer::subDetector(), GeomDetEnumerators::TIB, TrackerTopology::tibIsDoubleSide(), tibMatchedHitZFixup(), and zFixup.

24  : rFixup(nullptr), zFixup(nullptr)
25 {
26  if (layer->subDetector() == GeomDetEnumerators::TIB) {
27  const GeometricSearchDet *tibLayer = layer;
28 
29  if (tTopo->tibIsDoubleSide(tibLayer->basicComponents()[0]->geographicalId()))
31  }
32 }
bool tibIsDoubleSide(const DetId &id) const
virtual SubDetector subDetector() const =0
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
virtual const std::vector< const GeomDet * > & basicComponents() const =0
static double tibMatchedHitZFixup(const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TrackingRecHit &hit, const TrackerTopology *tTopo)

Member Function Documentation

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 rFixup, and zFixup.

20  {
21  if (!rFixup && !zFixup) return;
22  if (rFixup) r += rFixup(pred, curvature, z, hit,tTopo);
23  if (zFixup) z += zFixup(pred, curvature, r, hit,tTopo);
24  }
T curvature(T InversePt, const edm::EventSetup &iSetup)
double MatchedHitRZCorrectionFromBending::tibMatchedHitZFixup ( const ThirdHitPredictionFromCircle pred,
double  curvature,
double  rOrZ,
const TrackingRecHit hit,
const TrackerTopology tTopo 
)
staticprivate

Definition at line 35 of file MatchedHitRZCorrectionFromBending.cc.

References ThirdHitPredictionFromCircle::angle(), TrackingRecHit::det(), GeomDet::geographicalId(), AlCaHLTBitMon_QueryRunRegistry::string, TrackerTopology::tibIsInternalString(), and TrackerTopology::tibLayer().

Referenced by MatchedHitRZCorrectionFromBending().

39 {
40  // the factors for [ TIB1=0, TIB2=1 ] [ inner string=0, outer string=1 ]
41  static const double factors[2][2] = { { -2.4, 2.4 }, { 2.4, -2.4 } };
42 
43 
44  unsigned int layer = tTopo->tibLayer(hit.det()->geographicalId()) - 1;
45  unsigned int string = !tTopo->tibIsInternalString(hit.det()->geographicalId());
46  return factors[layer][string] * pred.angle(curvature, r);
47 }
unsigned int tibLayer(const DetId &id) const
float angle(float curvature, float radius) const
T curvature(T InversePt, const edm::EventSetup &iSetup)
const GeomDet * det() const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
bool tibIsInternalString(const DetId &id) const

Member Data Documentation

FixupFn MatchedHitRZCorrectionFromBending::rFixup
private

Definition at line 37 of file MatchedHitRZCorrectionFromBending.h.

Referenced by operator()().

FixupFn MatchedHitRZCorrectionFromBending::zFixup
private