15 tagAlgo_(conf.getParameter<
int>(
"tagAlgo")),
16 ptMin_(conf.getParameter<double>(
"jetPtMin")),
17 centralEtaCut_(conf.getParameter<double>(
"centralEtaCut")),
18 verbose_(conf.getParameter<
bool>(
"verbose")) {
47 std::unique_ptr<fastjet::CMSTopTagger>(
new fastjet::CMSTopTagger(conf.
getParameter<
double>(
"ptFrac"),
52 std::unique_ptr<fastjet::JHTopTagger>(
new fastjet::JHTopTagger(conf.
getParameter<
double>(
"ptFrac"),
56 fastjet::JetDefinition::Plugin*
plugin =
new fastjet::SISConePlugin(0.6, 0.75);
57 fastjet::JetDefinition NsubJetDef(
plugin);
58 fjNSUBTagger_ = std::unique_ptr<fastjet::RestFrameNSubjettinessTagger>(
59 new fastjet::RestFrameNSubjettinessTagger(NsubJetDef,
87 cout <<
"Getting central jets" << endl;
89 vector<fastjet::PseudoJet> centralJets;
90 for (
unsigned int i = 0;
i < inclusiveJets.size();
i++) {
92 centralJets.push_back(inclusiveJets[
i]);
98 fastjet::RestFrameNSubjettinessTagger& NSUBTagger = *
fjNSUBTagger_;
100 vector<fastjet::PseudoJet>::iterator jetIt = centralJets.begin(), centralJetsEnd = centralJets.end();
102 cout <<
"Loop over jets" << endl;
103 for (; jetIt != centralJetsEnd; ++jetIt) {
105 cout <<
"CMS FJ jet pt: " << (*jetIt).perp() << endl;
107 fastjet::PseudoJet taggedJet;
109 taggedJet = CMSTagger.result(*jetIt);
111 taggedJet = JHUTagger.result(*jetIt);
113 taggedJet = NSUBTagger.result(*jetIt);
115 cout <<
"NOT A VALID TAGGING ALGORITHM CHOICE!" << endl;
126 desc.
add<
int>(
"tagAlgo", 0);
127 desc.
add<
double>(
"centralEtaCut", 2.5);
128 desc.
add<
bool>(
"verbose",
false);
129 desc.
add<
string>(
"jetCollInstanceName",
"caTopSubJets");
130 desc.
add<
int>(
"algorithm", 1);
131 desc.
add<
int>(
"useAdjacency", 2);
136 vector<double> sumEtBinsDefault = {0., 1600., 2600.};
137 desc.
add<vector<double>>(
140 vector<double> rBinsDefault(3, 0.8);
141 desc.
add<vector<double>>(
"rBins", rBinsDefault);
142 vector<double> ptFracBinsDefault(3, 0.05);
143 desc.
add<vector<double>>(
"ptFracBins", ptFracBinsDefault);
144 vector<double> deltarBinsDefault(3, 0.019);
145 desc.
add<vector<double>>(
146 "deltarBins", deltarBinsDefault);
147 vector<double> nCellBinsDefault(3, 1.9);
148 desc.
add<vector<double>>(
151 desc.
add<
bool>(
"useMaxTower",
false);
152 desc.
add<
double>(
"sumEtEtaCut", 3.0);
153 desc.
add<
double>(
"etFrac", 0.7);
154 desc.
add<
double>(
"ptFrac", 0.05);
155 desc.
add<
double>(
"rFrac", 0.);
156 desc.
add<
double>(
"adjacencyParam", 0.);
157 desc.
add<
double>(
"deltaRCut", 0.19);
158 desc.
add<
double>(
"cosThetaWMax", 0.7);
159 desc.
add<
double>(
"tau2Cut", 0.);
160 desc.
add<
double>(
"cosThetaSCut", 0.);
161 desc.
add<
bool>(
"useExclusive",
false);
167 descriptions.
add(
"CATopJetProducer", desc);