00001 #ifndef TtHadEvtSolutionMaker_h 00002 #define TtHadEvtSolutionMaker_h 00003 // 00004 // $Id: TtHadEvtSolutionMaker.h,v 1.6 2008/08/28 00:38:50 rwolf Exp $ 00005 // adapted TtSemiEvtSolutionMaker.h, v1.13 2007/07/06 02:49:42 lowette Exp $ 00006 // for fully hadronic channel. 00007 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 #include "FWCore/ParameterSet/interface/InputTag.h" 00010 00011 #include "FWCore/Framework/interface/EDProducer.h" 00012 #include "FWCore/Framework/interface/Event.h" 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 #include "FWCore/ParameterSet/interface/InputTag.h" 00015 00016 #include <vector> 00017 #include <string> 00018 00019 00020 class TtFullHadKinFitter; 00021 class TtHadSimpleBestJetComb; 00022 class TtHadLRJetCombObservables; 00023 class TtHadLRJetCombCalc; 00024 class TtHadLRSignalSelObservables; 00025 class TtHadLRSignalSelCalc; 00026 00027 class TtHadEvtSolutionMaker : public edm::EDProducer { 00028 00029 public: 00030 00031 explicit TtHadEvtSolutionMaker(const edm::ParameterSet & iConfig); 00032 ~TtHadEvtSolutionMaker(); 00033 00034 virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup); 00035 00036 private: 00037 // configurables 00038 00039 edm::InputTag jetSrc_; 00040 int jetCorrScheme_; 00041 std::string lrSignalSelFile_, lrJetCombFile_; 00042 bool addLRSignalSel_, addLRJetComb_, doKinFit_, matchToGenEvt_; 00043 int matchingAlgo_; 00044 bool useMaxDist_, useDeltaR_; 00045 double maxDist_; 00046 int maxNrIter_; 00047 double maxDeltaS_, maxF_; 00048 int jetParam_; 00049 std::vector<int> lrSignalSelObs_, lrJetCombObs_, constraints_; 00050 // tools 00051 TtFullHadKinFitter * myKinFitter; 00052 TtHadSimpleBestJetComb * mySimpleBestJetComb; 00053 TtHadLRJetCombObservables * myLRJetCombObservables; 00054 TtHadLRJetCombCalc * myLRJetCombCalc; 00055 TtHadLRSignalSelObservables * myLRSignalSelObservables; 00056 TtHadLRSignalSelCalc * myLRSignalSelCalc; 00057 }; 00058 00059 00060 #endif