CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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)
 
 MatchedHitRZCorrectionFromBending (const DetLayer *layer)
 
void operator() (const ThirdHitPredictionFromCircle &pred, double curvature, const TransientTrackingRecHit &hit, double &r, double &z) const
 

Private Types

typedef double(* FixupFn )(const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TransientTrackingRecHit &hit)
 

Static Private Member Functions

static double tibMatchedHitZFixup (const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TransientTrackingRecHit &hit)
 

Private Attributes

FixupFn rFixup
 
FixupFn zFixup
 

Detailed Description

Definition at line 10 of file MatchedHitRZCorrectionFromBending.h.

Member Typedef Documentation

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

Definition at line 26 of file MatchedHitRZCorrectionFromBending.h.

Constructor & Destructor Documentation

MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending ( )
inline
MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending ( DetId  detId)

Definition at line 14 of file MatchedHitRZCorrectionFromBending.cc.

References TIBDetId::isDoubleSide(), DetId::subdetId(), SiStripDetId::TIB, tibMatchedHitZFixup(), and zFixup.

15  : rFixup(0), zFixup(0)
16 {
17  if (detId.subdetId() == SiStripDetId::TIB &&
18  TIBDetId(detId).isDoubleSide())
20 }
bool isDoubleSide() const
Definition: TIBDetId.cc:10
static double tibMatchedHitZFixup(const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TransientTrackingRecHit &hit)
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending ( const DetLayer layer)

Definition at line 23 of file MatchedHitRZCorrectionFromBending.cc.

References TIBLayer::basicComponents(), DetLayer::subDetector(), GeomDetEnumerators::TIB, tibMatchedHitZFixup(), and zFixup.

24  : rFixup(0), zFixup(0)
25 {
26  if (layer->subDetector() == GeomDetEnumerators::TIB) {
27  const TIBLayer *tibLayer = static_cast<const TIBLayer*>(layer);
28  TIBDetId tibDetId(tibLayer->basicComponents()[0]->geographicalId());
29  if (tibDetId.isDoubleSide())
31  }
32 }
virtual SubDetector subDetector() const =0
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
static double tibMatchedHitZFixup(const ThirdHitPredictionFromCircle &pred, double curvature, double rOrZ, const TransientTrackingRecHit &hit)
virtual const std::vector< const GeomDet * > & basicComponents() const
Definition: TIBLayer.h:24

Member Function Documentation

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

Definition at line 16 of file MatchedHitRZCorrectionFromBending.h.

References rFixup, and zFixup.

19  {
20  if (!rFixup && !zFixup) return;
21  if (rFixup) r += rFixup(pred, curvature, z, hit);
22  if (zFixup) z += zFixup(pred, curvature, r, hit);
23  }
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition: DDAxes.h:10
double MatchedHitRZCorrectionFromBending::tibMatchedHitZFixup ( const ThirdHitPredictionFromCircle pred,
double  curvature,
double  rOrZ,
const TransientTrackingRecHit hit 
)
staticprivate

Definition at line 35 of file MatchedHitRZCorrectionFromBending.cc.

References ThirdHitPredictionFromCircle::angle(), TransientTrackingRecHit::det(), GeomDet::geographicalId(), and TIBDetId::layer().

Referenced by MatchedHitRZCorrectionFromBending().

38 {
39  // the factors for [ TIB1=0, TIB2=1 ] [ inner string=0, outer string=1 ]
40  static const double factors[2][2] = { { -2.4, 2.4 }, { 2.4, -2.4 } };
41 
42  TIBDetId det(hit.det()->geographicalId());
43  unsigned int layer = det.layer() - 1;
44  unsigned int string = !det.isInternalString();
45  return factors[layer][string] * pred.angle(curvature, r);
46 }
T curvature(T InversePt, const edm::EventSetup &iSetup)
double angle(double curvature, double radius) const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:74
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.

Member Data Documentation

FixupFn MatchedHitRZCorrectionFromBending::rFixup
private

Definition at line 34 of file MatchedHitRZCorrectionFromBending.h.

Referenced by operator()().

FixupFn MatchedHitRZCorrectionFromBending::zFixup
private