CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override;
65  void tracksAnalysis(const edm::Event &event,
66  const edm::EventSetup &eventSetup,
68  void seedsAnalysis(const edm::Event &event,
69  const edm::EventSetup &eventSetup,
71 
72  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
73 
74 protected:
75 private:
76  bool isInTheAcceptance(double eta);
78 
79  std::pair<SimTrack, double> getSimTrack(TrajectoryStateOnSurface &tsos,
81 
86 
88 
91 
95  //TFile* theFile;
96 
98 
105 
112 
116 
119 
120  // Histograms
126 
132 
140 
142 
148 
149  // Counters
152 };
153 #endif
std::string theSeedPropagatorName
MonitorElement * hChi2VsEta
std::pair< SimTrack, double > getSimTrack(TrajectoryStateOnSurface &tsos, edm::Handle< edm::SimTrackContainer > simTracks)
edm::EDGetTokenT< TrajectorySeedCollection > theSeedsToken
MonitorElement * hChi2ProbVsEta
bool checkMuonSimHitPresence(const edm::Event &event, edm::Handle< edm::SimTrackContainer > simTracks)
MonitorElement * hDof
edm::InputTag theCSCSimHitLabel
edm::EDGetTokenT< std::vector< PSimHit > > theCSCSimHitToken
MonitorElement * hDeltaPtVsEta
edm::EDGetTokenT< std::vector< PSimHit > > theDTSimHitToken
TrajectoryStateOnSurface getSeedTSOS(const TrajectorySeed &seed)
void seedsAnalysis(const edm::Event &event, const edm::EventSetup &eventSetup, edm::Handle< edm::SimTrackContainer > simTracks)
MuonTrackAnalyzer(const edm::ParameterSet &pset)
Constructor.
MonitorElement * hChi2
MonitorElement * hChi2Norm
MonitorElement * hDofVsEta
edm::InputTag theDTSimHitLabel
edm::InputTag theSeedsLabel
HTrackVariables * hSimTracks
MonitorElement * hPtRecVsPtGen
MonitorElement * hChargeVsEta
edm::EDGetTokenT< edm::SimTrackContainer > theSimTracksToken
MonitorElement * hHitsPerTrack
bool isInTheAcceptance(double eta)
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
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::InputTag theSimTracksLabel
edm::InputTag theRPCSimHitLabel
MonitorElement * hChi2NormVsEta
void tracksAnalysis(const edm::Event &event, const edm::EventSetup &eventSetup, edm::Handle< edm::SimTrackContainer > simTracks)
MonitorElement * hChargeVsPt
MonitorElement * hNumberOfTracksVsEta
~MuonTrackAnalyzer() override
Destructor.
void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override
MonitorElement * hChi2Prob
MuonServiceProxy * theService
Definition: HTrack.h:12
void fillPlots(const edm::Event &event, edm::Handle< edm::SimTrackContainer > &simTracks)
MonitorElement * hDeltaPt_In_Out_VsEta
Definition: Run.h:45
edm::InputTag theTracksLabel