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 
17 
19 
21 
28 
29 namespace edm {class ParameterSet; class Event; class EventSetup;}
30 namespace reco {class TransientTrack;}
31 
32 class TFile;
33 class TH1F;
34 class TH2F;
35 class HTrackVariables;
36 class HTrack;
37 
40 class MuonServiceProxy;
42 class TrajectorySeed;
44 
46 
47  public:
49 
50  public:
53 
55  virtual ~MuonTrackAnalyzer();
56 
57  // Operations
58 
59  void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
60  void tracksAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
62  void seedsAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
64 
65 
66  virtual void beginJob() ;
67  virtual void endJob() ;
68  virtual void beginRun() ;
69  virtual void endRun() ;
70  protected:
71 
72  private:
73  bool isInTheAcceptance(double eta);
76 
77  std::pair<SimTrack,double> getSimTrack(TrajectoryStateOnSurface &tsos,
79 
81  void fillPlots(reco::TransientTrack &track, SimTrack &simTrack);
82  void fillPlots(TrajectoryStateOnSurface &recoTSOS,SimTrack &simState,
84  void fillPlots(FreeTrajectoryState &recoFTS,SimTrack &simTrack,
86 
87 
89 
92 
94  //TFile* theFile;
95 
97 
104 
111 
112 
116 
119 
120  // Histograms
126 
132 
140 
142 
148 
149  // Counters
152 };
153 #endif
154 
155 
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)
T eta() const
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
virtual void beginRun()
virtual void endRun()
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
edm::InputTag theSimTracksLabel
edm::InputTag theRPCSimHitLabel
MonitorElement * hChi2NormVsEta
virtual void endJob()
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:12
void fillPlots(const edm::Event &event, edm::Handle< edm::SimTrackContainer > &simTracks)
MonitorElement * hDeltaPt_In_Out_VsEta
edm::InputTag theTracksLabel