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 
12 // Base Class Headers
15 
19 
23 
24 namespace edm {class ParameterSet; class Event; class EventSetup;}
25 namespace reco {class TransientTrack;}
26 
27 class TFile;
28 class TH1F;
29 class TH2F;
30 class HTrackVariables;
31 class HTrack;
32 
35 class MuonServiceProxy;
37 class TrajectorySeed;
39 
41 
42  public:
44 
45  public:
48 
50  virtual ~MuonTrackAnalyzer();
51 
52  // Operations
53 
54  void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
55  void tracksAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
57  void seedsAnalysis(const edm::Event & event, const edm::EventSetup& eventSetup,
59 
60 
61  virtual void beginJob() ;
62  virtual void endJob() ;
63  protected:
64 
65  private:
66  bool isInTheAcceptance(double eta);
69 
70  std::pair<SimTrack,double> getSimTrack(TrajectoryStateOnSurface &tsos,
72 
74  void fillPlots(reco::TransientTrack &track, SimTrack &simTrack);
75  void fillPlots(TrajectoryStateOnSurface &recoTSOS,SimTrack &simState,
77  void fillPlots(FreeTrajectoryState &recoFTS,SimTrack &simTrack,
79 
80 
82 
84  std::string dirName_;
85 
86  std::string out;
87  //TFile* theFile;
88 
90 
96 
99  std::string theSeedPropagatorName;
100 
103 
104  // Histograms
110 
116 
124 
126 
132 
133  // Counters
136 };
137 #endif
138 
139 
virtual void beginJob()
std::string theSeedPropagatorName
MonitorElement * hChi2VsEta
virtual ~MuonTrackAnalyzer()
Destructor.
std::pair< SimTrack, double > getSimTrack(TrajectoryStateOnSurface &tsos, edm::Handle< edm::SimTrackContainer > simTracks)
MonitorElement * hChi2ProbVsEta
bool checkMuonSimHitPresence(const edm::Event &event, edm::Handle< edm::SimTrackContainer > simTracks)
MonitorElement * hDof
edm::InputTag theCSCSimHitLabel
MonitorElement * hDeltaPtVsEta
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
MonitorElement * hHitsPerTrack
bool isInTheAcceptance(double eta)
MonitorElement * hNumberOfTracks
MuonUpdatorAtVertex * theUpdator
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
MonitorElement * hHitsPerTrackVsEta
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
#define debug
Definition: MEtoEDMFormat.h:34
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