Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #include <memory>
00009 #include <unistd.h>
00010 #include <FWCore/Framework/interface/EDAnalyzer.h>
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 #include "DQMServices/Core/interface/MonitorElement.h"
00013 #include "DQMServices/Core/interface/DQMStore.h"
00014 #include "DataFormats/Common/interface/Handle.h"
00015 #include "FWCore/Framework/interface/Event.h"
00016 #include "FWCore/Framework/interface/EventSetup.h"
00017 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00018 #include "FWCore/ServiceRegistry/interface/Service.h"
00019
00020 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
00021 #include "DataFormats/HLTReco/interface/TriggerRefsCollections.h"
00022 #include "DataFormats/Math/interface/LorentzVector.h"
00023
00024
00025 #include "DataFormats/METReco/interface/CaloMETCollection.h"
00026 #include "DataFormats/METReco/interface/CaloMET.h"
00027
00028
00029 #include "DataFormats/EgammaCandidates/interface/Electron.h"
00030 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
00031
00032
00033 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
00034 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
00035
00036
00037 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h"
00038 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h"
00039
00040
00041 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidateFwd.h"
00042 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidate.h"
00043
00044
00045 #include "DQM/HLTEvF/interface/HLTTauDQML1Plotter.h"
00046 #include "DQM/HLTEvF/interface/HLTTauDQMCaloPlotter.h"
00047 #include "DQM/HLTEvF/interface/HLTTauDQMTrkPlotter.h"
00048 #include "DQM/HLTEvF/interface/HLTTauDQMPathPlotter.h"
00049 #include "DQM/HLTEvF/interface/HLTTauDQMSummaryPlotter.h"
00050 #include "DQM/HLTEvF/interface/HLTTauDQMLitePathPlotter.h"
00051
00052
00053
00054
00055
00056 typedef math::XYZTLorentzVectorD LV;
00057 typedef std::vector<LV> LVColl;
00058
00059 class HLTTauDQMSource : public edm::EDAnalyzer {
00060 public:
00061 HLTTauDQMSource( const edm::ParameterSet& );
00062 ~HLTTauDQMSource();
00063
00064 protected:
00065
00067 void beginJob();
00068
00070 void beginRun(const edm::Run& r, const edm::EventSetup& c);
00071
00073 void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00074
00076 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00077 const edm::EventSetup& context) ;
00079 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00080 const edm::EventSetup& c);
00082 void endRun(const edm::Run& r, const edm::EventSetup& c);
00083
00085 void endJob();
00086
00087
00088
00089 private:
00090 DQMStore* dbe_;
00091 std::vector<edm::ParameterSet> config_;
00092 std::vector<std::string> configType_;
00093
00094
00095 bool doRefAnalysis_;
00096 int NPtBins_;
00097 int NEtaBins_;
00098 int NPhiBins_;
00099 double EtMax_;
00100 double L1MatchDr_;
00101 double HLTMatchDr_;
00102
00103
00104 std::vector<edm::InputTag> refFilter_;
00105 std::vector<int> refID_;
00106 std::vector<double> ptThres_;
00107
00108
00109
00110
00111
00112
00113
00114 int counterEvt_;
00115 int prescaleEvt_;
00116
00117
00118 edm::InputTag triggerEvent_;
00119
00120
00121 LVColl getFilterCollection(size_t index,int id,const trigger::TriggerEvent& trigEv,double);
00122
00123
00124
00125 std::vector<HLTTauDQML1Plotter> l1Plotters;
00126 std::vector<HLTTauDQMCaloPlotter> caloPlotters;
00127 std::vector<HLTTauDQMTrkPlotter> trackPlotters;
00128 std::vector<HLTTauDQMPathPlotter> pathPlotters;
00129 std::vector<HLTTauDQMLitePathPlotter> litePathPlotters;
00130 std::vector<HLTTauDQMSummaryPlotter> summaryPlotters;
00131
00132 };
00133