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 
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  virtual ~MuonTrackAnalyzer();
58 
59  // Operations
60 
61  void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
62  void tracksAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
64  void seedsAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
66 
67 
68  virtual void beginJob() ;
69  virtual 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);
77 
78  std::pair<SimTrack,double> getSimTrack(TrajectoryStateOnSurface &tsos,
80 
82  void fillPlots(reco::TransientTrack &track, SimTrack &simTrack);
83  void fillPlots(TrajectoryStateOnSurface &recoTSOS,SimTrack &simState,
85  void fillPlots(FreeTrajectoryState &recoFTS,SimTrack &simTrack,
87 
88 
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 
virtual void beginJob()
std::string theSeedPropagatorName
MonitorElement * hChi2VsEta
virtual ~MuonTrackAnalyzer()
Destructor.
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
virtual void endRun(DQMStore::IBooker &ibooker)
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
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
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)
void analyze(const edm::Event &event, const edm::EventSetup &eventSetup)
MonitorElement * hChargeVsPt
MonitorElement * hNumberOfTracksVsEta
MonitorElement * hChi2Prob
MuonServiceProxy * theService
Definition: HTrack.h:14
void fillPlots(const edm::Event &event, edm::Handle< edm::SimTrackContainer > &simTracks)
MonitorElement * hDeltaPt_In_Out_VsEta
Definition: Run.h:43
edm::InputTag theTracksLabel