CMS 3D CMS Logo

VectorHitBuilderAlgorithm.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 // class VectorHitBuilderAlgorithm
3 // author: ebrondol,nathera
4 // date: May, 2015
5 //---------------------------------------------------------------------------
6 
7 #ifndef RecoLocalTracker_SiPhase2VectorHitBuilder_VectorHitBuilderAlgorithm_H
8 #define RecoLocalTracker_SiPhase2VectorHitBuilder_VectorHitBuilderAlgorithm_H
9 
13 
16 
18 public:
20  const TrackerGeometry* tkGeomProd,
21  const TrackerTopology* tkTopoProd,
23  : VectorHitBuilderAlgorithmBase(conf, tkGeomProd, tkTopoProd, cpeProd){};
24  ~VectorHitBuilderAlgorithm() override = default;
25 
27  VectorHitCollection& vhAcc,
28  VectorHitCollection& vhRej,
30  edmNew::DetSetVector<Phase2TrackerCluster1D>& clustersRej) const override;
31 
32  //not implemented yet
34  const Detset& theLowerDetSet,
35  const Detset& theUpperDetSet) const;
37  Local3DPoint& posouter,
38  LocalError& errinner,
39  LocalError& errouter) const;
40  struct CurvatureAndPhi {
41  float curvature;
43  float phi;
44  };
46  Global3DPoint gPositionUpper,
47  GlobalError gErrorLower,
48  GlobalError gErrorUpper) const;
49 
51  VectorHitCollection& vhRej,
52  DetId detIdStack,
53  const StackGeomDet* stack,
55  const Detset& DSVinner,
56  const Detset& DSVouter,
57  const std::vector<bool>& phase2OTClustersToSkip = std::vector<bool>()) const override;
58 
61  Phase2TrackerCluster1DRef upper) const override;
62 
63  void fit2Dzx(const Local3DPoint lpCI,
64  const Local3DPoint lpCO,
65  const LocalError leCI,
66  const LocalError leCO,
69  AlgebraicSymMatrix22& covMatrix,
70  double& chi2) const;
71  void fit2Dzy(const Local3DPoint lpCI,
72  const Local3DPoint lpCO,
73  const LocalError leCI,
74  const LocalError leCO,
77  AlgebraicSymMatrix22& covMatrix,
78  double& chi2) const;
79 
80  void fit(float x[2],
81  float y[2],
82  float sigy[2],
85  AlgebraicSymMatrix22& covMatrix,
86  double& chi2) const;
87 };
88 
89 #endif
~VectorHitBuilderAlgorithm() override=default
void buildVectorHits(VectorHitCollection &vhAcc, VectorHitCollection &vhRej, DetId detIdStack, const StackGeomDet *stack, edm::Handle< edmNew::DetSetVector< Phase2TrackerCluster1D >> clusters, const Detset &DSVinner, const Detset &DSVouter, const std::vector< bool > &phase2OTClustersToSkip=std::vector< bool >()) const override
void fit(float x[2], float y[2], float sigy[2], Local3DPoint &pos, Local3DVector &dir, AlgebraicSymMatrix22 &covMatrix, double &chi2) const
VectorHitBuilderAlgorithm(const edm::ParameterSet &conf, const TrackerGeometry *tkGeomProd, const TrackerTopology *tkTopoProd, const ClusterParameterEstimator< Phase2TrackerCluster1D > *cpeProd)
VectorHit buildVectorHit(const StackGeomDet *stack, Phase2TrackerCluster1DRef lower, Phase2TrackerCluster1DRef upper) const override
void fit2Dzy(const Local3DPoint lpCI, const Local3DPoint lpCO, const LocalError leCI, const LocalError leCO, Local3DPoint &pos, Local3DVector &dir, AlgebraicSymMatrix22 &covMatrix, double &chi2) const
bool checkClustersCompatibilityBeforeBuilding(edm::Handle< edmNew::DetSetVector< Phase2TrackerCluster1D >> clusters, const Detset &theLowerDetSet, const Detset &theUpperDetSet) const
stack
Definition: svgfig.py:559
edmNew::DetSet< Phase2TrackerCluster1D > Detset
Definition: DetId.h:17
void run(edm::Handle< edmNew::DetSetVector< Phase2TrackerCluster1D >> clusters, VectorHitCollection &vhAcc, VectorHitCollection &vhRej, edmNew::DetSetVector< Phase2TrackerCluster1D > &clustersAcc, edmNew::DetSetVector< Phase2TrackerCluster1D > &clustersRej) const override
bool checkClustersCompatibility(Local3DPoint &posinner, Local3DPoint &posouter, LocalError &errinner, LocalError &errouter) const
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > AlgebraicSymMatrix22
void fit2Dzx(const Local3DPoint lpCI, const Local3DPoint lpCO, const LocalError leCI, const LocalError leCO, Local3DPoint &pos, Local3DVector &dir, AlgebraicSymMatrix22 &covMatrix, double &chi2) const
CurvatureAndPhi curvatureANDphi(Global3DPoint gPositionLower, Global3DPoint gPositionUpper, GlobalError gErrorLower, GlobalError gErrorUpper) const