CMS 3D CMS Logo

KFBasedPixelFitter.h
Go to the documentation of this file.
1 #ifndef KFBasedPixelFitter_H
2 #define KFBasedPixelFitter_H
3 
7 
8 #include <vector>
9 
10 namespace edm {
11  class EventSetup;
12 }
13 namespace reco {
14  class Track;
15  class BeamSpot;
16 } // namespace reco
17 
19 class TrackerGeometry;
20 class MagneticField;
21 class TrackingRegion;
22 class TrackingRecHit;
23 class Propagator;
24 
26 public:
28  const Propagator *opropagator,
29  const TransientTrackingRecHitBuilder *ttrhBuilder,
30  const TrackerGeometry *tracker,
31  const MagneticField *field,
32  const reco::BeamSpot *beamSpot);
33  ~KFBasedPixelFitter() override {}
34 
35  std::unique_ptr<reco::Track> run(const std::vector<const TrackingRecHit *> &hits,
36  const TrackingRegion &region,
37  const edm::EventSetup &setup) const override;
38 
39 private:
40  //this two simple classes are copied from Alignment/ReferenceTrajectories in order to avoid dependencies
41  class MyBeamSpotGeomDet final : public GeomDet {
42  public:
44  ~MyBeamSpotGeomDet() override {}
46  std::vector<const GeomDet *> components() const override { return std::vector<const GeomDet *>(); }
47  };
48  class MyBeamSpotHit final : public TValidTrackingRecHit {
49  public:
51  ~MyBeamSpotHit() override {}
52  LocalPoint localPosition() const override { return localPosition_; }
53  LocalError localPositionError() const override { return localError_; }
54  AlgebraicVector parameters() const override;
55  AlgebraicSymMatrix parametersError() const override;
56  int dimension() const override { return 1; }
57  AlgebraicMatrix projectionMatrix() const override;
58  std::vector<const TrackingRecHit *> recHits() const override { return std::vector<const TrackingRecHit *>(); }
59  std::vector<TrackingRecHit *> recHits() override { return std::vector<TrackingRecHit *>(); }
60  const TrackingRecHit *hit() const override { return nullptr; }
61 
62  private:
65  MyBeamSpotHit *clone() const override { return new MyBeamSpotHit(*this); }
66  };
67 
74 };
75 #endif
KFBasedPixelFitter::MyBeamSpotGeomDet
Definition: KFBasedPixelFitter.h:41
PixelFitterBase
Definition: PixelFitterBase.h:15
GeomDet::setDetId
void setDetId(DetId id)
Definition: GeomDet.h:99
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
KFBasedPixelFitter::MyBeamSpotHit::projectionMatrix
AlgebraicMatrix projectionMatrix() const override
Definition: KFBasedPixelFitter.cc:49
KFBasedPixelFitter::MyBeamSpotGeomDet::components
std::vector< const GeomDet * > components() const override
Returns direct components, if any.
Definition: KFBasedPixelFitter.h:46
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
GeomDet
Definition: GeomDet.h:27
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
align::BeamSpot
Definition: StructureType.h:89
GeomDetEnumerators::invalidDet
Definition: GeomDetEnumerators.h:31
KFBasedPixelFitter::MyBeamSpotHit::clone
MyBeamSpotHit * clone() const override
Definition: KFBasedPixelFitter.h:65
edm
HLT enums.
Definition: AlignableModifier.h:19
KFBasedPixelFitter::theOPropagator
const Propagator * theOPropagator
Definition: KFBasedPixelFitter.h:69
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
KFBasedPixelFitter::MyBeamSpotHit::parametersError
AlgebraicSymMatrix parametersError() const override
Definition: KFBasedPixelFitter.cc:43
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
KFBasedPixelFitter::MyBeamSpotHit::dimension
int dimension() const override
Definition: KFBasedPixelFitter.h:56
Propagator
Definition: Propagator.h:44
KFBasedPixelFitter::MyBeamSpotGeomDet::subDetector
GeomDetEnumerators::SubDetector subDetector() const override
Which subdetector.
Definition: KFBasedPixelFitter.h:45
KFBasedPixelFitter::theBeamSpot
const reco::BeamSpot * theBeamSpot
Definition: KFBasedPixelFitter.h:73
KFBasedPixelFitter
Definition: KFBasedPixelFitter.h:25
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
KFBasedPixelFitter::MyBeamSpotHit::recHits
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
Definition: KFBasedPixelFitter.h:58
KFBasedPixelFitter::MyBeamSpotHit::recHits
std::vector< TrackingRecHit * > recHits() override
Non-const access to component RecHits (if any)
Definition: KFBasedPixelFitter.h:59
PixelFitterBase.h
KFBasedPixelFitter::MyBeamSpotHit::localPosition_
LocalPoint localPosition_
Definition: KFBasedPixelFitter.h:63
reco::BeamSpot
Definition: BeamSpot.h:21
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
KFBasedPixelFitter::MyBeamSpotHit::hit
const TrackingRecHit * hit() const override
Definition: KFBasedPixelFitter.h:60
KFBasedPixelFitter::MyBeamSpotGeomDet::~MyBeamSpotGeomDet
~MyBeamSpotGeomDet() override
Definition: KFBasedPixelFitter.h:44
Point3DBase< float, LocalTag >
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
KFBasedPixelFitter::theTTRHBuilder
const TransientTrackingRecHitBuilder * theTTRHBuilder
Definition: KFBasedPixelFitter.h:70
LocalError
Definition: LocalError.h:12
KFBasedPixelFitter::theField
const MagneticField * theField
Definition: KFBasedPixelFitter.h:72
KFBasedPixelFitter::run
std::unique_ptr< reco::Track > run(const std::vector< const TrackingRecHit * > &hits, const TrackingRegion &region, const edm::EventSetup &setup) const override
Definition: KFBasedPixelFitter.cc:68
AlgebraicSymMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
Definition: AlgebraicObjects.h:15
KFBasedPixelFitter::MyBeamSpotHit
Definition: KFBasedPixelFitter.h:48
edm::EventSetup
Definition: EventSetup.h:57
KFBasedPixelFitter::MyBeamSpotHit::MyBeamSpotHit
MyBeamSpotHit(const reco::BeamSpot &beamSpot, const GeomDet *geom)
Definition: KFBasedPixelFitter.cc:31
KFBasedPixelFitter::~KFBasedPixelFitter
~KFBasedPixelFitter() override
Definition: KFBasedPixelFitter.h:33
TrackingRecHit
Definition: TrackingRecHit.h:21
KFBasedPixelFitter::MyBeamSpotHit::localPositionError
LocalError localPositionError() const override
Definition: KFBasedPixelFitter.h:53
GeomDet.h
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
KFBasedPixelFitter::MyBeamSpotHit::localError_
LocalError localError_
Definition: KFBasedPixelFitter.h:64
KFBasedPixelFitter::KFBasedPixelFitter
KFBasedPixelFitter(const Propagator *propagator, const Propagator *opropagator, const TransientTrackingRecHitBuilder *ttrhBuilder, const TrackerGeometry *tracker, const MagneticField *field, const reco::BeamSpot *beamSpot)
Definition: KFBasedPixelFitter.cc:55
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
TValidTrackingRecHit
Definition: TValidTrackingRecHit.h:12
KFBasedPixelFitter::MyBeamSpotHit::localPosition
LocalPoint localPosition() const override
Definition: KFBasedPixelFitter.h:52
TrackingRegion
Definition: TrackingRegion.h:40
KFBasedPixelFitter::MyBeamSpotGeomDet::MyBeamSpotGeomDet
MyBeamSpotGeomDet(const ReferenceCountingPointer< BoundPlane > &plane)
Definition: KFBasedPixelFitter.h:43
EventSetup
KFBasedPixelFitter::thePropagator
const Propagator * thePropagator
Definition: KFBasedPixelFitter.h:68
MagneticField
Definition: MagneticField.h:19
TransientTrackingRecHitBuilder
Definition: TransientTrackingRecHitBuilder.h:6
KFBasedPixelFitter::MyBeamSpotHit::~MyBeamSpotHit
~MyBeamSpotHit() override
Definition: KFBasedPixelFitter.h:51
TValidTrackingRecHit.h
KFBasedPixelFitter::MyBeamSpotHit::parameters
AlgebraicVector parameters() const override
Definition: KFBasedPixelFitter.cc:38
KFBasedPixelFitter::theTracker
const TrackerGeometry * theTracker
Definition: KFBasedPixelFitter.h:71
TrackerGeometry
Definition: TrackerGeometry.h:14