00001 #ifndef HLTCOMPARATOR_H 00002 #define HLTCOMPARATOR_H 00003 // Original Author: James Jackson 00004 // $Id: HltComparator.h,v 1.7 2010/02/25 19:14:36 wdd Exp $ 00005 00006 #include "FWCore/Framework/interface/Frameworkfwd.h" 00007 #include "FWCore/Framework/interface/EDFilter.h" 00008 #include "FWCore/Framework/interface/Event.h" 00009 #include "FWCore/Framework/interface/MakerMacros.h" 00010 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00011 00012 #include "DataFormats/Common/interface/TriggerResults.h" 00013 00014 class TH1F; 00015 00016 class HltComparator : public edm::EDFilter 00017 { 00018 public: 00019 explicit HltComparator(const edm::ParameterSet&); 00020 ~HltComparator(); 00021 00022 private: 00023 edm::InputTag hltOnlineResults_; 00024 edm::InputTag hltOfflineResults_; 00025 00026 std::vector<std::string> onlineActualNames_; 00027 std::vector<std::string> offlineActualNames_; 00028 std::vector<unsigned int> onlineToOfflineBitMappings_; 00029 00030 std::vector<TH1F*> comparisonHists_; 00031 std::map<unsigned int, std::map<std::string, unsigned int> > triggerComparisonErrors_; 00032 00033 bool init_; 00034 bool verbose_; 00035 bool verbose() const { return verbose_; } 00036 00037 std::vector<std::string> skipPathList_; 00038 std::vector<std::string> usePathList_; 00039 00040 unsigned int numTriggers_; 00041 00042 virtual void beginJob() ; 00043 virtual bool filter(edm::Event&, const edm::EventSetup&); 00044 virtual void endJob() ; 00045 void initialise(const edm::TriggerResults&, 00046 const edm::TriggerResults&, 00047 edm::Event& e); 00048 std::string formatResult(const unsigned int); 00049 }; 00050 00051 #endif // HLTCOMPARATOR_HH 00052