00001 // -*- C++ -*- 00002 // 00003 // Package: JetPlusTracks 00004 // Class: JetPlusTrackProducerAA 00005 // 00013 // 00014 // Original Author: Olga Kodolova,40 R-A12,+41227671273, 00015 // Created: Fri Feb 19 10:14:02 CET 2010 00016 // $Id: JetPlusTrackProducerAA.h,v 1.2 2011/02/20 10:06:25 kodolova Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 00024 // user include files 00025 #include "FWCore/Framework/interface/Frameworkfwd.h" 00026 #include "FWCore/Framework/interface/EDProducer.h" 00027 #include "FWCore/Framework/interface/Event.h" 00028 #include "FWCore/Framework/interface/MakerMacros.h" 00029 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00030 #include "RecoJets/JetPlusTracks/interface/JetPlusTrackCorrector.h" 00031 #include "RecoJets/JetPlusTracks/interface/ZSPJPTJetCorrector.h" 00032 #include "DataFormats/JetReco/interface/JPTJetCollection.h" 00033 #include "DataFormats/JetReco/interface/JPTJet.h" 00034 00035 //=> 00036 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00037 #include "DataFormats/Math/interface/Point3D.h" 00038 #include <vector> 00039 #include "RecoJets/JetAssociationAlgorithms/interface/JetTracksAssociationDR.h" 00040 #include "DataFormats/JetReco/interface/TrackExtrapolation.h" 00041 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" 00042 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h" 00043 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00044 #include "Geometry/Records/interface/CaloGeometryRecord.h" 00045 #include "DataFormats/HcalDetId/interface/HcalDetId.h" 00046 //=> 00047 00048 #include <string> 00049 00050 // 00051 // class declaration 00052 // 00053 00054 class JetPlusTrackProducerAA : public edm::EDProducer { 00055 public: 00056 explicit JetPlusTrackProducerAA(const edm::ParameterSet&); 00057 ~JetPlusTrackProducerAA(); 00058 virtual void beginJob(); 00059 virtual void produce(edm::Event&, const edm::EventSetup&); 00060 virtual void endJob(); 00062 00063 reco::TrackRefVector calculateBGtracksJet(reco::JPTJetCollection&, std::vector <reco::TrackRef>&, 00064 edm::Handle <std::vector<reco::TrackExtrapolation> >&, 00065 reco::TrackRefVector&); 00066 00067 private: 00068 00069 // Data 00070 JetPlusTrackCorrector* mJPTalgo; 00071 ZSPJPTJetCorrector* mZSPalgo; 00072 edm::InputTag src; 00073 edm::InputTag srcPVs_; 00074 std::string alias; 00075 bool vectorial_; 00076 bool useZSP; 00077 edm::InputTag mTracks; 00078 double mConeSize; 00079 reco::TrackBase::TrackQuality trackQuality_; 00080 00081 //=> 00082 edm::InputTag mExtrapolations; 00083 //=> 00084 // ----------member data --------------------------- 00085 };