20 maxFatjetAbsEta_(2.5),
60 produces<HTTTopJetTagInfoCollection>();
108 cout <<
"Getting central jets" << endl;
110 vector<fastjet::PseudoJet> centralJets;
111 for (
unsigned int i = 0;
i < inclusiveJets.size();
i++) {
113 centralJets.push_back(inclusiveJets[
i]);
119 vector<fastjet::PseudoJet>::iterator jetIt = centralJets.begin(), centralJetsEnd = centralJets.end();
121 cout <<
"Loop over jets" << endl;
122 for (; jetIt != centralJetsEnd; ++jetIt) {
124 cout <<
"CMS FJ jet pt: " << (*jetIt).perp() << endl;
126 fastjet::PseudoJet taggedJet;
128 taggedJet = HEPTagger.result(*jetIt);
130 if (taggedJet != 0) {
140 auto tagInfos = std::make_unique<HTTTopJetTagInfoCollection>();
143 for (
size_t ij = 0; ij !=
fjJets_.size(); ij++) {
154 fastjet::HEPTopTaggerV2Structure*
s = (fastjet::HEPTopTaggerV2Structure*)
fjJets_[ij].structure_non_const_ptr();
156 properties.
fjMass = s->fj_mass();
157 properties.
fjPt = s->fj_pt();
158 properties.
fjEta = s->fj_eta();
159 properties.
fjPhi = s->fj_phi();
161 properties.
topMass = s->top_mass();
164 properties.
fRec = s->fRec();
167 properties.
ropt = s->ropt();
168 properties.
roptCalc = s->roptCalc();
177 properties.
qWeight = s->qweight();
178 properties.
qEpsilon = s->qepsilon();
179 properties.
qSigmaM = s->qsigmaM();
181 tagInfo.
insert(rtb, properties);
191 desc.
add<
bool>(
"optimalR",
true);
192 desc.
add<
bool>(
"qJets",
false);
193 desc.
add<
double>(
"minFatjetPt", 200.);
194 desc.
add<
double>(
"minSubjetPt", 0.);
195 desc.
add<
double>(
"minCandPt", 0.);
196 desc.
add<
double>(
"maxFatjetAbsEta", 99.);
197 desc.
add<
double>(
"subjetMass", 30.);
198 desc.
add<
double>(
"filtR", 0.3);
199 desc.
add<
int>(
"filtN", 5);
200 desc.
add<
int>(
"mode", 4);
201 desc.
add<
double>(
"minCandMass", 0.);
202 desc.
add<
double>(
"maxCandMass", 999999.);
203 desc.
add<
double>(
"massRatioWidth", 999999.);
204 desc.
add<
double>(
"minM23Cut", 0.);
205 desc.
add<
double>(
"minM13Cut", 0.);
206 desc.
add<
double>(
"maxM13Cut", 999999.);
207 desc.
add<
double>(
"maxR", 1.5);
208 desc.
add<
double>(
"minR", 0.5);
209 desc.
add<
bool>(
"rejectMinR",
false);
210 desc.
add<
bool>(
"verbose",
false);
212 desc.
add<
int>(
"algorithm", 1);
220 descriptions.
add(
"HTTTopJetProducer", desc);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const edm::EventSetup & c
std::vector< fastjet::PseudoJet > fjJets_
#define DEFINE_FWK_MODULE(type)
std::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
void insert(const edm::RefToBase< Jet > &jet, const HTTTopJetProperties &properties)
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::vector< fastjet::PseudoJet > fjInputs_
ClusterSequencePtr fjClusterSeq_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void addHTTTopJetTagInfoCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, edm::OrphanHandle< reco::BasicJetCollection > &oh) override
static void fillDescriptionsFromFastJetProducer(edm::ParameterSetDescription &desc)
bool fromHTTTopJetProducer_
T getParameter(std::string const &) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
T perp() const
Magnitude of transverse component.
StreamID streamID() const
std::unique_ptr< fastjet::HEPTopTaggerV2 > fjHEPTopTagger_
AreaDefinitionPtr fjAreaDefinition_
static void fillDescriptionsFromVirtualJetProducer(edm::ParameterSetDescription &desc)
void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup) override
JetDefPtr fjJetDefinition_