00001 // 00002 // Package: EmDQMFeeder 00003 // Class: EmDQMFeeder 00004 // 00012 // 00013 // Original Author: Thomas Reis,40 4-B24,+41227671567, 00014 // Created: Tue Mar 15 12:24:11 CET 2011 00015 // $Id: EmDQMFeeder.h,v 1.3 2011/05/26 08:58:51 treis Exp $ 00016 // 00017 // 00018 00019 00020 // system include files 00021 #include <memory> 00022 #include <iostream> 00023 #include <string> 00024 #include <vector> 00025 #include <math.h> 00026 #include <boost/regex.hpp> 00027 #include <boost/lexical_cast.hpp> 00028 00029 // user include files 00030 #include "FWCore/Framework/interface/Frameworkfwd.h" 00031 #include "FWCore/Framework/interface/EDAnalyzer.h" 00032 00033 #include "FWCore/Framework/interface/Event.h" 00034 #include "FWCore/Framework/interface/MakerMacros.h" 00035 00036 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00037 00038 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" 00039 #include "HLTriggerOffline/Egamma/interface/EmDQM.h" 00040 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h" 00041 00042 // 00043 // class declaration 00044 // 00045 class EmDQMFeeder : public edm::EDAnalyzer { 00046 public: 00047 explicit EmDQMFeeder(const edm::ParameterSet&); 00048 ~EmDQMFeeder(); 00049 00050 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); 00051 00052 private: 00053 virtual void beginJob() ; 00054 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00055 virtual void endJob() ; 00056 00057 virtual void beginRun(edm::Run const&, edm::EventSetup const&); 00058 virtual void endRun(edm::Run const&, edm::EventSetup const&); 00059 virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); 00060 virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); 00061 00062 // ----------member data --------------------------- 00063 00064 const edm::ParameterSet& iConfig; 00065 00066 //std::string processName_; // process name of (HLT) process for which to get HLT configuration 00067 edm::InputTag triggerObject_; 00069 HLTConfigProvider hltConfig_; 00070 00071 std::vector<std::vector<std::string> > findEgammaPaths(); 00072 std::vector<std::string> getFilterModules(const std::string&); 00073 double getPrimaryEtCut(const std::string&); 00074 00075 edm::ParameterSet makePSetForL1SeedFilter(const std::string&); 00076 edm::ParameterSet makePSetForL1SeedToSuperClusterMatchFilter(const std::string&); 00077 edm::ParameterSet makePSetForEtFilter(const std::string&); 00078 edm::ParameterSet makePSetForOneOEMinusOneOPFilter(const std::string&); 00079 edm::ParameterSet makePSetForPixelMatchFilter(const std::string&); 00080 edm::ParameterSet makePSetForEgammaGenericFilter(const std::string&); 00081 edm::ParameterSet makePSetForEgammaGenericQuadraticFilter(const std::string&); 00082 edm::ParameterSet makePSetForElectronGenericFilter(const std::string&); 00083 edm::ParameterSet makePSetForEgammaDoubleEtDeltaPhiFilter(const std::string&); 00084 00085 std::vector<EmDQM*> emDQMmodules; 00086 00087 static const unsigned TYPE_SINGLE_ELE = 0; 00088 static const unsigned TYPE_DOUBLE_ELE = 1; 00089 static const unsigned TYPE_SINGLE_PHOTON = 2; 00090 static const unsigned TYPE_DOUBLE_PHOTON = 3; 00091 static const unsigned TYPE_TRIPLE_ELE = 4; 00092 00093 unsigned verbosity_; 00094 static const unsigned OUTPUT_SILENT = 0; 00095 static const unsigned OUTPUT_ERRORS = 1; 00096 static const unsigned OUTPUT_WARNINGS = 2; 00097 static const unsigned OUTPUT_ALL = 3; 00098 00099 }; 00100 00101 // 00102 // constants, enums and typedefs 00103 // 00104 00105 // 00106 // static data member definitions 00107 // 00108 00109