CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonTrackAnalyzer.h
Go to the documentation of this file.
1 #ifndef Validation_RecoMuon_MuonTrackAnalyzer_H
2 #define Validation_RecoMuon_MuonTrackAnalyzer_H
3 
10 // Base Class Headers
13 
16 
18 
20 
28 
29 namespace edm {
30  class ParameterSet;
31  class Event;
32  class EventSetup;
33 } // namespace edm
34 namespace reco {
35  class TransientTrack;
36 }
37 
38 class TFile;
39 class TH1F;
40 class TH2F;
41 class HTrackVariables;
42 class HTrack;
43 
46 class MuonServiceProxy;
48 class TrajectorySeed;
50 
52 public:
53  enum EtaRange { all, barrel, endcap };
54 
55 public:
58 
60  ~MuonTrackAnalyzer() override;
61 
62  // Operations
63 
64  void beginJob() override;
65  void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override;
66  void tracksAnalysis(const edm::Event &event,
67  const edm::EventSetup &eventSetup,
69  void seedsAnalysis(const edm::Event &event,
70  const edm::EventSetup &eventSetup,
72 
73  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
74 
75 protected:
76 private:
77  bool isInTheAcceptance(double eta);
78  bool checkMuonSimHitPresence(const edm::Event &event, edm::Handle<edm::SimTrackContainer> simTracks);
79 
80  std::pair<SimTrack, double> getSimTrack(TrajectoryStateOnSurface &tsos,
82 
83  void fillPlots(const edm::Event &event, edm::Handle<edm::SimTrackContainer> &simTracks);
84  void fillPlots(reco::TransientTrack &track, SimTrack &simTrack);
85  void fillPlots(TrajectoryStateOnSurface &recoTSOS, SimTrack &simState, HTrack *, MuonPatternRecoDumper &);
86  void fillPlots(FreeTrajectoryState &recoFTS, SimTrack &simTrack, HTrack *histo, MuonPatternRecoDumper &debug);
87 
88  TrajectoryStateOnSurface getSeedTSOS(const TrajectorySeed &seed);
89 
92 
96  //TFile* theFile;
97 
99 
106 
113 
117 
120 
121  // Histograms
127 
133 
141 
143 
149 
150  // Counters
153 };
154 #endif
std::string theSeedPropagatorName
MonitorElement * hChi2VsEta
edm::EDGetTokenT< TrajectorySeedCollection > theSeedsToken
MonitorElement * hChi2ProbVsEta
MonitorElement * hDof
edm::InputTag theCSCSimHitLabel
edm::EDGetTokenT< std::vector< PSimHit > > theCSCSimHitToken
MonitorElement * hDeltaPtVsEta
edm::EDGetTokenT< std::vector< PSimHit > > theDTSimHitToken
MonitorElement * hChi2
MonitorElement * hChi2Norm
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
void beginJob()
Definition: Breakpoints.cc:14
MonitorElement * hDofVsEta
edm::InputTag theDTSimHitLabel
edm::InputTag theSeedsLabel
HTrackVariables * hSimTracks
MonitorElement * hPtRecVsPtGen
MonitorElement * hChargeVsEta
edm::EDGetTokenT< edm::SimTrackContainer > theSimTracksToken
MonitorElement * hHitsPerTrack
edm::EDGetTokenT< std::vector< PSimHit > > theRPCSimHitToken
MonitorElement * hNumberOfTracks
MuonUpdatorAtVertex * theUpdator
std::string subsystemname_
edm::ParameterSet pset
edm::EDGetTokenT< reco::TrackCollection > theTracksToken
#define debug
Definition: HDRShower.cc:19
MonitorElement * hHitsPerTrackVsEta
edm::InputTag theSimTracksLabel
edm::InputTag theRPCSimHitLabel
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
MonitorElement * hChi2NormVsEta
fixed size matrix
HLT enums.
MonitorElement * hChargeVsPt
MonitorElement * hNumberOfTracksVsEta
MonitorElement * hChi2Prob
MuonServiceProxy * theService
Definition: HTrack.h:12
MonitorElement * hDeltaPt_In_Out_VsEta
Definition: event.py:1
Definition: Run.h:45
edm::InputTag theTracksLabel