13 tagAlgo_(conf.getParameter<
int>(
"tagAlgo")),
14 ptMin_(conf.getParameter<double>(
"jetPtMin")),
15 centralEtaCut_(conf.getParameter<double>(
"centralEtaCut")),
16 verbose_(conf.getParameter<
bool>(
"verbose"))
45 new fastjet::CMSTopTagger(conf.
getParameter<
double> (
"ptFrac"),
52 new fastjet::JHTopTagger(conf.
getParameter<
double>(
"ptFrac"),
60 fastjet::JetDefinition::Plugin *
plugin =
new fastjet::SISConePlugin(0.6, 0.75);
61 fastjet::JetDefinition NsubJetDef(plugin);
62 fjNSUBTagger_ = std::unique_ptr<fastjet::RestFrameNSubjettinessTagger>(
63 new fastjet::RestFrameNSubjettinessTagger(NsubJetDef,
103 vector<fastjet::PseudoJet> centralJets;
104 for (
unsigned int i = 0;
i < inclusiveJets.size();
i++) {
107 centralJets.push_back(inclusiveJets[
i]);
113 fastjet::RestFrameNSubjettinessTagger & NSUBTagger = *
fjNSUBTagger_;
116 vector<fastjet::PseudoJet>::iterator jetIt = centralJets.begin(), centralJetsEnd = centralJets.end();
118 for ( ; jetIt != centralJetsEnd; ++jetIt ) {
120 if (
verbose_)
cout <<
"CMS FJ jet pt: " << (*jetIt).perp() << endl;
122 fastjet::PseudoJet taggedJet;
126 else cout <<
"NOT A VALID TAGGING ALGORITHM CHOICE!" << endl;
128 if (taggedJet != 0)
fjJets_.push_back(taggedJet);
137 desc.
add<
int>(
"tagAlgo", 0);
138 desc.
add<
double>(
"centralEtaCut", 2.5 );
140 desc.
add<
string>(
"jetCollInstanceName",
"caTopSubJets");
141 desc.
add<
int>(
"algorithm", 1);
142 desc.
add<
int>(
"useAdjacency", 2);
147 vector<double> sumEtBinsDefault={0.,1600.,2600.};
148 desc.
add<vector<double>>(
"sumEtBins", sumEtBinsDefault);
149 vector<double> rBinsDefault(3,0.8);
150 desc.
add<vector<double>>(
"rBins", rBinsDefault);
151 vector<double> ptFracBinsDefault(3,0.05);
152 desc.
add<vector<double>>(
"ptFracBins", ptFracBinsDefault);
153 vector<double> deltarBinsDefault(3,0.019);
154 desc.
add<vector<double>>(
"deltarBins", deltarBinsDefault);
155 vector<double> nCellBinsDefault(3,1.9);
156 desc.
add<vector<double>>(
"nCellBins", nCellBinsDefault);
157 desc.
add<
bool>(
"useMaxTower",
false);
158 desc.
add<
double>(
"sumEtEtaCut", 3.0);
159 desc.
add<
double>(
"etFrac", 0.7);
160 desc.
add<
double>(
"ptFrac", 0.05);
161 desc.
add<
double>(
"rFrac", 0.);
162 desc.
add<
double>(
"adjacencyParam", 0.);
163 desc.
add<
double>(
"deltaRCut", 0.19);
164 desc.
add<
double>(
"cosThetaWMax", 0.7);
165 desc.
add<
double>(
"tau2Cut", 0.);
166 desc.
add<
double>(
"cosThetaSCut", 0.);
167 desc.
add<
bool>(
"useExclusive",
false);
173 descriptions.
add(
"CATopJetProducer",desc);
T getParameter(std::string const &) const
std::vector< fastjet::PseudoJet > fjJets_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::unique_ptr< fastjet::RestFrameNSubjettinessTagger > fjNSUBTagger_
std::unique_ptr< fastjet::JHTopTagger > fjJHUTopTagger_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::vector< fastjet::PseudoJet > fjInputs_
#define DEFINE_FWK_MODULE(type)
ClusterSequencePtr fjClusterSeq_
unique_ptr< JetDefinition::Plugin > plugin
std::unique_ptr< CATopJetAlgorithm > legacyCMSTopTagger_
void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup) override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Namespace of DDCMS conversion namespace.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static void fillDescriptionsFromFastJetProducer(edm::ParameterSetDescription &desc)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
T perp() const
Magnitude of transverse component.
AreaDefinitionPtr fjAreaDefinition_
static void fillDescriptionsFromVirtualJetProducer(edm::ParameterSetDescription &desc)
std::unique_ptr< fastjet::CMSTopTagger > fjCMSTopTagger_
The algorithm to do the work.
boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
JetDefPtr fjJetDefinition_