00001 #ifndef RecoTauTag_RecoTau_PFRecoTauProducer 00002 #define RecoTauTag_RecoTau_PFRecoTauProducer 00003 00004 /* class PFRecoTauProducer 00005 * EDProducer of the PFTauCollection, starting from the PFTauTagInfoCollection, 00006 * authors: Simone Gennai (simone.gennai@cern.ch), Ludovic Houchu (Ludovic.Houchu@cern.ch) 00007 */ 00008 00009 #include "DataFormats/TauReco/interface/PFTauTagInfo.h" 00010 #include "DataFormats/VertexReco/interface/Vertex.h" 00011 #include "DataFormats/VertexReco/interface/VertexFwd.h" 00012 00013 #include "FWCore/Framework/interface/EventSetup.h" 00014 #include "FWCore/Framework/interface/ESHandle.h" 00015 #include "FWCore/Framework/interface/Event.h" 00016 #include "FWCore/Framework/interface/MakerMacros.h" 00017 #include "FWCore/Framework/interface/Frameworkfwd.h" 00018 #include "FWCore/Framework/interface/EDProducer.h" 00019 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00020 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00021 00022 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h" 00023 #include "TrackingTools/Records/interface/TransientTrackRecord.h" 00024 00025 #include "RecoTauTag/RecoTau/interface/PFRecoTauAlgorithm.h" 00026 00027 #include "CLHEP/Random/RandGauss.h" 00028 00029 #include <memory> 00030 00031 using namespace reco; 00032 using namespace edm; 00033 using namespace std; 00034 00035 class PFRecoTauProducer : public EDProducer { 00036 public: 00037 explicit PFRecoTauProducer(const ParameterSet& iConfig); 00038 ~PFRecoTauProducer(); 00039 virtual void produce(Event&,const EventSetup&); 00040 private: 00041 InputTag PFTauTagInfoProducer_; 00042 InputTag ElectronPreIDProducer_; 00043 string PVProducer_; 00044 double smearedPVsigmaX_; 00045 double smearedPVsigmaY_; 00046 double smearedPVsigmaZ_; 00047 double JetMinPt_; 00048 PFRecoTauAlgorithm* PFRecoTauAlgo_; 00049 }; 00050 #endif 00051