Go to the documentation of this file.00001 #ifndef MuonIdentification_CSCTimingExtractor_H
00002 #define MuonIdentification_CSCTimingExtractor_H
00003
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <memory>
00018
00019
00020 #include "FWCore/Framework/interface/Frameworkfwd.h"
00021 #include "FWCore/Framework/interface/EDProducer.h"
00022
00023 #include "FWCore/Framework/interface/Event.h"
00024 #include "FWCore/Framework/interface/MakerMacros.h"
00025
00026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00027
00028 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
00029
00030 #include "DataFormats/Common/interface/Ref.h"
00031
00032 #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h"
00033 #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
00034
00035 #include "DataFormats/MuonReco/interface/Muon.h"
00036 #include "DataFormats/MuonReco/interface/MuonFwd.h"
00037 #include "RecoMuon/TrackingTools/interface/MuonSegmentMatcher.h"
00038 #include "RecoMuon/MuonIdentification/interface/TimeMeasurementSequence.h"
00039
00040 #include "DataFormats/TrackReco/interface/Track.h"
00041 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00042 #include "DataFormats/TrackReco/interface/TrackExtra.h"
00043 #include "DataFormats/TrackReco/interface/TrackExtraFwd.h"
00044
00045 #include <vector>
00046
00047 namespace edm {
00048 class ParameterSet;
00049 class EventSetup;
00050 class InputTag;
00051 }
00052
00053 class MuonServiceProxy;
00054
00055 class CSCTimingExtractor {
00056
00057 public:
00058
00060 CSCTimingExtractor(const edm::ParameterSet&);
00061
00063 ~CSCTimingExtractor();
00064
00065 class TimeMeasurement
00066 {
00067 public:
00068 float distIP;
00069 float timeCorr;
00070 int station;
00071 };
00072
00073 void fillTiming(TimeMeasurementSequence &tmSequence, reco::TrackRef muonTrack, const edm::Event& iEvent, const edm::EventSetup& iSetup);
00074
00075 private:
00076 edm::InputTag CSCSegmentTags_;
00077 unsigned int theHitsMin_;
00078 double thePruneCut_;
00079 double theTimeOffset_;
00080 bool debug;
00081
00082 MuonServiceProxy* theService;
00083
00084 MuonSegmentMatcher *theMatcher;
00085 };
00086
00087 #endif