00001
00002
00003
00004
00005 #ifndef TopEventProducers_TtSemiEvtSolutionMaker_h
00006 #define TopEventProducers_TtSemiEvtSolutionMaker_h
00007
00008 #include "FWCore/Framework/interface/Event.h"
00009 #include "FWCore/ParameterSet/interface/InputTag.h"
00010 #include "FWCore/Framework/interface/EDProducer.h"
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 #include "TopQuarkAnalysis/TopKinFitter/interface/TtSemiLepKinFitter.h"
00013
00014 #include <vector>
00015 #include <string>
00016
00017 class TtSemiSimpleBestJetComb;
00018 class TtSemiLRJetCombObservables;
00019 class TtSemiLRJetCombCalc;
00020 class TtSemiLRSignalSelObservables;
00021 class TtSemiLRSignalSelCalc;
00022
00023
00024 class TtSemiEvtSolutionMaker : public edm::EDProducer {
00025
00026 public:
00027
00028 explicit TtSemiEvtSolutionMaker(const edm::ParameterSet & iConfig);
00029 ~TtSemiEvtSolutionMaker();
00030
00031 virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup);
00032
00033
00034 TtSemiLepKinFitter::Param param(unsigned);
00035
00036 TtSemiLepKinFitter::Constraint constraint(unsigned);
00037
00038 std::vector<TtSemiLepKinFitter::Constraint> constraints(std::vector<unsigned>&);
00039
00040 private:
00041
00042
00043 edm::InputTag electronSrc_;
00044 edm::InputTag muonSrc_;
00045 edm::InputTag metSrc_;
00046 edm::InputTag jetSrc_;
00047 std::string leptonFlavour_;
00048 int jetCorrScheme_;
00049 unsigned int nrCombJets_;
00050 std::string lrSignalSelFile_, lrJetCombFile_;
00051 bool addLRSignalSel_, addLRJetComb_, doKinFit_, matchToGenEvt_;
00052 int matchingAlgo_;
00053 bool useMaxDist_, useDeltaR_;
00054 double maxDist_;
00055 int maxNrIter_;
00056 double maxDeltaS_, maxF_;
00057 int jetParam_, lepParam_, metParam_;
00058 std::vector<int> lrSignalSelObs_, lrJetCombObs_;
00059 std::vector<unsigned> constraints_;
00060
00061 TtSemiLepKinFitter * myKinFitter;
00062 TtSemiSimpleBestJetComb * mySimpleBestJetComb;
00063 TtSemiLRJetCombObservables * myLRJetCombObservables;
00064 TtSemiLRJetCombCalc * myLRJetCombCalc;
00065 TtSemiLRSignalSelObservables * myLRSignalSelObservables;
00066 TtSemiLRSignalSelCalc * myLRSignalSelCalc;
00067 };
00068
00069
00070 #endif