00001 #ifndef DiJetVarAnalyzer_h 00002 #define DiJetVarAnalyzer_h 00003 00004 00005 #include "DQM/DataScouting/interface/ScoutingAnalyzerBase.h" 00006 #include "HLTrigger/HLTcore/interface/TriggerExpressionData.h" 00007 #include "HLTrigger/HLTcore/interface/TriggerExpressionEvaluator.h" 00008 00009 #include "TLorentzVector.h" 00010 #include <vector> 00011 00012 class DiJetVarAnalyzer : public ScoutingAnalyzerBase 00013 { 00014 00015 public: 00016 00017 explicit DiJetVarAnalyzer( const edm::ParameterSet & ) ; 00018 virtual ~DiJetVarAnalyzer() ; 00019 00020 virtual void analyze( const edm::Event & , const edm::EventSetup & ); 00021 virtual void beginRun( const edm::Run &, const edm::EventSetup & ); 00022 virtual void endRun( edm::Run const &, edm::EventSetup const & ) ; 00023 00024 virtual void bookMEs(); 00025 00026 private: 00027 00028 edm::InputTag jetCollectionTag_; 00029 //edm::InputTag dijetVarCollectionTag_; 00030 edm::InputTag widejetsCollectionTag_; 00031 edm::InputTag metCollectionTag_; 00032 edm::InputTag metCleanCollectionTag_; 00033 edm::InputTag hltInputTag_; 00034 00035 unsigned int numwidejets_; 00036 double etawidejets_; 00037 double ptwidejets_; 00038 double detawidejets_; 00039 double dphiwidejets_; 00040 double maxEMfraction_; 00041 double maxHADfraction_; 00042 00043 // trigger conditions 00044 triggerExpression::Evaluator * HLTpathMain_; 00045 triggerExpression::Evaluator * HLTpathMonitor_; 00046 00047 // cache some data from the Event for faster access by the trigger conditions 00048 triggerExpression::Data triggerConfiguration_; 00049 00050 //1D histograms 00051 MonitorElement * m_cutFlow; 00052 00053 MonitorElement * m_MjjWide_finalSel; 00054 MonitorElement * m_MjjWide_finalSel_varbin; 00055 MonitorElement * m_MjjWide_finalSel_WithoutNoiseFilter; 00056 MonitorElement * m_MjjWide_finalSel_WithoutNoiseFilter_varbin; 00057 MonitorElement * m_MjjWide_deta_0p0_0p5; 00058 MonitorElement * m_MjjWide_deta_0p5_1p0; 00059 MonitorElement * m_MjjWide_deta_1p0_1p5; 00060 MonitorElement * m_MjjWide_deta_1p5_2p0; 00061 MonitorElement * m_MjjWide_deta_2p0_2p5; 00062 MonitorElement * m_MjjWide_deta_2p5_3p0; 00063 MonitorElement * m_MjjWide_deta_3p0_inf; 00064 00065 MonitorElement * m_DetajjWide_finalSel; 00066 MonitorElement * m_DetajjWide; 00067 00068 MonitorElement * m_DphijjWide_finalSel; 00069 00070 MonitorElement * m_selJets_pt; 00071 MonitorElement * m_selJets_eta; 00072 MonitorElement * m_selJets_phi; 00073 MonitorElement * m_selJets_hadEnergyFraction; 00074 MonitorElement * m_selJets_emEnergyFraction; 00075 MonitorElement * m_selJets_towersArea; 00076 00077 MonitorElement * m_MjjWide_den_NOdeta; 00078 MonitorElement * m_MjjWide_num_NOdeta; 00079 MonitorElement * m_MjjWide_den_detaL4; 00080 MonitorElement * m_MjjWide_num_detaL4; 00081 MonitorElement * m_MjjWide_den_detaL3; 00082 MonitorElement * m_MjjWide_num_detaL3; 00083 MonitorElement * m_MjjWide_den_detaL2; 00084 MonitorElement * m_MjjWide_num_detaL2; 00085 MonitorElement * m_MjjWide_den; 00086 MonitorElement * m_MjjWide_num; 00087 00088 MonitorElement * m_metCases; 00089 MonitorElement * m_metDiff; 00090 MonitorElement * m_metCaseNoMetClean; 00091 00092 MonitorElement * m_HT_inclusive; 00093 MonitorElement * m_HT_finalSel; 00094 00095 //2D histograms 00096 MonitorElement * m_DetajjVsMjjWide; 00097 MonitorElement * m_DetajjVsMjjWide_rebin; 00098 00099 MonitorElement * m_metVSmetclean; 00100 } ; 00101 00102 #endif