00001 #ifndef TtFullHadKinFitProducer_h 00002 #define TtFullHadKinFitProducer_h 00003 00004 #include "FWCore/Framework/interface/Event.h" 00005 #include "FWCore/Framework/interface/EDProducer.h" 00006 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00007 00008 #include "TopQuarkAnalysis/TopKinFitter/interface/TtFullHadKinFitter.h" 00009 #include "AnalysisDataFormats/TopObjects/interface/TtFullHadEvtPartons.h" 00010 00011 /* 00012 \class TtFullHadKinFitProducer TtFullHadKinFitProducer.h "TopQuarkAnalysis/TopKinFitter/plugins/TtFullHadKinFitProducer.h" 00013 00014 \brief Retrieve kinFit result from TtFullHadKinFitter and put it into the event 00015 00016 Get jet collection and if wanted match from the event content and do the kinematic fit 00017 of the event with this objects using the kinFit class from TtFullHadKinFitter and put 00018 the result into the event content 00019 00020 **/ 00021 00022 class TtFullHadKinFitProducer : public edm::EDProducer { 00023 00024 public: 00026 explicit TtFullHadKinFitProducer(const edm::ParameterSet& cfg); 00028 ~TtFullHadKinFitProducer(); 00029 00030 private: 00032 virtual void produce(edm::Event& event, const edm::EventSetup& setup); 00033 00034 private: 00036 edm::InputTag jets_; 00038 edm::InputTag match_; 00041 bool useOnlyMatch_; 00043 std::string bTagAlgo_; 00045 double minBTagValueBJet_; 00047 double maxBTagValueNonBJet_; 00049 bool useBTagging_; 00051 unsigned int bTags_; 00053 std::string jetCorrectionLevel_; 00055 int maxNJets_; 00057 int maxNComb_; 00059 unsigned int maxNrIter_; 00061 double maxDeltaS_; 00063 double maxF_; 00065 unsigned int jetParam_; 00067 std::vector<unsigned> constraints_; 00069 double mW_; 00071 double mTop_; 00073 std::vector<edm::ParameterSet> udscResolutions_, bResolutions_; 00075 double resolutionSmearFactor_; 00076 00077 public: 00078 00080 TtFullHadKinFitter::KinFit* kinFitter; 00081 00082 }; 00083 00084 #endif