CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
KalmanAlignmentTrackRefitter.h
Go to the documentation of this file.
1 #ifndef Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentTrackRefitter_h
2 #define Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentTrackRefitter_h
3 
6 
8 
11 
13 
15 
16 class TrajectoryFitter;
17 
18 namespace reco { class BeamSpot; }
19 
29 
30 
32 //class KalmanAlignmentTrackRefitter : public TrackProducerBase
33 {
34 
35 public:
36 
37  typedef std::vector< KalmanAlignmentSetup* > AlignmentSetupCollection;
39 
41 
44  typedef std::vector< TrackletPtr > TrackletCollection;
45 
48 
51 
54 
56  const AlignmentSetupCollection& algoSetups,
58  const reco::BeamSpot* beamSpot );
59 
61  virtual void produce( edm::Event&, const edm::EventSetup& ) {}
62 
63 private:
64 
66  const MagneticField* magneticField,
67  const TrajectoryFitter* fitter,
68  const Propagator* propagator,
69  const TransientTrackingRecHitBuilder* recHitBuilder,
70  const reco::TransientTrack& originalTrack,
71  RecHitContainer& recHits,
72  const reco::BeamSpot* beamSpot,
73  const SortingDirection& sortingDir,
74  bool useExternalEstimate,
75  bool reuseMomentumEstimate,
76  const std::string identifier = std::string("RefitSingle_") );
77 
78  void sortRecHits( RecHitContainer& hits,
79  const TransientTrackingRecHitBuilder* builder,
80  const SortingDirection& sortingDir ) const;
81 
82 
83  bool rejectTrack( const reco::Track* track ) const;
84 
85 
86  void debugTrackData( const std::string identifier,
87  const Trajectory* traj,
88  const reco::Track* track,
89  const reco::BeamSpot* bs );
90 
92  //TrackProducerAlgorithm theRefitterAlgo;
95 };
96 
97 
98 #endif
edm::OwnVector< TrackingRecHit > RecHitContainer
TrackletCollection refitTracks(const edm::EventSetup &eventSetup, const AlignmentSetupCollection &algoSetups, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot *beamSpot)
bool rejectTrack(const reco::Track *track) const
KalmanAlignmentTracklet::TrackletPtr TrackletPtr
std::vector< KalmanAlignmentSetup * > AlignmentSetupCollection
KalmanAlignmentTracklet::TrajTrackPairCollection TrajTrackPairCollection
virtual void produce(edm::Event &, const edm::EventSetup &)
Dummy implementation, due to inheritance from TrackProducerBase.
AlignmentAlgorithmBase::ConstTrajTrackPair ConstTrajTrackPair
void sortRecHits(RecHitContainer &hits, const TransientTrackingRecHitBuilder *builder, const SortingDirection &sortingDir) const
TrajTrackPairCollection refitSingleTracklet(const TrackingGeometry *geometry, const MagneticField *magneticField, const TrajectoryFitter *fitter, const Propagator *propagator, const TransientTrackingRecHitBuilder *recHitBuilder, const reco::TransientTrack &originalTrack, RecHitContainer &recHits, const reco::BeamSpot *beamSpot, const SortingDirection &sortingDir, bool useExternalEstimate, bool reuseMomentumEstimate, const std::string identifier=std::string("RefitSingle_"))
void debugTrackData(const std::string identifier, const Trajectory *traj, const reco::Track *track, const reco::BeamSpot *bs)
KalmanAlignmentSetup::SortingDirection SortingDirection
tuple tracks
Definition: testEve_cfg.py:39
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
std::vector< TrackletPtr > TrackletCollection
ESHandle< TrackerGeometry > geometry
std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
std::vector< TrajTrackPair > TrajTrackPairCollection
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection
KalmanAlignmentTrackRefitter(const edm::ParameterSet &config, AlignableNavigator *navigator)
Constructor.
TrackProducerAlgorithm< reco::Track > theRefitterAlgo