CMS 3D CMS Logo

HLTMuonRate.h

Go to the documentation of this file.
00001 #ifndef HLTriggerOffline_Muon_HLTMuonRate_H
00002 #define HLTriggerOffline_Muon_HLTMuonRate_H
00003 
00010 // Base Class Headers
00011 
00012 #include "FWCore/Framework/interface/EDAnalyzer.h"
00013 #include "FWCore/Framework/interface/Frameworkfwd.h"
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "FWCore/Framework/interface/MakerMacros.h"
00016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00017 #include "FWCore/ParameterSet/interface/InputTag.h"
00018 #include "DataFormats/Common/interface/RefToBase.h"
00019 #include "DataFormats/TrackReco/interface/Track.h"
00020 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
00021 #include "DataFormats/Candidate/interface/Candidate.h"
00022 #include "SimDataFormats/HepMCProduct/interface/HepMCProduct.h"
00023 #include <vector>
00024 #include "DQMServices/Core/interface/DQMStore.h"
00025 #include "DQMServices/Core/interface/MonitorElement.h"
00026 
00027 using namespace edm;
00028 using namespace std;
00029 using namespace math;
00030 class HLTMuonRate {
00031 public:
00032   HLTMuonRate(const edm::ParameterSet& pset, int Index);
00033   virtual ~HLTMuonRate();
00034   void analyze(const edm::Event & event);
00035   void BookHistograms() ;
00036   void WriteHistograms() ;
00037   MonitorElement* BookIt(char name[], char title[], int bins, float min, float max) ;
00038 private:
00039   edm::InputTag theL1CollectionLabel, InputLabel;
00040   std::vector<edm::InputTag> theHLTCollectionLabels;
00041   double theL1ReferenceThreshold,theHLTReferenceThreshold;
00042   std::vector<double> theNSigmas;
00043   unsigned int theNumberOfObjects;
00044   double theCrossSection;
00045   double theLuminosity;
00046   double thePtMin;
00047   double thePtMax;
00048   unsigned int theNbins;
00049   int this_event_weight;
00050   DQMStore* dbe_;  
00051   MonitorElement* hL1DR, *hL2DR, *hL3DR;
00052   MonitorElement* hL1eff;
00053   MonitorElement* hPtNor;
00054   MonitorElement* hPhiNor;
00055   MonitorElement* hEtaNor;
00056   MonitorElement* hL1rate;
00057   MonitorElement* hL1pt;
00058   MonitorElement* hL1Eta;
00059   MonitorElement* hL1Phi;
00060   MonitorElement* hSteps;
00061   std::vector <MonitorElement*> hHLTeff;
00062   std::vector <MonitorElement*> hHLTrate;
00063   std::vector <MonitorElement*> hHLTpt;
00064   std::vector <MonitorElement*> hHLTeta;
00065   std::vector <MonitorElement*> hHLTphi;
00066   std::pair<double,double> getAngle(double eta, double phi, Handle< vector<XYZTLorentzVectorD> >& refVector );
00067   MonitorElement *NumberOfEvents,*NumberOfL1Events;
00068   int theNumberOfEvents,theNumberOfL1Events;
00069   std::string theRootFileName;
00070 };
00071 #endif

Generated on Tue Jun 9 17:38:04 2009 for CMSSW by  doxygen 1.5.4