CMS 3D CMS Logo

GlobalMuonRefitter.h
Go to the documentation of this file.
1 #ifndef RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
2 #define RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
3 
35 
36 namespace reco {
37  class TransientTrack;
38 }
39 
41 class TrackerTopology;
42 
44 class MuonServiceProxy;
45 class Trajectory;
46 
47 class TrajectoryFitter;
50 
52 public:
57 
62 
63  typedef std::vector<Trajectory> TC;
64  typedef TC::const_iterator TI;
65 
66  enum subDetector { PXB = 1, PXF = 2, TIB = 3, TID = 4, TOB = 5, TEC = 6 };
67 
68 public:
71 
73  virtual ~GlobalMuonRefitter();
74 
76  virtual void setEvent(const edm::Event&);
77 
79  void setServices(const edm::EventSetup&);
80 
82  std::vector<Trajectory> refit(const reco::Track& globalTrack,
83  const int theMuonHitsOption,
84  const TrackerTopology* tTopo) const;
85 
87  std::vector<Trajectory> refit(const reco::Track& globalTrack,
90  const int theMuonHitsOption,
91  const TrackerTopology* tTopo) const;
92 
94  std::vector<Trajectory> transform(const reco::Track& newTrack,
96  const TransientTrackingRecHit::ConstRecHitContainer& recHitsForReFit) const;
97 
98  // get rid of selected station RecHits
100 
101  // return DYT-related informations
102  const reco::DYTInfo* getDYTInfo() { return dytInfo; }
103 
104 protected:
106 
108  void checkMuonHits(const reco::Track&, ConstRecHitContainer&, std::map<DetId, int>&) const;
109 
112 
114  ConstRecHitContainer selectMuonHits(const Trajectory&, const std::map<DetId, int>&) const;
115 
117  void printHits(const ConstRecHitContainer&) const;
118 
120 
121  const MuonServiceProxy* service() const { return theService; }
122 
123 protected:
126  float thePtCut;
127 
128 private:
130  float theProbCut;
138 
151 
155 
156  unsigned long long theCacheId_TRH;
157 
159 
161 
163 
165 
166  std::vector<int> theDYTthrs;
173 
175  std::unique_ptr<TrajectoryFitter> theFitter;
176 
180 
183 
186 
191 };
192 #endif
GlobalMuonRefitter::theRescaleErrorFactor
double theRescaleErrorFactor
Definition: GlobalMuonRefitter.h:162
GlobalMuonRefitter::transform
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
Definition: GlobalMuonRefitter.cc:725
cutBasedMuonId_MuonPOG_V0_cff.globalTrack
globalTrack
Definition: cutBasedMuonId_MuonPOG_V0_cff.py:135
Handle.h
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
GlobalMuonRefitter::theME0Chi2Cut
float theME0Chi2Cut
Definition: GlobalMuonRefitter.h:136
MuonTransientTrackingRecHit::ConstMuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:22
GlobalMuonRefitter::CSCSegments
edm::Handle< CSCSegmentCollection > CSCSegments
Definition: GlobalMuonRefitter.h:189
GlobalMuonRefitter::theME0RecHitToken
edm::EDGetTokenT< ME0SegmentCollection > theME0RecHitToken
Definition: GlobalMuonRefitter.h:150
EDProducer.h
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
GlobalMuonRefitter::theCategory
std::string theCategory
Definition: GlobalMuonRefitter.h:124
DTRecHitCollection.h
GlobalMuonRefitter::checkMuonHits
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
Definition: GlobalMuonRefitter.cc:304
GlobalMuonRefitter::theGEMRecHitToken
edm::EDGetTokenT< GEMRecHitCollection > theGEMRecHitToken
Definition: GlobalMuonRefitter.h:149
GlobalMuonRefitter::theFitterToken
edm::ESGetToken< TrajectoryFitter, TrajectoryFitterRecord > theFitterToken
Definition: GlobalMuonRefitter.h:174
edm::EDGetTokenT< DTRecHitCollection >
MuonDetLayerMeasurements
Definition: MuonDetLayerMeasurements.h:41
TrackerTopology
Definition: TrackerTopology.h:16
GlobalMuonRefitter::ConstMuonRecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
Definition: GlobalMuonRefitter.h:59
GlobalMuonRefitter::theGEMRecHits
edm::Handle< GEMRecHitCollection > theGEMRecHits
Definition: GlobalMuonRefitter.h:145
GlobalMuonRefitter::theDTRecHits
edm::Handle< DTRecHitCollection > theDTRecHits
Definition: GlobalMuonRefitter.h:143
TransientRecHitRecord
Definition: TransientRecHitRecord.h:14
GlobalMuonRefitter::theMuonRecHitBuilderToken
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theMuonRecHitBuilderToken
Definition: GlobalMuonRefitter.h:181
ME0SegmentCollection.h
GlobalMuonRefitter::GlobalMuonRefitter
GlobalMuonRefitter(const edm::ParameterSet &, const MuonServiceProxy *, edm::ConsumesCollector &)
constructor with Parameter Set and MuonServiceProxy
Definition: GlobalMuonRefitter.cc:75
GlobalMuonRefitter::theRPCChi2Cut
float theRPCChi2Cut
Definition: GlobalMuonRefitter.h:134
MuonTransientTrackingRecHit::ConstMuonRecHitContainer
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:27
MuonTransientTrackingRecHit::MuonRecHitContainer
std::vector< MuonRecHitPointer > MuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:26
GlobalMuonRefitter::ConstRecHitPointer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Definition: GlobalMuonRefitter.h:56
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
MuonTransientTrackingRecHit.h
TrackingRecHit::RecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
Definition: TrackingRecHit.h:24
GlobalMuonRefitter::subDetector
subDetector
Definition: GlobalMuonRefitter.h:66
GlobalMuonRefitter::theDYTupdator
bool theDYTupdator
Definition: GlobalMuonRefitter.h:168
edm::Handle< DTRecHitCollection >
GlobalMuonRefitter::getFirstHits
void getFirstHits(const reco::Track &, ConstRecHitContainer &, ConstRecHitContainer &) const
get the RecHits in the tracker and the first muon chamber with hits
Definition: GlobalMuonRefitter.cc:527
GlobalMuonRefitter::theDYTthrs
std::vector< int > theDYTthrs
Definition: GlobalMuonRefitter.h:166
GlobalMuonRefitter::theDYTParThrsMode
bool theDYTParThrsMode
Definition: GlobalMuonRefitter.h:170
GlobalMuonRefitter::ConstMuonRecHitContainer
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
Definition: GlobalMuonRefitter.h:61
GlobalMuonRefitter::getRidOfSelectStationHits
ConstRecHitContainer getRidOfSelectStationHits(const ConstRecHitContainer &hits, const TrackerTopology *tTopo) const
Definition: GlobalMuonRefitter.cc:881
GlobalMuonRefitter::RecHitContainer
TransientTrackingRecHit::RecHitContainer RecHitContainer
Definition: GlobalMuonRefitter.h:53
TkTransientTrackingRecHitBuilder.h
GlobalMuonRefitter::PXF
Definition: GlobalMuonRefitter.h:66
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
GlobalMuonRefitter::theTkTrajsAvailableFlag
bool theTkTrajsAvailableFlag
Definition: GlobalMuonRefitter.h:125
MuonTransientTrackingRecHit::MuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:21
reco::DYTInfo
Definition: DYTInfo.h:11
TrackFwd.h
TrackingRecHit::RecHitContainer
std::vector< ConstRecHitPointer > RecHitContainer
Definition: TrackingRecHit.h:31
GlobalMuonRefitter::theDYTselector
int theDYTselector
Definition: GlobalMuonRefitter.h:167
GlobalMuonRefitter::theFitter
std::unique_ptr< TrajectoryFitter > theFitter
Definition: GlobalMuonRefitter.h:175
reco::Track
Definition: Track.h:27
GlobalMuonRefitter::theTrackerRecHitBuilderToken
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theTrackerRecHitBuilderToken
Definition: GlobalMuonRefitter.h:177
TrajectoryFitterRecord
Definition: TrajectoryFitterRecord.h:12
GlobalMuonRefitter::theCSCRecHitToken
edm::EDGetTokenT< CSCRecHit2DCollection > theCSCRecHitToken
Definition: GlobalMuonRefitter.h:148
GlobalMuonRefitter::theTrackerSkipSection
int theTrackerSkipSection
Definition: GlobalMuonRefitter.h:154
GlobalMuonRefitter::theCSCRecHitLabel
edm::InputTag theCSCRecHitLabel
Definition: GlobalMuonRefitter.h:140
GlobalMuonRefitter::theMuonRecHitBuilder
const TransientTrackingRecHitBuilder * theMuonRecHitBuilder
Definition: GlobalMuonRefitter.h:182
GlobalMuonRefitter::theDTChi2Cut
float theDTChi2Cut
Definition: GlobalMuonRefitter.h:132
GlobalMuonRefitter::PXB
Definition: GlobalMuonRefitter.h:66
GlobalMuonRefitter::checkRecHitsOrdering
RefitDirection checkRecHitsOrdering(const ConstRecHitContainer &) const
Definition: GlobalMuonRefitter.cc:693
GlobalMuonRefitter::TI
TC::const_iterator TI
Definition: GlobalMuonRefitter.h:64
GlobalMuonRefitter::getDYTInfo
const reco::DYTInfo * getDYTInfo()
Definition: GlobalMuonRefitter.h:102
GlobalMuonRefitter::TOB
Definition: GlobalMuonRefitter.h:66
edm::ParameterSet
Definition: ParameterSet.h:47
GlobalMuonRefitter::undetermined
Definition: GlobalMuonRefitter.h:105
GlobalMuonRefitter::all4DSegmentsToken
edm::EDGetTokenT< DTRecSegment4DCollection > all4DSegmentsToken
Definition: GlobalMuonRefitter.h:188
GlobalMuonRefitter::theProbCut
float theProbCut
Definition: GlobalMuonRefitter.h:130
GlobalMuonRefitter::theGEMRecHitLabel
edm::InputTag theGEMRecHitLabel
Definition: GlobalMuonRefitter.h:141
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
GlobalMuonRefitter::RecHitPointer
TransientTrackingRecHit::RecHitPointer RecHitPointer
Definition: GlobalMuonRefitter.h:55
GlobalMuonRefitter::theTrackerRecHitBuilder
const TransientTrackingRecHitBuilder * theTrackerRecHitBuilder
Definition: GlobalMuonRefitter.h:178
GlobalMuonRefitter::theSkipStation
int theSkipStation
Definition: GlobalMuonRefitter.h:152
FrameworkfwdMostUsed.h
GlobalMuonRefitter::theGEMChi2Cut
float theGEMChi2Cut
Definition: GlobalMuonRefitter.h:135
GlobalMuonRefitter::outsideIn
Definition: GlobalMuonRefitter.h:105
GlobalMuonRefitter::theDYTthrsParameters
edm::ParameterSet theDYTthrsParameters
Definition: GlobalMuonRefitter.h:171
GlobalMuonRefitter::theService
const MuonServiceProxy * theService
Definition: GlobalMuonRefitter.h:184
GlobalMuonRefitter::theCosmicFlag
bool theCosmicFlag
Definition: GlobalMuonRefitter.h:137
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
GlobalMuonRefitter::TEC
Definition: GlobalMuonRefitter.h:66
GlobalMuonRefitter::theRefitDirection
RefitDirection theRefitDirection
Definition: GlobalMuonRefitter.h:164
RefitDirection
Definition: RefitDirection.h:13
GlobalMuonRefitter::TC
std::vector< Trajectory > TC
Definition: GlobalMuonRefitter.h:63
GlobalMuonRefitter::thePropagatorName
std::string thePropagatorName
Definition: GlobalMuonRefitter.h:158
GlobalMuonRefitter::hitCloner
TkClonerImpl hitCloner
Definition: GlobalMuonRefitter.h:179
GEMRecHitCollection.h
GlobalMuonRefitter::theTrackerSkipSystem
int theTrackerSkipSystem
Definition: GlobalMuonRefitter.h:153
TrackTransformer.h
edm::EventSetup
Definition: EventSetup.h:58
GlobalMuonRefitter::setServices
void setServices(const edm::EventSetup &)
set the services needed by the TrackTransformer
Definition: GlobalMuonRefitter.cc:163
GlobalMuonRefitter::theDTRecHitLabel
edm::InputTag theDTRecHitLabel
Definition: GlobalMuonRefitter.h:139
edm::ESGetToken< TrajectoryFitter, TrajectoryFitterRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
InputTag.h
GlobalMuonRefitter::CSCSegmentsToken
edm::EDGetTokenT< CSCSegmentCollection > CSCSegmentsToken
Definition: GlobalMuonRefitter.h:187
GlobalMuonRefitter::theME0RecHitLabel
edm::InputTag theME0RecHitLabel
Definition: GlobalMuonRefitter.h:142
TrajectoryFitter
Definition: TrajectoryFitter.h:19
GlobalMuonRefitter::setEvent
virtual void setEvent(const edm::Event &)
pass the Event to the algo at each event
Definition: GlobalMuonRefitter.cc:153
TkClonerImpl
Definition: TkClonerImpl.h:12
reco::TransientTrack
Definition: TransientTrack.h:19
ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
Definition: MillePedeAlignmentAlgorithm.cc:69
GlobalMuonRefitter::theRPCInTheFit
bool theRPCInTheFit
Definition: GlobalMuonRefitter.h:160
Trajectory
Definition: Trajectory.h:38
GlobalMuonRefitter
Definition: GlobalMuonRefitter.h:51
GlobalMuonRefitter::printHits
void printHits(const ConstRecHitContainer &) const
print all RecHits of a trajectory
Definition: GlobalMuonRefitter.cc:672
GlobalMuonRefitter::theHitThreshold
int theHitThreshold
Definition: GlobalMuonRefitter.h:131
GlobalMuonRefitter::service
const MuonServiceProxy * service() const
Definition: GlobalMuonRefitter.h:121
GlobalMuonRefitter::thePtCut
float thePtCut
Definition: GlobalMuonRefitter.h:126
GlobalMuonRefitter::theCacheId_TRH
unsigned long long theCacheId_TRH
Definition: GlobalMuonRefitter.h:156
GlobalMuonRefitter::dytInfo
reco::DYTInfo * dytInfo
Definition: GlobalMuonRefitter.h:172
GlobalMuonRefitter::ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
Definition: GlobalMuonRefitter.h:54
GlobalMuonRefitter::theME0RecHits
edm::Handle< ME0SegmentCollection > theME0RecHits
Definition: GlobalMuonRefitter.h:146
GlobalMuonRefitter::TID
Definition: GlobalMuonRefitter.h:66
GlobalMuonRefitter::theMuonHitsOption
int theMuonHitsOption
Definition: GlobalMuonRefitter.h:129
GlobalMuonRefitter::theCSCChi2Cut
float theCSCChi2Cut
Definition: GlobalMuonRefitter.h:133
DYTInfo.h
MuonTrajectoryBuilder.h
GlobalMuonRefitter::theEvent
const edm::Event * theEvent
Definition: GlobalMuonRefitter.h:185
ConsumesCollector.h
GlobalMuonRefitter::TIB
Definition: GlobalMuonRefitter.h:66
ParameterSet.h
MuonServiceProxy
Definition: MuonServiceProxy.h:38
GlobalMuonRefitter::refit
std::vector< Trajectory > refit(const reco::Track &globalTrack, const int theMuonHitsOption, const TrackerTopology *tTopo) const
build combined trajectory from sta Track and tracker RecHits
Definition: GlobalMuonRefitter.cc:180
edm::Event
Definition: Event.h:73
GlobalMuonRefitter::MuonRecHitPointer
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
Definition: GlobalMuonRefitter.h:58
TransientTrackingRecHitBuilder
Definition: TransientTrackingRecHitBuilder.h:6
GlobalMuonRefitter::all4DSegments
edm::Handle< DTRecSegment4DCollection > all4DSegments
Definition: GlobalMuonRefitter.h:190
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
GlobalMuonRefitter::selectMuonHits
ConstRecHitContainer selectMuonHits(const Trajectory &, const std::map< DetId, int > &) const
select muon hits compatible with trajectory; check hits in chambers with showers
Definition: GlobalMuonRefitter.cc:587
GlobalMuonRefitter::theCSCRecHits
edm::Handle< CSCRecHit2DCollection > theCSCRecHits
Definition: GlobalMuonRefitter.h:144
GlobalMuonRefitter::MuonRecHitContainer
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: GlobalMuonRefitter.h:60
GlobalMuonRefitter::~GlobalMuonRefitter
virtual ~GlobalMuonRefitter()
destructor
Definition: GlobalMuonRefitter.cc:148
DTRecSegment4DCollection.h
GlobalMuonRefitter::theDTRecHitToken
edm::EDGetTokenT< DTRecHitCollection > theDTRecHitToken
Definition: GlobalMuonRefitter.h:147
GlobalMuonRefitter::insideOut
Definition: GlobalMuonRefitter.h:105
CSCSegmentCollection.h
GlobalMuonRefitter::theDYTuseAPE
bool theDYTuseAPE
Definition: GlobalMuonRefitter.h:169