CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CATopJetProducer.cc
Go to the documentation of this file.
2 #include "CATopJetProducer.h"
3 
4 using namespace edm;
5 using namespace cms;
6 using namespace reco;
7 
8 CATopJetProducer::CATopJetProducer(edm::ParameterSet const& conf):
9  FastjetJetProducer( conf ),
10  alg_(src_,
11  conf.getParameter<bool> ("verbose"),
12  conf.getParameter<int> ("algorithm"), // 0 = KT, 1 = CA, 2 = anti-KT
13  conf.getParameter<int> ("useAdjacency"), // choose adjacency requirement:
14  // 0 = no adjacency
15  // 1 = deltar adjacency
16  // 2 = modified adjacency
17  // 3 = calotower neirest neigbor based adjacency (untested)
18  conf.getParameter<double>("centralEtaCut"), // eta for defining "central" jets
19  conf.getParameter<double>("jetPtMin"), // min jet pt
20  conf.getParameter<std::vector<double> >("sumEtBins"), // sumEt bins over which cuts may vary. vector={bin 0 lower bound, bin 1 lower bound, ...}
21  conf.getParameter<std::vector<double> >("rBins"), // Jet distance paramter R. R values depend on sumEt bins.
22  conf.getParameter<std::vector<double> >("ptFracBins"), // fraction of hard jet pt that subjet must have (deltap)
23  conf.getParameter<std::vector<double> >("deltarBins"), // Applicable only if useAdjacency=1. deltar adjacency values for each sumEtBin
24  conf.getParameter<std::vector<double> >("nCellBins"), // Applicable only if useAdjacency=3. number of cells to consider two subjets adjacent
25  conf.getParameter<double>("inputEtMin"), // seed threshold - NOT USED
26  conf.getParameter<bool> ("useMaxTower"), // use max tower as adjacency criterion, otherwise use centroid - NOT USED
27  conf.getParameter<double>("sumEtEtaCut"), // eta for event SumEt - NOT USED
28  conf.getParameter<double>("etFrac") // fraction of event sumEt / 2 for a jet to be considered "hard" -NOT USED
29  )
30 {}
31 
33 {
35 }
36 
38 {
39  if ( !doAreaFastjet_ && !doRhoFastjet_) {
40  fjClusterSeq_ = ClusterSequencePtr( new fastjet::ClusterSequence( fjInputs_, *fjJetDefinition_ ) );
41  } else if (voronoiRfact_ <= 0) {
42  fjClusterSeq_ = ClusterSequencePtr( new fastjet::ClusterSequenceArea( fjInputs_, *fjJetDefinition_ , *fjAreaDefinition_ ) );
43  } else {
44  fjClusterSeq_ = ClusterSequencePtr( new fastjet::ClusterSequenceVoronoiArea( fjInputs_, *fjJetDefinition_ , fastjet::VoronoiAreaSpec(voronoiRfact_) ) );
45  }
46 
48 
49 }
50 
51 
52 //define this as a plug-in
std::vector< fastjet::PseudoJet > fjJets_
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
CATopJetAlgorithm alg_
std::vector< fastjet::PseudoJet > fjInputs_
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
int iEvent
Definition: GenABIO.cc:243
ClusterSequencePtr fjClusterSeq_
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
tuple conf
Definition: dbtoconf.py:185
virtual void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup)
AreaDefinitionPtr fjAreaDefinition_
void run(const std::vector< fastjet::PseudoJet > &cell_particles, std::vector< fastjet::PseudoJet > &hardjetsOutput, boost::shared_ptr< fastjet::ClusterSequence > &fjClusterSeq)
Find the ProtoJets from the collection of input Candidates.
boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr