18 maxFatjetAbsEta_(2.5),
37 if ( conf.
exists(
"optimalR") )
40 if ( conf.
exists(
"qJets") )
43 if ( conf.
exists(
"minFatjetPt") )
46 if ( conf.
exists(
"minSubjetPt") )
49 if ( conf.
exists(
"minCandPt") )
52 if ( conf.
exists(
"maxFatjetAbsEta") )
55 if ( conf.
exists(
"subjetMass") )
58 if ( conf.
exists(
"muCut") )
61 if ( conf.
exists(
"filtR") )
64 if ( conf.
exists(
"filtN") )
70 if ( conf.
exists(
"minCandMass") )
73 if ( conf.
exists(
"maxCandMass") )
76 if ( conf.
exists(
"massRatioWidth") )
79 if ( conf.
exists(
"minM23Cut") )
82 if ( conf.
exists(
"minM13Cut") )
85 if ( conf.
exists(
"maxM13Cut") )
94 if ( conf.
exists(
"rejectMinR") )
97 if ( conf.
exists(
"verbose") )
101 produces<HTTTopJetTagInfoCollection>();
106 fjHEPTopTagger_ = std::auto_ptr<fastjet::HEPTopTaggerV2>(
new fastjet::HEPTopTaggerV2(
159 vector<fastjet::PseudoJet> centralJets;
160 for (
unsigned int i = 0;
i < inclusiveJets.size();
i++) {
163 centralJets.push_back(inclusiveJets[
i]);
169 vector<fastjet::PseudoJet>::iterator jetIt = centralJets.begin(), centralJetsEnd = centralJets.end();
171 for ( ; jetIt != centralJetsEnd; ++jetIt ) {
173 if (
verbose_)
cout <<
"CMS FJ jet pt: " << (*jetIt).perp() << endl;
175 fastjet::PseudoJet taggedJet;
177 taggedJet = HEPTagger.result(*jetIt);
192 auto tagInfos = std::make_unique<HTTTopJetTagInfoCollection>();
195 for (
size_t ij=0; ij !=
fjJets_.size(); ij++){
207 fastjet::HEPTopTaggerV2Structure *
s = (fastjet::HEPTopTaggerV2Structure*)
fjJets_[ij].structure_non_const_ptr();
209 properties.
fjMass = s->fj_mass();
210 properties.
fjPt = s->fj_pt();
211 properties.
fjEta = s->fj_eta();
212 properties.
fjPhi = s->fj_phi();
214 properties.
topMass = s->top_mass();
217 properties.
fRec = s->fRec();
220 properties.
ropt = s->ropt();
221 properties.
roptCalc = s->roptCalc();
230 properties.
qWeight = s->qweight();
231 properties.
qEpsilon = s->qepsilon();
232 properties.
qSigmaM = s->qsigmaM();
234 tagInfo.
insert(rtb, properties );
T getParameter(std::string const &) const
std::auto_ptr< fastjet::HEPTopTaggerV2 > fjHEPTopTagger_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
edm::Service< edm::RandomNumberGenerator > rng
std::vector< fastjet::PseudoJet > fjJets_
#define DEFINE_FWK_MODULE(type)
bool exists(std::string const ¶meterName) const
checks if a parameter exists
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
virtual void addHTTTopJetTagInfoCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, edm::OrphanHandle< reco::BasicJetCollection > &oh)
void insert(const edm::RefToBase< Jet > &jet, const HTTTopJetProperties &properties)
std::vector< fastjet::PseudoJet > fjInputs_
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
ClusterSequencePtr fjClusterSeq_
bool fromHTTTopJetProducer_
T perp() const
Magnitude of transverse component.
StreamID streamID() const
AreaDefinitionPtr fjAreaDefinition_
volatile std::atomic< bool > shutdown_flag false
virtual void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup)
boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
JetDefPtr fjJetDefinition_