CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/DQM/HLTEvF/interface/HLTOniaSource.h

Go to the documentation of this file.
00001 #ifndef HLTONIASOURCE_H
00002 #define HLTONIASOURCE_H
00003 
00004 // system include files
00005 #include <map>
00006 
00007 // user include files
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "FWCore/Framework/interface/MakerMacros.h"
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
00014 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
00015 #include "DQMServices/Core/interface/DQMStore.h"
00016 #include "DQMServices/Core/interface/MonitorElement.h"
00017 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00018 #include "DataFormats/TrackReco/interface/Track.h"
00019 
00020 
00021 class PtGreaterRef { 
00022       public: 
00023       template <typename T> bool operator () (const T& i, const T& j) { 
00024         return (i->pt() > j->pt()); 
00025       } 
00026     };
00027 
00028 class HLTOniaSource : public edm::EDAnalyzer {
00029    public:
00030       explicit HLTOniaSource(const edm::ParameterSet&);
00031       ~HLTOniaSource();
00032 
00033 
00034    private:
00035       virtual void beginJob() ;
00036       virtual void beginRun(const edm::Run &, const edm::EventSetup &);
00037       virtual void analyze(const edm::Event&, const edm::EventSetup&);
00038       virtual void endJob() ;
00039 
00040 
00041       reco::BeamSpot::Point BSPosition_;
00042  
00043 
00044 
00045       //user defined 
00046       void bookOniaTriggerInvariantMassMEs( std::map<std::string, MonitorElement *> & , std::string , std::string  );
00047       void bookOniaTriggerMEs( std::map<std::string, MonitorElement *> & , std::string);
00048       bool  checkHLTConfiguration(const edm::Run &, const edm::EventSetup &,std::string);
00049       void fillOniaTriggerMEs( edm::Handle<reco::RecoChargedCandidateCollection> &, std::string ,  std::map<std::string, MonitorElement *> & );
00050       void fillOniaTriggerMEs( edm::Handle<reco::TrackCollection> &, std::string ,  std::map<std::string, MonitorElement *> & );
00051       void fillOniaTriggerMEs( std::vector<reco::RecoChargedCandidateRef> &, std::string ,  std::map<std::string, MonitorElement *> & );
00052       void fillInvariantMass(std::vector<reco::RecoChargedCandidateRef> & , reco::RecoChargedCandidateCollection &  , std::string , std::string  );
00053       void fillInvariantMass(std::vector<reco::RecoChargedCandidateRef> & ,  std::vector<reco::RecoChargedCandidateRef> &, std::string , std::string);
00054       void fillInvariantMass(std::vector<reco::RecoChargedCandidateRef> & , reco::TrackCollection &  , std::string , std::string  );
00055       std::string subsystemFolder_;
00056       std::string hltProcessName_;
00057       //------------------------
00058       std::vector< std::string> triggerPath_;
00059       std::vector<edm::InputTag>  oniaMuonTag_;
00060       std::vector<edm::InputTag>       pixelTagsAfterFilter_ ;
00061       std::vector<edm::InputTag>       trackTagsAfterFilter_  ;     
00062       edm::InputTag   triggerSummaryRAWTag_;
00063       edm::InputTag  pixelTag_;
00064       edm::InputTag  beamSpotTag_;
00065       edm::InputTag  trackTag_;
00066       DQMStore * dbe_;
00067       std::map<std::string, MonitorElement *>       pixelAfterFilterME_;
00068       std::map<std::string, MonitorElement *>       trackAfterFilterME_;
00069       std::map<std::string, MonitorElement *> pixelME_;
00070       std::map<std::string, MonitorElement *> muonME_;
00071       std::map<std::string, MonitorElement *> trackME_;
00072       std::map<std::string, MonitorElement *> massME_;
00073       bool hltConfigInit_;
00074     
00075 };
00076 
00077 #endif