CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Validation/RecoMuon/src/RecoMuonValidatorPF.h

Go to the documentation of this file.
00001 #ifndef Validation_RecoMuon_RecoMuonValidatorPF_H
00002 #define Validation_RecoMuon_RecoMuonValidatorPF_H
00003 
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007 #include "FWCore/Framework/interface/Event.h"
00008 
00009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00010 #include "FWCore/Utilities/interface/InputTag.h"
00011 
00012 #include "CommonTools/RecoAlgos/interface/TrackingParticleSelector.h"
00013 #include "DataFormats/TrackReco/interface/Track.h"
00014 
00015 #include "SimMuon/MCTruth/interface/MuonAssociatorByHits.h"
00016 
00017 // for selection cut
00018 #include "CommonTools/Utils/interface/StringCutObjectSelector.h"
00019 
00020 class DQMStore;
00021 class MonitorElement;
00022 class MuonServiceProxy;
00023 class TrackAssociatorBase;
00024 
00025 class RecoMuonValidatorPF : public edm::EDAnalyzer
00026 {
00027  public:
00028   RecoMuonValidatorPF(const edm::ParameterSet& pset);
00029   ~RecoMuonValidatorPF();
00030 
00031   virtual void beginRun(const edm::Run&, const edm::EventSetup& eventSetup);
00032   virtual void endRun();
00033   virtual void analyze(const edm::Event& event, const edm::EventSetup& eventSetup);
00034   virtual int countMuonHits(const reco::Track& track) const;
00035   virtual int countTrackerHits(const reco::Track& track) const;
00036 
00037  protected:
00038   unsigned int verbose_;
00039 
00040   edm::InputTag simLabel_;
00041   edm::InputTag muonLabel_;
00042   std::string muonSelection_;
00043 
00044   edm::InputTag muAssocLabel_;
00045   const MuonAssociatorByHits * assoByHits;
00046   
00047   std::string outputFileName_;
00048   std::string subDir_;
00049 
00050   MuonServiceProxy * theMuonService;
00051   DQMStore * theDQM;
00052   
00053   bool doAbsEta_;
00054   bool doAssoc_;
00055 
00056   TrackingParticleSelector tpSelector_;
00057 
00058   // Track to use
00059   MuonAssociatorByHits::MuonTrackType trackType_;
00060 
00061   struct MuonME;
00062   MuonME * muonME_;
00063 
00064   struct CommonME;
00065   CommonME * commonME_;
00066 
00067  private:
00068   StringCutObjectSelector<reco::Muon> selector_;
00069 
00070 };
00071 
00072 #endif
00073 /* vim:set ts=2 sts=2 sw=2 expandtab: */