CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/RecoJets/JetPlusTracks/plugins/JetPlusTrackProducerAA.h

Go to the documentation of this file.
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 };