1 #ifndef RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
2 #define RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
29 namespace edm {
class Event;}
30 namespace reco {
class TransientTrack;}
55 typedef std::vector<Trajectory>
TC;
56 typedef TC::const_iterator
TI;
103 std::map<DetId, int> &)
const;
111 const std::map<DetId, int> &)
const;
std::string theMuonRecHitBuilderName
void printHits(const ConstRecHitContainer &) const
print all RecHits of a trajectory
edm::Handle< DTRecHitCollection > theDTRecHits
const reco::DYTInfo * getDYTInfo()
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
TransientTrackingRecHit::RecHitPointer RecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
const MuonServiceProxy * theService
RefitDirection theRefitDirection
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
edm::Handle< CSCSegmentCollection > CSCSegments
std::string thePropagatorName
std::string theFitterName
std::vector< ConstRecHitPointer > RecHitContainer
void setServices(const edm::EventSetup &)
set the services needed by the TrackTransformer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
edm::EDGetTokenT< CSCSegmentCollection > CSCSegmentsToken
bool theTkTrajsAvailableFlag
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
std::unique_ptr< TrajectoryFitter > theFitter
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
void checkMuonHits(const reco::Track &, ConstRecHitContainer &, std::map< DetId, int > &) const
check muon RecHits, calculate chamber occupancy and select hits to be used in the final fit ...
std::vector< int > theDYTthrs
void getFirstHits(const reco::Track &, ConstRecHitContainer &, ConstRecHitContainer &) const
get the RecHits in the tracker and the first muon chamber with hits
const edm::Event * theEvent
edm::Handle< DTRecSegment4DCollection > all4DSegments
ConstRecHitContainer selectMuonHits(const Trajectory &, const std::map< DetId, int > &) const
select muon hits compatible with trajectory; check hits in chambers with showers
ConstRecHitContainer getRidOfSelectStationHits(const ConstRecHitContainer &hits, const TrackerTopology *tTopo) const
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
double theRescaleErrorFactor
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
std::vector< Trajectory > TC
edm::Handle< CSCRecHit2DCollection > theCSCRecHits
int theTrackerSkipSection
RefitDirection checkRecHitsOrdering(const ConstRecHitContainer &) const
edm::EDGetTokenT< DTRecHitCollection > theDTRecHitToken
edm::EDGetTokenT< CSCRecHit2DCollection > theCSCRecHitToken
std::shared_ptr< TrackingRecHit const > RecHitPointer
edm::InputTag theDTRecHitLabel
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
virtual void setEvent(const edm::Event &)
pass the Event to the algo at each event
GlobalMuonRefitter(const edm::ParameterSet &, const MuonServiceProxy *, edm::ConsumesCollector &)
constructor with Parameter Set and MuonServiceProxy
edm::EDGetTokenT< DTRecSegment4DCollection > all4DSegmentsToken
TransientTrackingRecHit::RecHitContainer RecHitContainer
MuonTransientTrackingRecHit const * ConstMuonRecHitPointer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
virtual ~GlobalMuonRefitter()
destructor
unsigned long long theCacheId_TRH
std::string theTrackerRecHitBuilderName
const MuonServiceProxy * service() const
std::vector< MuonRecHitPointer > MuonRecHitContainer
std::vector< Trajectory > refit(const reco::Track &globalTrack, const int theMuonHitsOption, const TrackerTopology *tTopo) const
build combined trajectory from sta Track and tracker RecHits
edm::InputTag theCSCRecHitLabel
std::vector< Trajectory > transform(const reco::Track &newTrack, const reco::TransientTrack track, const TransientTrackingRecHit::ConstRecHitContainer &recHitsForReFit) const
refit the track with a new set of RecHits