CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/TopQuarkAnalysis/TopEventProducers/interface/TtSemiEvtSolutionMaker.h

Go to the documentation of this file.
00001 //
00002 // $Id: TtSemiEvtSolutionMaker.h,v 1.21 2010/02/15 13:41:06 snaumann Exp $
00003 //
00004 
00005 #ifndef TopEventProducers_TtSemiEvtSolutionMaker_h
00006 #define TopEventProducers_TtSemiEvtSolutionMaker_h
00007 
00008 #include "FWCore/Framework/interface/Event.h"
00009 #include "FWCore/Utilities/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   // convert unsigned to Param
00034   TtSemiLepKinFitter::Param param(unsigned);
00035   // convert unsigned to Param
00036   TtSemiLepKinFitter::Constraint constraint(unsigned);
00037   // convert unsigned to Param
00038   std::vector<TtSemiLepKinFitter::Constraint> constraints(std::vector<unsigned>&);
00039 
00040  private:
00041   
00042   // configurables
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   // tools
00061   TtSemiLepKinFitter           * myKinFitter;
00062   TtSemiSimpleBestJetComb      * mySimpleBestJetComb;
00063   TtSemiLRJetCombObservables   * myLRJetCombObservables;
00064   TtSemiLRJetCombCalc          * myLRJetCombCalc;
00065   TtSemiLRSignalSelObservables * myLRSignalSelObservables;
00066   TtSemiLRSignalSelCalc        * myLRSignalSelCalc;  
00067 };
00068 
00069 
00070 #endif