CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoMET/METProducers/interface/EcalHaloDataProducer.h

Go to the documentation of this file.
00001 #ifndef RECOMET_METPRODUCERS_ECALHALODATAPRODUCER_H
00002 #define RECOMET_METPRODUCERS_ECALHALODATAPRODUCER_H
00003 
00004 /*
00005   [class]:  EcalHaloDataProducer
00006   [authors]: R. Remington, The University of Florida
00007   [description]: EDProducer which runs EcalHaloAlgo and store the EcalHaloData object to the event.
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/EcalHaloData.h"
00034 #include "RecoMET/METAlgorithms/interface/EcalHaloAlgo.h"
00035 //Included Classes (semi-alphabetical)
00036 #include "DataFormats/CaloTowers/interface/CaloTowerDetId.h"
00037 #include "DataFormats/Candidate/interface/CandidateFwd.h"
00038 #include "DataFormats/Candidate/interface/Candidate.h"
00039 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00040 #include "DataFormats/Common/interface/Handle.h"
00041 #include "DataFormats/Common/interface/View.h"
00042 #include "DataFormats/Common/interface/TriggerResults.h"
00043 #include "DataFormats/DetId/interface/DetId.h"
00044 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
00045 #include "DataFormats/EcalDetId/interface/EBDetId.h"
00046 #include "DataFormats/EcalDetId/interface/EEDetId.h"
00047 #include "DataFormats/EcalDetId/interface/ESDetId.h"
00048 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
00049 #include "DataFormats/EcalDigi/interface/EEDataFrame.h"
00050 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00051 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
00052 #include "DataFormats/EgammaCandidates/interface/Conversion.h"
00053 #include "DataFormats/EgammaCandidates/interface/ConversionFwd.h"
00054 #include "DataFormats/EgammaCandidates/interface/Photon.h"
00055 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h"
00056 #include "DataFormats/HepMCCandidate/interface/PdfInfo.h" 
00057 #include "DataFormats/GeometrySurface/interface/Cylinder.h"
00058 #include "DataFormats/GeometrySurface/interface/Plane.h"
00059 #include "DataFormats/GeometrySurface/interface/Cone.h"
00060 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00061 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00062 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00063 #include "DataFormats/GeometryVector/interface/LocalVector.h"
00064 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00065 #include "DataFormats/TrackReco/interface/Track.h"
00066 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00067 
00068 #include "FWCore/Framework/interface/Frameworkfwd.h"
00069 #include "FWCore/Framework/interface/Event.h"
00070 #include "FWCore/Framework/interface/MakerMacros.h"
00071 #include "FWCore/Framework/interface/EventSetup.h"
00072 #include "FWCore/Framework/interface/ESHandle.h"
00073 #include "FWCore/Framework/interface/EDProducer.h"
00074 
00075 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00076 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00077 #include "FWCore/PluginManager/interface/ModuleDef.h"
00078 
00079 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00080 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00081 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
00082 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
00083 #include "Geometry/Records/interface/CaloGeometryRecord.h"
00084 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00085 #include "MagneticField/Engine/interface/MagneticField.h"
00086 
00087 #include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h"
00088 #include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
00089 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00090 
00091 namespace reco
00092 {
00093   class EcalHaloDataProducer : public edm::EDProducer {
00094     
00095   public:
00096     explicit EcalHaloDataProducer(const edm::ParameterSet&);
00097     ~EcalHaloDataProducer();
00098     
00099   private:
00100     
00101     virtual void beginJob() ;
00102     virtual void endJob() ;
00103     virtual void produce(edm::Event&, const edm::EventSetup&);
00104     virtual void beginRun(edm::Run&, const edm::EventSetup&);
00105     virtual void endRun(edm::Run&, const edm::EventSetup&);
00106     
00107     //RecHit Level
00108     edm::InputTag IT_EBRecHit;
00109     edm::InputTag IT_EERecHit;
00110     edm::InputTag IT_ESRecHit;
00111 
00112     //Higher Level Reco
00113     edm::InputTag IT_SuperCluster;
00114     edm::InputTag IT_Photon;
00115     
00116     float  EBRecHitEnergyThreshold;
00117     float  EERecHitEnergyThreshold;
00118     float  ESRecHitEnergyThreshold;
00119     float  SumEcalEnergyThreshold;
00120     int  NHitsEcalThreshold;
00121 
00122     double RoundnessCut;
00123     double AngleCut;  
00124   };
00125 }
00126 
00127 #endif
00128