CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/GeneratorInterface/LHEInterface/interface/JetMatchingMLM.h

Go to the documentation of this file.
00001 #ifndef GeneratorInterface_LHEInterface_JetMatchingMLM_h
00002 #define GeneratorInterface_LHEInterface_JetMatchingMLM_h
00003 
00004 #include <memory>
00005 #include <vector>
00006 
00007 #include <HepMC/GenEvent.h>
00008 #include <HepMC/SimpleVector.h>
00009 
00010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00011 
00012 #include "GeneratorInterface/LHEInterface/interface/JetMatching.h"
00013 
00014 namespace lhef {
00015 
00016 class JetInput;
00017 class JetClustering;
00018 
00019 class JetMatchingMLM : public JetMatching {
00020     public:
00021         JetMatchingMLM(const edm::ParameterSet &params);
00022         ~JetMatchingMLM();
00023 
00024     private:
00025         std::set<std::string> capabilities() const;
00026 
00027         double match(const HepMC::GenEvent *partonLevel,
00028                      const HepMC::GenEvent *finalState,
00029                      bool showeredFinalState);
00030 
00031         enum MatchMode {
00032                 kExclusive = 0,
00033                 kInclusive
00034         };
00035 
00036         const double                    maxDeltaR;
00037         const double                    minJetPt;
00038         double                          maxEta;
00039         double                          matchPtFraction;
00040         bool                            useEt;
00041         MatchMode                       matchMode;
00042 
00043         std::auto_ptr<JetInput>         partonInput;
00044         std::auto_ptr<JetInput>         jetInput;
00045         std::auto_ptr<JetClustering>    jetClustering;
00046 };
00047 
00048 } // namespace lhef
00049 
00050 #endif // GeneratorCommon_LHEInterface_JetMatchingMLM_h