Go to the documentation of this file.00001 #include "FWCore/Framework/interface/MakerMacros.h"
00002 #include "CATopJetProducer.h"
00003
00004 using namespace edm;
00005 using namespace cms;
00006 using namespace reco;
00007
00008 CATopJetProducer::CATopJetProducer(edm::ParameterSet const& conf):
00009 FastjetJetProducer( conf ),
00010 alg_(src_,
00011 conf.getParameter<bool> ("verbose"),
00012 conf.getParameter<int> ("algorithm"),
00013 conf.getParameter<int> ("useAdjacency"),
00014
00015
00016
00017
00018 conf.getParameter<double>("centralEtaCut"),
00019 conf.getParameter<double>("jetPtMin"),
00020 conf.getParameter<std::vector<double> >("sumEtBins"),
00021 conf.getParameter<std::vector<double> >("rBins"),
00022 conf.getParameter<std::vector<double> >("ptFracBins"),
00023 conf.getParameter<std::vector<double> >("deltarBins"),
00024 conf.getParameter<std::vector<double> >("nCellBins"),
00025 conf.getParameter<double>("inputEtMin"),
00026 conf.getParameter<bool> ("useMaxTower"),
00027 conf.getParameter<double>("sumEtEtaCut"),
00028 conf.getParameter<double>("etFrac")
00029 )
00030 {}
00031
00032 void CATopJetProducer::produce( edm::Event & e, const edm::EventSetup & c )
00033 {
00034 FastjetJetProducer::produce(e, c);
00035 }
00036
00037 void CATopJetProducer::runAlgorithm( edm::Event& iEvent, const edm::EventSetup& iSetup)
00038 {
00039 if ( !doAreaFastjet_ && !doRhoFastjet_) {
00040 fjClusterSeq_ = ClusterSequencePtr( new fastjet::ClusterSequence( fjInputs_, *fjJetDefinition_ ) );
00041 } else if (voronoiRfact_ <= 0) {
00042 fjClusterSeq_ = ClusterSequencePtr( new fastjet::ClusterSequenceArea( fjInputs_, *fjJetDefinition_ , *fjAreaDefinition_ ) );
00043 } else {
00044 fjClusterSeq_ = ClusterSequencePtr( new fastjet::ClusterSequenceVoronoiArea( fjInputs_, *fjJetDefinition_ , fastjet::VoronoiAreaSpec(voronoiRfact_) ) );
00045 }
00046
00047 alg_.run( fjInputs_, fjJets_, fjClusterSeq_ );
00048
00049 }
00050
00051
00052
00053 DEFINE_FWK_MODULE(CATopJetProducer);