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 edm {
37  class Event;
38 }
39 namespace reco {
40  class TransientTrack;
41 }
42 
44 class TrackerTopology;
45 
47 class MuonServiceProxy;
48 class Trajectory;
49 
50 class TrajectoryFitter;
51 
53 public:
58 
63 
64  typedef std::vector<Trajectory> TC;
65  typedef TC::const_iterator TI;
66 
67  enum subDetector { PXB = 1, PXF = 2, TIB = 3, TID = 4, TOB = 5, TEC = 6 };
68 
69 public:
72 
74  virtual ~GlobalMuonRefitter();
75 
77  virtual void setEvent(const edm::Event&);
78 
80  void setServices(const edm::EventSetup&);
81 
83  std::vector<Trajectory> refit(const reco::Track& globalTrack,
84  const int theMuonHitsOption,
85  const TrackerTopology* tTopo) const;
86 
88  std::vector<Trajectory> refit(const reco::Track& globalTrack,
91  const int theMuonHitsOption,
92  const TrackerTopology* tTopo) const;
93 
95  std::vector<Trajectory> transform(const reco::Track& newTrack,
97  const TransientTrackingRecHit::ConstRecHitContainer& recHitsForReFit) const;
98 
99  // get rid of selected station RecHits
101 
102  // return DYT-related informations
103  const reco::DYTInfo* getDYTInfo() { return dytInfo; }
104 
105 protected:
107 
109  void checkMuonHits(const reco::Track&, ConstRecHitContainer&, std::map<DetId, int>&) const;
110 
113 
115  ConstRecHitContainer selectMuonHits(const Trajectory&, const std::map<DetId, int>&) const;
116 
118  void printHits(const ConstRecHitContainer&) const;
119 
121 
122  const MuonServiceProxy* service() const { return theService; }
123 
124 protected:
127  float thePtCut;
128 
129 private:
131  float theProbCut;
139 
152 
156 
157  unsigned long long theCacheId_TRH;
158 
160 
162 
164 
166 
167  std::vector<int> theDYTthrs;
174 
176  std::unique_ptr<TrajectoryFitter> theFitter;
177 
181 
184 
187 
192 };
193 #endif
GlobalMuonRefitter::theRescaleErrorFactor
double theRescaleErrorFactor
Definition: GlobalMuonRefitter.h:163
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:727
cutBasedMuonId_MuonPOG_V0_cff.globalTrack
globalTrack
Definition: cutBasedMuonId_MuonPOG_V0_cff.py:135
Handle.h
GlobalMuonRefitter::theTrackerRecHitBuilderName
std::string theTrackerRecHitBuilderName
Definition: GlobalMuonRefitter.h:178
GlobalMuonRefitter::theME0Chi2Cut
float theME0Chi2Cut
Definition: GlobalMuonRefitter.h:137
MuonTransientTrackingRecHit::ConstMuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:22
GlobalMuonRefitter::theMuonRecHitBuilderName
std::string theMuonRecHitBuilderName
Definition: GlobalMuonRefitter.h:182
GlobalMuonRefitter::CSCSegments
edm::Handle< CSCSegmentCollection > CSCSegments
Definition: GlobalMuonRefitter.h:190
GlobalMuonRefitter::theME0RecHitToken
edm::EDGetTokenT< ME0SegmentCollection > theME0RecHitToken
Definition: GlobalMuonRefitter.h:151
EDProducer.h
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
GlobalMuonRefitter::theCategory
std::string theCategory
Definition: GlobalMuonRefitter.h:125
ESHandle.h
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:306
GlobalMuonRefitter::theGEMRecHitToken
edm::EDGetTokenT< GEMRecHitCollection > theGEMRecHitToken
Definition: GlobalMuonRefitter.h:150
edm::EDGetTokenT< DTRecHitCollection >
MuonDetLayerMeasurements
Definition: MuonDetLayerMeasurements.h:41
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
GlobalMuonRefitter::ConstMuonRecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
Definition: GlobalMuonRefitter.h:60
GlobalMuonRefitter::theGEMRecHits
edm::Handle< GEMRecHitCollection > theGEMRecHits
Definition: GlobalMuonRefitter.h:146
GlobalMuonRefitter::theDTRecHits
edm::Handle< DTRecHitCollection > theDTRecHits
Definition: GlobalMuonRefitter.h:144
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:135
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:57
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
MuonTransientTrackingRecHit.h
TrackingRecHit::RecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
Definition: TrackingRecHit.h:24
GlobalMuonRefitter::theMuonRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
Definition: GlobalMuonRefitter.h:183
GlobalMuonRefitter::subDetector
subDetector
Definition: GlobalMuonRefitter.h:67
GlobalMuonRefitter::theDYTupdator
bool theDYTupdator
Definition: GlobalMuonRefitter.h:169
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:529
GlobalMuonRefitter::theDYTthrs
std::vector< int > theDYTthrs
Definition: GlobalMuonRefitter.h:167
GlobalMuonRefitter::theDYTParThrsMode
bool theDYTParThrsMode
Definition: GlobalMuonRefitter.h:171
GlobalMuonRefitter::ConstMuonRecHitContainer
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
Definition: GlobalMuonRefitter.h:62
GlobalMuonRefitter::getRidOfSelectStationHits
ConstRecHitContainer getRidOfSelectStationHits(const ConstRecHitContainer &hits, const TrackerTopology *tTopo) const
Definition: GlobalMuonRefitter.cc:883
GlobalMuonRefitter::RecHitContainer
TransientTrackingRecHit::RecHitContainer RecHitContainer
Definition: GlobalMuonRefitter.h:54
TkTransientTrackingRecHitBuilder.h
GlobalMuonRefitter::theFitterName
std::string theFitterName
Definition: GlobalMuonRefitter.h:175
GlobalMuonRefitter::PXF
Definition: GlobalMuonRefitter.h:67
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
GlobalMuonRefitter::theTkTrajsAvailableFlag
bool theTkTrajsAvailableFlag
Definition: GlobalMuonRefitter.h:126
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:168
GlobalMuonRefitter::theFitter
std::unique_ptr< TrajectoryFitter > theFitter
Definition: GlobalMuonRefitter.h:176
reco::Track
Definition: Track.h:27
edm::ESHandle< TransientTrackingRecHitBuilder >
GlobalMuonRefitter::theCSCRecHitToken
edm::EDGetTokenT< CSCRecHit2DCollection > theCSCRecHitToken
Definition: GlobalMuonRefitter.h:149
Event
GlobalMuonRefitter::theTrackerSkipSection
int theTrackerSkipSection
Definition: GlobalMuonRefitter.h:155
GlobalMuonRefitter::theCSCRecHitLabel
edm::InputTag theCSCRecHitLabel
Definition: GlobalMuonRefitter.h:141
GlobalMuonRefitter::theDTChi2Cut
float theDTChi2Cut
Definition: GlobalMuonRefitter.h:133
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GlobalMuonRefitter::PXB
Definition: GlobalMuonRefitter.h:67
GlobalMuonRefitter::checkRecHitsOrdering
RefitDirection checkRecHitsOrdering(const ConstRecHitContainer &) const
Definition: GlobalMuonRefitter.cc:695
GlobalMuonRefitter::TI
TC::const_iterator TI
Definition: GlobalMuonRefitter.h:65
GlobalMuonRefitter::getDYTInfo
const reco::DYTInfo * getDYTInfo()
Definition: GlobalMuonRefitter.h:103
GlobalMuonRefitter::TOB
Definition: GlobalMuonRefitter.h:67
edm::ParameterSet
Definition: ParameterSet.h:36
GlobalMuonRefitter::undetermined
Definition: GlobalMuonRefitter.h:106
GlobalMuonRefitter::all4DSegmentsToken
edm::EDGetTokenT< DTRecSegment4DCollection > all4DSegmentsToken
Definition: GlobalMuonRefitter.h:189
GlobalMuonRefitter::theProbCut
float theProbCut
Definition: GlobalMuonRefitter.h:131
GlobalMuonRefitter::theGEMRecHitLabel
edm::InputTag theGEMRecHitLabel
Definition: GlobalMuonRefitter.h:142
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
GlobalMuonRefitter::RecHitPointer
TransientTrackingRecHit::RecHitPointer RecHitPointer
Definition: GlobalMuonRefitter.h:56
GlobalMuonRefitter::theSkipStation
int theSkipStation
Definition: GlobalMuonRefitter.h:153
GlobalMuonRefitter::theGEMChi2Cut
float theGEMChi2Cut
Definition: GlobalMuonRefitter.h:136
GlobalMuonRefitter::outsideIn
Definition: GlobalMuonRefitter.h:106
GlobalMuonRefitter::theDYTthrsParameters
edm::ParameterSet theDYTthrsParameters
Definition: GlobalMuonRefitter.h:172
GlobalMuonRefitter::theService
const MuonServiceProxy * theService
Definition: GlobalMuonRefitter.h:185
GlobalMuonRefitter::theCosmicFlag
bool theCosmicFlag
Definition: GlobalMuonRefitter.h:138
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
GlobalMuonRefitter::TEC
Definition: GlobalMuonRefitter.h:67
GlobalMuonRefitter::theRefitDirection
RefitDirection theRefitDirection
Definition: GlobalMuonRefitter.h:165
RefitDirection
Definition: RefitDirection.h:13
GlobalMuonRefitter::TC
std::vector< Trajectory > TC
Definition: GlobalMuonRefitter.h:64
GlobalMuonRefitter::thePropagatorName
std::string thePropagatorName
Definition: GlobalMuonRefitter.h:159
GlobalMuonRefitter::hitCloner
TkClonerImpl hitCloner
Definition: GlobalMuonRefitter.h:180
GEMRecHitCollection.h
GlobalMuonRefitter::theTrackerSkipSystem
int theTrackerSkipSystem
Definition: GlobalMuonRefitter.h:154
TrackTransformer.h
edm::EventSetup
Definition: EventSetup.h:57
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:140
GlobalMuonRefitter::theTrackerRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
Definition: GlobalMuonRefitter.h:179
InputTag.h
GlobalMuonRefitter::CSCSegmentsToken
edm::EDGetTokenT< CSCSegmentCollection > CSCSegmentsToken
Definition: GlobalMuonRefitter.h:188
GlobalMuonRefitter::theME0RecHitLabel
edm::InputTag theME0RecHitLabel
Definition: GlobalMuonRefitter.h:143
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:74
GlobalMuonRefitter::theRPCInTheFit
bool theRPCInTheFit
Definition: GlobalMuonRefitter.h:161
Trajectory
Definition: Trajectory.h:38
GlobalMuonRefitter
Definition: GlobalMuonRefitter.h:52
GlobalMuonRefitter::printHits
void printHits(const ConstRecHitContainer &) const
print all RecHits of a trajectory
Definition: GlobalMuonRefitter.cc:674
GlobalMuonRefitter::theHitThreshold
int theHitThreshold
Definition: GlobalMuonRefitter.h:132
GlobalMuonRefitter::service
const MuonServiceProxy * service() const
Definition: GlobalMuonRefitter.h:122
GlobalMuonRefitter::thePtCut
float thePtCut
Definition: GlobalMuonRefitter.h:127
GlobalMuonRefitter::theCacheId_TRH
unsigned long long theCacheId_TRH
Definition: GlobalMuonRefitter.h:157
GlobalMuonRefitter::dytInfo
reco::DYTInfo * dytInfo
Definition: GlobalMuonRefitter.h:173
GlobalMuonRefitter::ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
Definition: GlobalMuonRefitter.h:55
GlobalMuonRefitter::theME0RecHits
edm::Handle< ME0SegmentCollection > theME0RecHits
Definition: GlobalMuonRefitter.h:147
GlobalMuonRefitter::TID
Definition: GlobalMuonRefitter.h:67
GlobalMuonRefitter::theMuonHitsOption
int theMuonHitsOption
Definition: GlobalMuonRefitter.h:130
GlobalMuonRefitter::theCSCChi2Cut
float theCSCChi2Cut
Definition: GlobalMuonRefitter.h:134
DYTInfo.h
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
MuonTrajectoryBuilder.h
GlobalMuonRefitter::theEvent
const edm::Event * theEvent
Definition: GlobalMuonRefitter.h:186
ConsumesCollector.h
GlobalMuonRefitter::TIB
Definition: GlobalMuonRefitter.h:67
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:182
edm::Event
Definition: Event.h:73
GlobalMuonRefitter::MuonRecHitPointer
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
Definition: GlobalMuonRefitter.h:59
GlobalMuonRefitter::all4DSegments
edm::Handle< DTRecSegment4DCollection > all4DSegments
Definition: GlobalMuonRefitter.h:191
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
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:589
GlobalMuonRefitter::theCSCRecHits
edm::Handle< CSCRecHit2DCollection > theCSCRecHits
Definition: GlobalMuonRefitter.h:145
GlobalMuonRefitter::MuonRecHitContainer
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: GlobalMuonRefitter.h:61
GlobalMuonRefitter::~GlobalMuonRefitter
virtual ~GlobalMuonRefitter()
destructor
Definition: GlobalMuonRefitter.cc:148
DTRecSegment4DCollection.h
GlobalMuonRefitter::theDTRecHitToken
edm::EDGetTokenT< DTRecHitCollection > theDTRecHitToken
Definition: GlobalMuonRefitter.h:148
GlobalMuonRefitter::insideOut
Definition: GlobalMuonRefitter.h:106
CSCSegmentCollection.h
GlobalMuonRefitter::theDYTuseAPE
bool theDYTuseAPE
Definition: GlobalMuonRefitter.h:170