CMS 3D CMS Logo

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 
14 
17 
19 
21 
29 
30 namespace edm {class ParameterSet; class Event; class EventSetup;}
31 namespace reco {class TransientTrack;}
32 
33 class TFile;
34 class TH1F;
35 class TH2F;
36 class HTrackVariables;
37 class HTrack;
38 
41 class MuonServiceProxy;
43 class TrajectorySeed;
45 class DQMStore;
46 
47 
49  public:
51 
52  public:
55 
57  ~MuonTrackAnalyzer() override;
58 
59  // Operations
60 
61  void beginJob() override;
62  void analyze(const edm::Event & event, const edm::EventSetup& eventSetup) override;
63  void tracksAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
65  void seedsAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
67 
69  void endRun(DQMStore::IBooker & ibooker) ;
70  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
71  protected:
72 
73  private:
74  bool isInTheAcceptance(double eta);
75  bool checkMuonSimHitPresence(const edm::Event & event,
77 
78  std::pair<SimTrack,double> getSimTrack(TrajectoryStateOnSurface &tsos,
80 
81  void fillPlots(const edm::Event &event, edm::Handle<edm::SimTrackContainer> &simTracks);
82  void fillPlots(reco::TransientTrack &track, SimTrack &simTrack);
83  void fillPlots(TrajectoryStateOnSurface &recoTSOS,SimTrack &simState,
85  void fillPlots(FreeTrajectoryState &recoFTS,SimTrack &simTrack,
87 
88 
89  TrajectoryStateOnSurface getSeedTSOS(const TrajectorySeed& seed);
90 
93 
97  //TFile* theFile;
98 
100 
107 
114 
115 
119 
122 
123  // Histograms
129 
135 
143 
145 
151 
152  // Counters
155 };
156 #endif
157 
158 
std::string theSeedPropagatorName
MonitorElement * hChi2VsEta
edm::EDGetTokenT< TrajectorySeedCollection > theSeedsToken
MonitorElement * hChi2ProbVsEta
virtual example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * hDof
edm::InputTag theCSCSimHitLabel
edm::EDGetTokenT< std::vector< PSimHit > > theCSCSimHitToken
MonitorElement * hDeltaPtVsEta
edm::EDGetTokenT< std::vector< PSimHit > > theDTSimHitToken
MonitorElement * hChi2
MonitorElement * hChi2Norm
void beginJob()
Definition: Breakpoints.cc:15
MonitorElement * hDofVsEta
edm::InputTag theDTSimHitLabel
edm::InputTag theSeedsLabel
HTrackVariables * hSimTracks
MonitorElement * hPtRecVsPtGen
MonitorElement * hChargeVsEta
edm::EDGetTokenT< edm::SimTrackContainer > theSimTracksToken
simTrack
per collection params
MonitorElement * hHitsPerTrack
edm::EDGetTokenT< std::vector< PSimHit > > theRPCSimHitToken
MonitorElement * hNumberOfTracks
MuonUpdatorAtVertex * theUpdator
std::string subsystemname_
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
edm::ParameterSet pset
edm::EDGetTokenT< reco::TrackCollection > theTracksToken
#define debug
Definition: HDRShower.cc:19
MonitorElement * hHitsPerTrackVsEta
edm::InputTag theSimTracksLabel
edm::InputTag theRPCSimHitLabel
void endRun(edm::Run const &run, edm::EventSetup const &setup) override
MonitorElement * hChi2NormVsEta
fixed size matrix
HLT enums.
MonitorElement * hChargeVsPt
MonitorElement * hNumberOfTracksVsEta
MonitorElement * hChi2Prob
MuonServiceProxy * theService
Definition: HTrack.h:14
MonitorElement * hDeltaPt_In_Out_VsEta
Definition: event.py:1
Definition: Run.h:43
edm::InputTag theTracksLabel