![]() |
![]() |
00001 #ifndef RECOMET_METPRODUCERS_BEAMHALOSUMMARYPRODUCER_H 00002 #define RECOMET_METPRODUCERS_BEAMHALOSUMMARYPRODUCER_H 00003 00004 /* 00005 [class]: BeamHaloSummaryProducer 00006 [authors]: R. Remington, The University of Florida 00007 [description]: EDProducer which runs BeamHalo Id/Flagging algorithms and stores BeamHaloSummary object to the event. Inspiration for this implementation was taken from HcalNoisInfoProducer.cc by J.P Chou 00008 [date]: October 15, 2009 00009 */ 00010 00011 00012 //Standard C++ classes 00013 #include <iostream> 00014 #include <string> 00015 #include <map> 00016 #include <vector> 00017 #include <utility> 00018 #include <ostream> 00019 #include <fstream> 00020 #include <algorithm> 00021 #include <cmath> 00022 #include <memory> 00023 #include <iomanip> 00024 #include <cstdlib> 00025 00026 // user include files 00027 #include "FWCore/Framework/interface/Frameworkfwd.h" 00028 #include "FWCore/Framework/interface/EDProducer.h" 00029 #include "FWCore/Framework/interface/Event.h" 00030 #include "FWCore/Framework/interface/MakerMacros.h" 00031 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00032 00033 #include "DataFormats/METReco/interface/CSCHaloData.h" 00034 #include "DataFormats/METReco/interface/EcalHaloData.h" 00035 #include "DataFormats/METReco/interface/HcalHaloData.h" 00036 #include "DataFormats/METReco/interface/GlobalHaloData.h" 00037 #include "DataFormats/METReco/interface/BeamHaloSummary.h" 00038 #include "DataFormats/EgammaCandidates/interface/Photon.h" 00039 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h" 00040 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h" 00041 #include "DataFormats/Common/interface/EDProduct.h" 00042 #include "DataFormats/Common/interface/Handle.h" 00043 #include "DataFormats/Common/interface/View.h" 00044 #include "DataFormats/Common/interface/TriggerResults.h" 00045 #include "FWCore/Framework/interface/Frameworkfwd.h" 00046 #include "FWCore/Framework/interface/Event.h" 00047 #include "FWCore/Framework/interface/MakerMacros.h" 00048 #include "FWCore/Framework/interface/EventSetup.h" 00049 #include "FWCore/Framework/interface/ESHandle.h" 00050 #include "FWCore/Framework/interface/EDProducer.h" 00051 00052 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00053 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00054 #include "FWCore/PluginManager/interface/ModuleDef.h" 00055 00056 namespace reco 00057 { 00058 class BeamHaloSummaryProducer : public edm::EDProducer { 00059 00060 public: 00061 explicit BeamHaloSummaryProducer(const edm::ParameterSet&); 00062 ~BeamHaloSummaryProducer(); 00063 00064 private: 00065 00066 virtual void beginJob() ; 00067 virtual void endJob() ; 00068 virtual void produce(edm::Event&, const edm::EventSetup&); 00069 virtual void beginRun(edm::Run&, const edm::EventSetup&); 00070 virtual void endRun(edm::Run&, const edm::EventSetup&); 00071 00072 edm::InputTag IT_CSCHaloData; 00073 edm::InputTag IT_EcalHaloData; 00074 edm::InputTag IT_HcalHaloData; 00075 edm::InputTag IT_GlobalHaloData; 00076 00077 float L_EcalPhiWedgeEnergy; 00078 int L_EcalPhiWedgeConstituents; 00079 float L_EcalPhiWedgeToF; 00080 float L_EcalPhiWedgeConfidence; 00081 float L_EcalShowerShapesRoundness; 00082 float L_EcalShowerShapesAngle; 00083 int L_EcalSuperClusterSize; 00084 float L_EcalSuperClusterEnergy; 00085 00086 float T_EcalPhiWedgeEnergy; 00087 int T_EcalPhiWedgeConstituents; 00088 float T_EcalPhiWedgeToF; 00089 float T_EcalPhiWedgeConfidence; 00090 float T_EcalShowerShapesRoundness; 00091 float T_EcalShowerShapesAngle; 00092 int T_EcalSuperClusterSize; 00093 float T_EcalSuperClusterEnergy; 00094 00095 float L_HcalPhiWedgeEnergy; 00096 int L_HcalPhiWedgeConstituents; 00097 float L_HcalPhiWedgeToF; 00098 float L_HcalPhiWedgeConfidence; 00099 00100 float T_HcalPhiWedgeEnergy; 00101 int T_HcalPhiWedgeConstituents; 00102 float T_HcalPhiWedgeToF; 00103 float T_HcalPhiWedgeConfidence; 00104 }; 00105 } 00106 00107 #endif 00108