CMS 3D CMS Logo

ThirdHitPrediction.h
Go to the documentation of this file.
1 #ifndef _ThirdHitPrediction_h_
2 #define _ThirdHitPrediction_h_
3 
13 
17 
20 
21 class DetLayer;
22 class OrderedHitPair;
23 class TrackingRecHit;
24 
26 
29 
30 #include <vector>
31 #include <utility>
32 
34 public:
37 
41  const edm::EventSetup& es,
43  double maxAngleRatio,
44  std::string builderName);
46 
47  void getRanges(const DetLayer* layer, float phi[], float rz[]);
48  void getRanges(float rORz, float phi[], float rz[]);
49 
51  const std::vector<const TrackingRecHit*>& h,
52  std::vector<GlobalVector>& localDirs,
53  const edm::EventSetup& es);
54 
55 private:
56  void initLayer(const DetLayer* layer);
57 
58  void printOut(char* text);
59 
60  void invertCircle(Global2DVector& c, float& r);
62 
63  std::pair<float, float> findMinimalCircles(float r);
64  std::pair<float, float> findTouchingCircles(float r);
65 
66  std::pair<float, float> findArcIntersection(std::pair<float, float> a, std::pair<float, float> b, bool& keep);
67 
68  void fitParabola(const float x[3], const float y[3], float par[3]);
69  void findRectangle(const float x[3], const float y[3], const float par[3], float phi[2], float z[2]);
70 
71  float areaParallelogram(const Global2DVector& a, const Global2DVector& b);
72  float angleRatio(const Global2DVector& p3, const Global2DVector& c);
73 
74  void spinCloser(float phi[3]);
75 
76  void calculateRangesBarrel(float r3, float phi[2], float z[2], bool keep);
77  void calculateRangesForward(float z3, float phi[2], float r[2], bool keep);
78  void calculateRanges(float rz3, float phi[2], float rz[2]);
79 
84 
86 
88 
89  // Data
90  float Bz, r0, rm;
93  std::pair<float, float> arc_0m;
94 
95  bool keep;
96 
97  double nSigma;
98  double maxRatio;
99 };
100 #endif
ThirdHitPrediction::theTTRecHitBuilder
const TransientTrackingRecHitBuilder * theTTRecHitBuilder
Definition: ThirdHitPrediction.h:87
ThirdHitPrediction::theLayer
const DetLayer * theLayer
Definition: ThirdHitPrediction.h:85
ThirdHitPrediction::theLine
PixelRecoLineRZ theLine
Definition: ThirdHitPrediction.h:83
DDAxes::y
ThirdHitPrediction::isCompatibleWithMultipleScattering
bool isCompatibleWithMultipleScattering(GlobalPoint g3, const std::vector< const TrackingRecHit * > &h, std::vector< GlobalVector > &localDirs, const edm::EventSetup &es)
Definition: ThirdHitPrediction.cc:345
TkTrackingRegionsMargin.h
ThirdHitPrediction::calculateRangesBarrel
void calculateRangesBarrel(float r3, float phi[2], float z[2], bool keep)
Definition: ThirdHitPrediction.cc:195
ThirdHitPrediction::angleRatio
float angleRatio(const Global2DVector &p3, const Global2DVector &c)
Definition: ThirdHitPrediction.cc:172
ESHandle.h
DetLayer
Definition: DetLayer.h:21
ThirdHitPrediction::arc_0m
std::pair< float, float > arc_0m
Definition: ThirdHitPrediction.h:93
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
ThirdHitPrediction::Bz
float Bz
Definition: ThirdHitPrediction.h:90
ThirdHitPrediction::ThirdHitPrediction
ThirdHitPrediction(const TrackingRegion &region, GlobalPoint inner, GlobalPoint outer, const edm::EventSetup &es, double nSigMultipleScattering, double maxAngleRatio, std::string builderName)
Definition: ThirdHitPrediction.cc:18
ThirdHitPrediction::findRectangle
void findRectangle(const float x[3], const float y[3], const float par[3], float phi[2], float z[2])
Definition: ThirdHitPrediction.cc:145
DDAxes::x
ThirdHitPrediction::spinCloser
void spinCloser(float phi[3])
Definition: ThirdHitPrediction.cc:182
ThirdHitPrediction::r0
float r0
Definition: ThirdHitPrediction.h:90
ThirdHitPrediction::theTolerance
Margin theTolerance
Definition: ThirdHitPrediction.h:82
ThirdHitPrediction::keep
bool keep
Definition: ThirdHitPrediction.h:95
ThirdHitPrediction::calculateRanges
void calculateRanges(float rz3, float phi[2], float rz[2])
Definition: ThirdHitPrediction.cc:289
ThirdHitPrediction::fitParabola
void fitParabola(const float x[3], const float y[3], float par[3])
Definition: ThirdHitPrediction.cc:130
ThirdHitPrediction::findTouchingCircles
std::pair< float, float > findTouchingCircles(float r)
Definition: ThirdHitPrediction.cc:85
SurfaceOrientation::inner
Definition: Surface.h:19
ThirdHitPrediction::invertPoint
void invertPoint(Global2DVector &p)
Definition: ThirdHitPrediction.cc:68
DDAxes::z
Vector2DBase< float, GlobalTag >
ThirdHitPrediction::p2
Global2DVector p2
Definition: ThirdHitPrediction.h:92
h
ThirdHitPrediction::getRanges
void getRanges(const DetLayer *layer, float phi[], float rz[])
Definition: ThirdHitPrediction.cc:304
Vector2DBase.h
Point3DBase< float, GlobalTag >
ThirdHitPrediction::p1
Global2DVector p1
Definition: ThirdHitPrediction.h:92
b
double b
Definition: hdecay.h:118
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GlobalTag.h
AllPixelTracks_cfi.nSigMultipleScattering
nSigMultipleScattering
Definition: AllPixelTracks_cfi.py:39
PixelRecoRange< float >
ThirdHitPrediction::~ThirdHitPrediction
~ThirdHitPrediction()
Definition: ThirdHitPrediction.cc:57
a
double a
Definition: hdecay.h:119
ThirdHitPrediction::initLayer
void initLayer(const DetLayer *layer)
Definition: ThirdHitPrediction.cc:431
ThirdHitPrediction::invertCircle
void invertCircle(Global2DVector &c, float &r)
Definition: ThirdHitPrediction.cc:60
ThirdHitPrediction::c0
Global2DVector c0
Definition: ThirdHitPrediction.h:92
ThirdHitPrediction::nSigma
double nSigma
Definition: ThirdHitPrediction.h:97
PixelRecoLineRZ
Definition: PixelRecoLineRZ.h:12
ThirdHitPrediction::calculateRangesForward
void calculateRangesForward(float z3, float phi[2], float r[2], bool keep)
Definition: ThirdHitPrediction.cc:243
ThirdHitPrediction::findArcIntersection
std::pair< float, float > findArcIntersection(std::pair< float, float > a, std::pair< float, float > b, bool &keep)
Definition: ThirdHitPrediction.cc:96
TkTrackingRegionsMargin< float >
edm::EventSetup
Definition: EventSetup.h:57
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
ThirdHitPrediction::g2
GlobalPoint g2
Definition: ThirdHitPrediction.h:91
ThirdHitPrediction::dif
Global2DVector dif
Definition: ThirdHitPrediction.h:92
TrackingRecHit
Definition: TrackingRecHit.h:21
alignCSCRings.r
r
Definition: alignCSCRings.py:93
DDAxes::phi
ThirdHitPrediction::printOut
void printOut(char *text)
AllPixelTracks_cfi.maxAngleRatio
maxAngleRatio
Definition: AllPixelTracks_cfi.py:40
ThirdHitPrediction::g1
GlobalPoint g1
Definition: ThirdHitPrediction.h:91
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
GlobalVector.h
ThirdHitPrediction::rm
float rm
Definition: ThirdHitPrediction.h:90
EventSetup.h
PixelRecoLineRZ.h
p3
double p3[4]
Definition: TauolaWrapper.h:91
TrackingRegion
Definition: TrackingRegion.h:38
TrackingRegion.h
ThirdHitPrediction
Definition: ThirdHitPrediction.h:33
ThirdHitPrediction::maxRatio
double maxRatio
Definition: ThirdHitPrediction.h:98
runonSM.text
text
Definition: runonSM.py:43
SurfaceOrientation::outer
Definition: Surface.h:19
OrderedHitPair
Definition: OrderedHitPair.h:6
ThirdHitPrediction::theDetRange
Range theDetRange
Definition: ThirdHitPrediction.h:81
TransientTrackingRecHitBuilder
Definition: TransientTrackingRecHitBuilder.h:6
GlobalPoint.h
ThirdHitPrediction::findMinimalCircles
std::pair< float, float > findMinimalCircles(float r)
Definition: ThirdHitPrediction.cc:75
ThirdHitPrediction::theForward
bool theForward
Definition: ThirdHitPrediction.h:80
PixelRecoRange.h
ThirdHitPrediction::theBarrel
bool theBarrel
Definition: ThirdHitPrediction.h:80
Global2DVector
Vector2DBase< float, GlobalTag > Global2DVector
Definition: ThirdHitPrediction.h:16
ThirdHitPrediction::areaParallelogram
float areaParallelogram(const Global2DVector &a, const Global2DVector &b)
Definition: ThirdHitPrediction.cc:167
ThirdHitPrediction::Range
PixelRecoRange< float > Range
Definition: ThirdHitPrediction.h:35
ThirdHitPrediction::Margin
TkTrackingRegionsMargin< float > Margin
Definition: ThirdHitPrediction.h:36