CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DQMOffline/Trigger/interface/HLTTauDQML1Plotter.h

Go to the documentation of this file.
00001 /* HLTTau Path Analyzer
00002  Michail Bachtis
00003  University of Wisconsin - Madison
00004  bachtis@hep.wisc.edu
00005  */
00006 
00007 #ifndef HLTTauDQML1Plotter_h
00008 #define HLTTauDQML1Plotter_h
00009 
00010 #include "DQMOffline/Trigger/interface/HLTTauDQMPlotter.h"
00011 
00012 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00013 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00014 #include "DataFormats/L1Trigger/interface/L1EmParticle.h"
00015 #include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h"
00016 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h"
00017 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
00018 
00019 class HLTTauDQML1Plotter : public HLTTauDQMPlotter {
00020 public:
00021     HLTTauDQML1Plotter( const edm::ParameterSet&, int, int, int, double, bool, double, std::string );
00022     ~HLTTauDQML1Plotter();
00023     const std::string name() { return name_; }
00024     void analyze( const edm::Event&, const edm::EventSetup&, const std::map<int,LVColl>& );
00025     
00026 private:
00027     void endJob() ;
00028     
00029     //The filters
00030     edm::InputTag l1ExtraTaus_;
00031     edm::InputTag l1ExtraJets_;
00032     edm::InputTag l1ExtraElectrons_;
00033     edm::InputTag l1ExtraMuons_;
00034     
00035     bool doRefAnalysis_;
00036     double matchDeltaR_;
00037     
00038     double maxEt_;
00039     int binsEt_;
00040     int binsEta_;
00041     int binsPhi_;
00042     
00043     //MonitorElements general
00044     MonitorElement* l1tauEt_;
00045     MonitorElement* l1tauEta_;
00046     MonitorElement* l1tauPhi_;
00047     
00048     MonitorElement* l1jetEt_;
00049     MonitorElement* l1jetEta_;
00050     MonitorElement* l1jetPhi_;
00051     
00052     MonitorElement* l1electronEt_;
00053     MonitorElement* l1electronEta_;
00054     MonitorElement* l1electronPhi_;
00055     
00056     MonitorElement* l1muonEt_;
00057     MonitorElement* l1muonEta_;
00058     MonitorElement* l1muonPhi_;
00059     
00060     //Monitor Elements for matching
00061     MonitorElement* inputEvents_;
00062     
00063     MonitorElement* l1tauEtRes_;
00064     
00065     MonitorElement* l1tauEtEffNum_;
00066     MonitorElement* l1tauEtEffDenom_;
00067     
00068     MonitorElement* l1tauEtaEffNum_;
00069     MonitorElement* l1tauEtaEffDenom_;
00070     
00071     MonitorElement* l1tauPhiEffNum_;
00072     MonitorElement* l1tauPhiEffDenom_;
00073     
00074     MonitorElement* l1jetEtEffNum_;
00075     MonitorElement* l1jetEtEffDenom_;
00076     
00077     MonitorElement* l1jetEtaEffNum_;
00078     MonitorElement* l1jetEtaEffDenom_;
00079     
00080     MonitorElement* l1jetPhiEffNum_;
00081     MonitorElement* l1jetPhiEffDenom_;
00082     
00083     MonitorElement* l1doubleTauPath_;
00084     MonitorElement* l1electronTauPath_;
00085     MonitorElement* l1muonTauPath_;
00086     
00087     MonitorElement* firstTauEt_;
00088     MonitorElement* secondTauEt_;
00089     
00090     struct ComparePt {
00091         bool operator() (LV l1,LV l2) {
00092             return l1.pt() > l2.pt();
00093         }
00094     };
00095     
00096     ComparePt ptSort;
00097 };
00098 #endif