CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoMET/METProducers/interface/GlobalHaloDataProducer.h

Go to the documentation of this file.
00001 #ifndef RECOBEAMHALO_PRODUCERS_GLOBALHALODATAPRODUCER_H
00002 #define RECOBEAMHALO_PRODUCERS_GLOBALHALODATAPRODUCER_H
00003 
00004 /*
00005   [class]:GlobalHaloDataProducer
00006   [authors]: R. Remington, The University of Florida
00007   [description]: EDProducer which runs the GlobalHaloAlgo and stores the GlobalHaloData 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/GlobalHaloData.h"
00034 #include "RecoMET/METAlgorithms/interface/GlobalHaloAlgo.h"
00035 //Included Classes (semi-alphabetical)
00036 #include "CondFormats/CSCObjects/interface/CSCDBCrosstalk.h"
00037 #include "CondFormats/CSCObjects/interface/CSCDBGains.h"
00038 #include "CondFormats/CSCObjects/interface/CSCDBNoiseMatrix.h"
00039 #include "CondFormats/CSCObjects/interface/CSCDBPedestals.h"
00040 #include "CondFormats/DataRecord/interface/CSCDBCrosstalkRcd.h"
00041 #include "CondFormats/DataRecord/interface/CSCDBGainsRcd.h"
00042 #include "CondFormats/DataRecord/interface/CSCDBNoiseMatrixRcd.h"
00043 #include "CondFormats/DataRecord/interface/CSCDBPedestalsRcd.h"
00044 
00045 #include "DataFormats/CaloTowers/interface/CaloTowerDetId.h"
00046 #include "DataFormats/Candidate/interface/CandidateFwd.h"
00047 #include "DataFormats/Candidate/interface/Candidate.h"
00048 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00049 #include "DataFormats/Common/interface/EDProduct.h"
00050 #include "DataFormats/Common/interface/Handle.h"
00051 #include "DataFormats/Common/interface/View.h"
00052 #include "DataFormats/Common/interface/TriggerResults.h"
00053 #include "DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h"
00054 #include "DataFormats/CSCDigi/interface/CSCWireDigi.h"
00055 #include "DataFormats/CSCDigi/interface/CSCWireDigiCollection.h"
00056 #include "DataFormats/CSCDigi/interface/CSCStripDigi.h"
00057 #include "DataFormats/CSCDigi/interface/CSCStripDigiCollection.h"
00058 #include "DataFormats/CSCDigi/interface/CSCComparatorDigi.h"
00059 #include "DataFormats/CSCDigi/interface/CSCComparatorDigiCollection.h"
00060 #include "DataFormats/CSCRecHit/interface/CSCRecHit2D.h"
00061 #include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h"
00062 #include "DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h"
00063 #include "DataFormats/CSCRecHit/interface/CSCSegment.h"
00064 #include "DataFormats/DetId/interface/DetId.h"
00065 #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h"
00066 #include "DataFormats/DTRecHit/interface/DTRecSegment4D.h"
00067 #include "DataFormats/DTRecHit/interface/DTRecHitCollection.h"
00068 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
00069 #include "DataFormats/EcalDetId/interface/EBDetId.h"
00070 #include "DataFormats/EcalDetId/interface/EEDetId.h"
00071 #include "DataFormats/EcalDetId/interface/ESDetId.h"
00072 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
00073 #include "DataFormats/EcalDigi/interface/EEDataFrame.h"
00074 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00075 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
00076 #include "DataFormats/EgammaCandidates/interface/Conversion.h"
00077 #include "DataFormats/EgammaCandidates/interface/ConversionFwd.h"
00078 #include "DataFormats/EgammaCandidates/interface/Photon.h"
00079 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h"
00080 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00081 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
00082 #include "DataFormats/HepMCCandidate/interface/PdfInfo.h" 
00083 #include "DataFormats/GeometrySurface/interface/Cylinder.h"
00084 #include "DataFormats/GeometrySurface/interface/Plane.h"
00085 #include "DataFormats/GeometrySurface/interface/Cone.h"
00086 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00087 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00088 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00089 #include "DataFormats/GeometryVector/interface/LocalVector.h"
00090 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
00091 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00092 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
00093 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
00094 #include "DataFormats/HcalRecHit/interface/HORecHit.h"
00095 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
00096 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00097 #include "DataFormats/JetReco/interface/CaloJet.h"
00098 #include "DataFormats/L1CSCTrackFinder/interface/L1CSCTrackCollection.h"
00099 #include "DataFormats/L1CSCTrackFinder/interface/L1CSCStatusDigiCollection.h"
00100 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
00101 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutRecord.h"
00102 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
00103 #include "DataFormats/METReco/interface/CaloMET.h"
00104 #include "DataFormats/METReco/interface/CaloMETFwd.h"
00105 #include "DataFormats/METReco/interface/MET.h"
00106 #include "DataFormats/MuonDetId/interface/CSCIndexer.h"
00107 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
00108 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
00109 #include "DataFormats/MuonDetId/interface/DTWireId.h"
00110 #include "DataFormats/MuonReco/interface/MuonFwd.h"
00111 #include "DataFormats/MuonReco/interface/Muon.h"
00112 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00113 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
00114 #include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h"
00115 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
00116 #include "DataFormats/TrackingRecHit/interface/RecSegment.h"
00117 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
00118 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
00119 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
00120 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00121 #include "DataFormats/TrackReco/interface/Track.h"
00122 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00123 
00124 #include "FWCore/Framework/interface/Frameworkfwd.h"
00125 #include "FWCore/Framework/interface/Event.h"
00126 #include "FWCore/Framework/interface/MakerMacros.h"
00127 #include "FWCore/Framework/interface/EventSetup.h"
00128 #include "FWCore/Framework/interface/ESHandle.h"
00129 #include "FWCore/Framework/interface/EDProducer.h"
00130 
00131 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00132 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00133 #include "FWCore/PluginManager/interface/ModuleDef.h"
00134 
00135 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00136 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00137 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
00138 #include "Geometry/CommonDetUnit/interface/TrackingGeometry.h"
00139 #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
00140 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
00141 #include "Geometry/CommonTopologies/interface/PixelTopology.h"
00142 #include "Geometry/CommonTopologies/interface/StripTopology.h"
00143 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
00144 #include "Geometry/CSCGeometry/interface/CSCChamber.h"
00145 #include "Geometry/CSCGeometry/interface/CSCLayer.h"
00146 #include "Geometry/CSCGeometry/interface/CSCLayerGeometry.h"
00147 #include "Geometry/DTGeometry/interface/DTGeometry.h"
00148 #include "Geometry/DTGeometry/interface/DTLayer.h"
00149 #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h"
00150 #include "Geometry/RPCGeometry/interface/RPCRoll.h"
00151 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
00152 #include "Geometry/Records/interface/CaloGeometryRecord.h"
00153 #include "Geometry/Records/interface/MuonGeometryRecord.h"
00154 #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h"
00155 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00156 #include "Geometry/TrackerGeometryBuilder/interface/GluedGeomDet.h"
00157 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00158 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h"
00159 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetType.h"
00160 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetType.h"
00161 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
00162 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00163 
00164 #include "L1Trigger/CSCTrackFinder/interface/CSCSectorReceiverLUT.h"
00165 #include "L1Trigger/CSCTrackFinder/interface/CSCSectorReceiverLUT.h"
00166 #include "L1Trigger/CSCCommonTrigger/interface/CSCTriggerGeometry.h"
00167 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00168 #include "MagneticField/Engine/interface/MagneticField.h"
00169 
00170 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
00171 #include "RecoMuon/TrackingTools/interface/MuonPatternRecoDumper.h"
00172 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHitBuilder.h"
00173 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h"
00174 
00175 #include "TrackingTools/GeomPropagators/interface/Propagator.h"
00176 #include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h"
00177 #include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
00178 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00179 
00180 namespace reco
00181 {
00182   class GlobalHaloDataProducer : public edm::EDProducer {
00183     
00184   public:
00185     explicit GlobalHaloDataProducer(const edm::ParameterSet&);
00186     ~GlobalHaloDataProducer();
00187     
00188   private:
00189     
00190     virtual void beginJob() ;
00191     virtual void endJob() ;
00192     virtual void produce(edm::Event&, const edm::EventSetup&);
00193     virtual void beginRun(edm::Run&, const edm::EventSetup&);
00194     virtual void endRun(edm::Run&, const edm::EventSetup&);
00195     
00196     edm::InputTag IT_CaloTower;
00197     edm::InputTag IT_met;
00198     edm::InputTag IT_CSCRecHit;
00199     edm::InputTag IT_CSCSegment;
00200 
00201     edm::InputTag IT_CSCHaloData;
00202     edm::InputTag IT_EcalHaloData;
00203     edm::InputTag IT_HcalHaloData;
00204 
00205     float EcalMinMatchingRadius;
00206     float  EcalMaxMatchingRadius;
00207     float HcalMinMatchingRadius;
00208     float HcalMaxMatchingRadius;
00209     float CaloTowerEtThreshold;
00210     
00211   };
00212 }
00213 
00214 #endif
00215