CMS 3D CMS Logo

TtDilepEvtSolutionMaker.h

Go to the documentation of this file.
00001 #include <string>
00002 #include <vector>
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007 #include "FWCore/ParameterSet/interface/InputTag.h"
00008 
00009 #include <DataFormats/Candidate/interface/Candidate.h>
00010 
00011 class TtDilepLRSignalSelObservables;
00012 
00013 class TtDilepEvtSolutionMaker : public edm::EDProducer {
00014 
00015   public:
00016 
00017     explicit TtDilepEvtSolutionMaker(const edm::ParameterSet & iConfig);
00018     ~TtDilepEvtSolutionMaker();
00019   
00020     virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup);
00021 
00022   private:  
00023 
00024     // next methods are avoidable but they make the code legible
00025     inline bool PTComp(const reco::Candidate*, const reco::Candidate*) const;
00026     inline bool LepDiffCharge(const reco::Candidate* , const reco::Candidate*) const;
00027     inline bool HasPositiveCharge(const reco::Candidate*) const;
00028 
00029   private:
00030 
00031     edm::InputTag electronSource_;
00032     edm::InputTag muonSource_;
00033     edm::InputTag tauSource_;
00034     edm::InputTag metSource_;
00035     edm::InputTag jetSource_;
00036     edm::InputTag evtSource_;
00037     int jetCorrScheme_;
00038     unsigned int nrCombJets_;
00039     bool matchToGenEvt_, calcTopMass_, useMCforBest_;
00040     bool eeChannel_, emuChannel_, mumuChannel_, etauChannel_, mutauChannel_, tautauChannel_;
00041     double tmassbegin_, tmassend_, tmassstep_;
00042    TtDilepLRSignalSelObservables        * myLRSignalSelObservables;
00043 };
00044 
00045 inline bool TtDilepEvtSolutionMaker::PTComp(const reco::Candidate* l1, const reco::Candidate* l2) const 
00046 {
00047   return (l1->pt() > l2->pt());
00048 }
00049 
00050 inline bool TtDilepEvtSolutionMaker::LepDiffCharge(const reco::Candidate* l1, const reco::Candidate* l2) const 
00051 {
00052   return (l1->charge() != l2->charge());
00053 }
00054 
00055 inline bool TtDilepEvtSolutionMaker::HasPositiveCharge(const reco::Candidate* l) const 
00056 {
00057   return (l->charge() > 0);
00058 }
00059 

Generated on Tue Jun 9 17:48:05 2009 for CMSSW by  doxygen 1.5.4