CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/RecoMET/METProducers/interface/BeamHaloSummaryProducer.h

Go to the documentation of this file.
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/Handle.h"
00042 #include "DataFormats/Common/interface/View.h"
00043 #include "DataFormats/Common/interface/TriggerResults.h"
00044 #include "FWCore/Framework/interface/Frameworkfwd.h"
00045 #include "FWCore/Framework/interface/Event.h"
00046 #include "FWCore/Framework/interface/MakerMacros.h"
00047 #include "FWCore/Framework/interface/EventSetup.h"
00048 #include "FWCore/Framework/interface/ESHandle.h"
00049 #include "FWCore/Framework/interface/EDProducer.h"
00050 
00051 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00052 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00053 #include "FWCore/PluginManager/interface/ModuleDef.h"
00054 
00055 namespace reco
00056 {
00057   class BeamHaloSummaryProducer : public edm::EDProducer {
00058     
00059   public:
00060     explicit BeamHaloSummaryProducer(const edm::ParameterSet&);
00061     ~BeamHaloSummaryProducer();
00062     
00063   private:
00064     
00065     virtual void beginJob() ;
00066     virtual void endJob() ;
00067     virtual void produce(edm::Event&, const edm::EventSetup&);
00068     virtual void beginRun(edm::Run&, const edm::EventSetup&);
00069     virtual void endRun(edm::Run&, const edm::EventSetup&);
00070     
00071     edm::InputTag IT_CSCHaloData;
00072     edm::InputTag IT_EcalHaloData;
00073     edm::InputTag IT_HcalHaloData;
00074     edm::InputTag IT_GlobalHaloData;
00075 
00076     float L_EcalPhiWedgeEnergy;
00077     int L_EcalPhiWedgeConstituents;
00078     float L_EcalPhiWedgeToF;
00079     float L_EcalPhiWedgeConfidence;
00080     float L_EcalShowerShapesRoundness;
00081     float L_EcalShowerShapesAngle;
00082     int L_EcalSuperClusterSize;
00083     float L_EcalSuperClusterEnergy;
00084 
00085     float T_EcalPhiWedgeEnergy;
00086     int T_EcalPhiWedgeConstituents;
00087     float T_EcalPhiWedgeToF;
00088     float T_EcalPhiWedgeConfidence;
00089     float T_EcalShowerShapesRoundness;
00090     float T_EcalShowerShapesAngle;
00091     int T_EcalSuperClusterSize;
00092     float T_EcalSuperClusterEnergy;
00093     
00094     float L_HcalPhiWedgeEnergy;
00095     int L_HcalPhiWedgeConstituents;
00096     float L_HcalPhiWedgeToF;
00097     float L_HcalPhiWedgeConfidence;
00098     
00099     float T_HcalPhiWedgeEnergy;
00100     int T_HcalPhiWedgeConstituents;
00101     float T_HcalPhiWedgeToF;
00102     float T_HcalPhiWedgeConfidence;
00103   };
00104 }
00105 
00106 #endif
00107