00001 #ifndef RecoTauTag_RecoTau_CaloRecoTauProducer 00002 #define RecoTauTag_RecoTau_CaloRecoTauProducer 00003 00004 /* class CaloRecoTauProducer 00005 * EDProducer of the CaloTauCollection, starting from the CaloTauTagInfoCollection, 00006 * authors: Simone Gennai (simone.gennai@cern.ch), Ludovic Houchu (Ludovic.Houchu@cern.ch) 00007 */ 00008 00009 #include "FWCore/Framework/interface/EventSetup.h" 00010 #include "FWCore/Framework/interface/ESHandle.h" 00011 #include "FWCore/Framework/interface/Event.h" 00012 #include "FWCore/Framework/interface/MakerMacros.h" 00013 #include "FWCore/Framework/interface/Frameworkfwd.h" 00014 #include "FWCore/Framework/interface/EDProducer.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00017 00018 #include "DataFormats/TauReco/interface/CaloTauTagInfo.h" 00019 #include "DataFormats/VertexReco/interface/Vertex.h" 00020 #include "DataFormats/VertexReco/interface/VertexFwd.h" 00021 00022 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h" 00023 #include "TrackingTools/Records/interface/TransientTrackRecord.h" 00024 00025 #include "RecoTauTag/RecoTau/interface/CaloRecoTauAlgorithm.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 CaloRecoTauProducer : public EDProducer { 00036 public: 00037 explicit CaloRecoTauProducer(const ParameterSet& iConfig); 00038 ~CaloRecoTauProducer(); 00039 virtual void produce(Event&,const EventSetup&); 00040 private: 00041 InputTag CaloRecoTauTagInfoProducer_; 00042 string PVProducer_; 00043 double smearedPVsigmaX_; 00044 double smearedPVsigmaY_; 00045 double smearedPVsigmaZ_; 00046 double JetMinPt_; 00047 CaloRecoTauAlgorithm* CaloRecoTauAlgo_; 00048 }; 00049 #endif 00050