CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/DQMOffline/Trigger/interface/HLTTauDQMLitePathPlotter.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 HLTTauDQMLitePathPlotter_h
00008 #define HLTTauDQMLitePathPlotter_h
00009 
00010 #include "DQMOffline/Trigger/interface/HLTTauDQMPlotter.h"
00011 
00012 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00013 #include "DataFormats/HLTReco/interface/TriggerRefsCollections.h"
00014 
00015 class HLTTauDQMLitePathPlotter : public HLTTauDQMPlotter {
00016 public:
00017     
00018     HLTTauDQMLitePathPlotter( const edm::ParameterSet&, int, int, int, double, bool, double, std::string );
00019     ~HLTTauDQMLitePathPlotter();
00020     const std::string name() { return name_; }
00021     void analyze( const edm::Event&, const edm::EventSetup&, const std::map<int,LVColl>& );
00022     
00023 private:
00024     void endJob();
00025     LVColl getFilterCollection( size_t, int, const trigger::TriggerEvent& );
00026     LVColl getObjectCollection( int, const trigger::TriggerEvent& );
00027     
00029     edm::InputTag triggerEvent_;
00030     
00031     //The filters
00032     std::vector<edm::ParameterSet> filters_;
00033     std::vector<HLTTauDQMPlotter::FilterObject> filterObjs_;
00034     
00035     bool doRefAnalysis_;
00036     double matchDeltaR_;
00037     double minEt_;
00038     double maxEt_;
00039     int binsEt_;
00040     int binsEta_;
00041     int binsPhi_;
00042     
00043     double refTauPt_;
00044     double refLeptonPt_;
00045     
00046     //MonitorElements for paths
00047     MonitorElement *accepted_events;
00048     MonitorElement *accepted_events_matched;
00049     MonitorElement *ref_events;
00050     
00051     std::map<std::string, MonitorElement*> mass_distribution;
00052     
00053     //MonitorElements for objects
00054     MonitorElement *tauEt;
00055     MonitorElement *tauEta;
00056     MonitorElement *tauPhi;
00057     
00058     MonitorElement *tauEtEffNum;
00059     MonitorElement *tauEtaEffNum;
00060     MonitorElement *tauPhiEffNum;
00061     
00062     MonitorElement *tauEtEffDenom;
00063     MonitorElement *tauEtaEffDenom;
00064     MonitorElement *tauPhiEffDenom;
00065       
00066     class LVSorter {
00067     public:
00068         LVSorter() {}
00069         ~LVSorter() {}
00070         bool operator()(LV p1, LV p2) {
00071             return p1.Et() < p2.Et();
00072         }
00073     };
00074 };
00075 #endif