CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GlobalMuonRefitter.h
Go to the documentation of this file.
1 #ifndef RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
2 #define RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
3 
16 
21 
27 
28 namespace edm {class Event;}
29 namespace reco {class TransientTrack;}
30 
32 
34 class MuonServiceProxy;
35 class Trajectory;
36 
37 class TrajectoryFitter;
38 
40 
41  public:
42 
47 
52 
53  typedef std::vector<Trajectory> TC;
54  typedef TC::const_iterator TI;
55 
56  enum subDetector { PXB = 1, PXF = 2, TIB = 3, TID = 4, TOB = 5, TEC = 6 };
57 
58  public:
59 
62 
64  virtual ~GlobalMuonRefitter();
65 
67  virtual void setEvent(const edm::Event&);
68 
70  void setServices(const edm::EventSetup&);
71 
73  std::vector<Trajectory> refit(const reco::Track& globalTrack, const int theMuonHitsOption) const;
74 
76  std::vector<Trajectory> refit(const reco::Track& globalTrack,
77  const reco::TransientTrack track,
79  const int theMuonHitsOption) const;
80 
82  std::vector<Trajectory> transform(const reco::Track& newTrack,
83  const reco::TransientTrack track,
84  TransientTrackingRecHit::ConstRecHitContainer recHitsForReFit) const;
85 
86  // get rid of selected station RecHits
88 
89 
90  protected:
91 
93 
96  std::map<DetId, int> &) const;
97 
100  ConstRecHitContainer&) const;
101 
104  const std::map<DetId, int> &) const;
105 
107  void printHits(const ConstRecHitContainer&) const;
108 
110 
111  const MuonServiceProxy* service() const { return theService; }
112 
113  protected:
114  std::string theCategory;
116  float thePtCut;
117 
118  private:
119 
121  float theProbCut;
127 
132 
136 
137  unsigned long long theCacheId_TRH;
138 
139  std::string thePropagatorName;
140 
142 
144 
146 
147  std::vector<int> theDYTthrs;
148 
149  std::string theFitterName;
151 
154 
157 
160 };
161 #endif
std::string theMuonRecHitBuilderName
void printHits(const ConstRecHitContainer &) const
print all RecHits of a trajectory
edm::Handle< DTRecHitCollection > theDTRecHits
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
TransientTrackingRecHit::RecHitPointer RecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
const MuonServiceProxy * theService
RefitDirection theRefitDirection
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
std::string thePropagatorName
std::vector< Trajectory > transform(const reco::Track &newTrack, const reco::TransientTrack track, TransientTrackingRecHit::ConstRecHitContainer recHitsForReFit) const
refit the track with a new set of RecHits
void setServices(const edm::EventSetup &)
set the services needed by the TrackTransformer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
ConstRecHitContainer getRidOfSelectStationHits(ConstRecHitContainer hits) const
std::vector< ConstRecHitPointer > RecHitContainer
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
TC::const_iterator TI
edm::ESHandle< TrajectoryFitter > theFitter
ConstRecHitContainer selectMuonHits(const Trajectory &, const std::map< DetId, int > &) const
select muon hits compatible with trajectory; check hits in chambers with showers
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
std::vector< Trajectory > TC
edm::Handle< CSCRecHit2DCollection > theCSCRecHits
RefitDirection checkRecHitsOrdering(const ConstRecHitContainer &) const
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 *)
constructor with Parameter Set and MuonServiceProxy
std::vector< Trajectory > refit(const reco::Track &globalTrack, const int theMuonHitsOption) const
build combined trajectory from sta Track and tracker RecHits
TransientTrackingRecHit::RecHitContainer RecHitContainer
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
edm::InputTag theCSCRecHitLabel