1 #ifndef RecoJets_JetProducers_plugins_VirtualJetProducer_h 2 #define RecoJets_JetProducers_plugins_VirtualJetProducer_h 25 #include "fastjet/JetDefinition.hh" 26 #include "fastjet/ClusterSequence.hh" 27 #include "fastjet/ClusterSequenceArea.hh" 28 #include "fastjet/PseudoJet.hh" 29 #include "fastjet/GhostedAreaSpec.hh" 30 #include "fastjet/Selector.hh" 34 #include <boost/shared_ptr.hpp> 53 static const char *
const names[];
63 return fTag == JetType::PFJet;
69 return fTag == JetType::TrackJet;
72 return fTag == JetType::PFClusterJet;
75 return fTag == JetType::BasicJet;
90 typedef boost::shared_ptr<fastjet::JetDefinition::Plugin>
PluginPtr;
91 typedef boost::shared_ptr<fastjet::JetDefinition>
JetDefPtr;
117 virtual void inputTowers();
123 virtual void copyConstituents(
const std::vector<fastjet::PseudoJet>&fjConstituents,
137 void offsetCorrectJets(std::vector<fastjet::PseudoJet> & orphanInput);
148 template<
typename T >
151 template<
typename T>
154 template<
typename T>
159 virtual std::vector<reco::CandidatePtr>
160 getConstituents(
const std::vector<fastjet::PseudoJet>&fjConstituents);
199 std::vector<edm::Ptr<reco::Candidate> >
inputs_;
224 bool fromHTTTopJetProducer_ =
false;
boost::shared_ptr< fastjet::AreaDefinition > AreaDefinitionPtr
std::string jetType() const
reco::Particle::Point vertex_
virtual void addHTTTopJetTagInfoCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, edm::OrphanHandle< reco::BasicJetCollection > &oh)
edm::EDGetTokenT< reco::CandidateView > input_candidateview_token_
std::vector< fastjet::PseudoJet > fjJets_
edm::EDGetTokenT< std::vector< edm::FwdPtr< pat::PackedCandidate > > > input_packedcandidatefwdptr_token_
Base class for all types of Jets.
boost::shared_ptr< fastjet::JetDefinition::Plugin > PluginPtr
std::string puSubtractorName_
std::vector< double > puCenters_
bool makeGenJet(const JetType::Type &fTag)
bool makeBasicJet(const JetType::Type &fTag)
const std::string names[nVars_]
static std::string const input
bool makeTrackJet(const JetType::Type &fTag)
bool makePFJet(const JetType::Type &fTag)
std::vector< fastjet::PseudoJet > fjInputs_
std::string jetCollInstanceName_
boost::shared_ptr< PileUpSubtractor > subtractor_
std::vector< edm::Ptr< reco::Candidate > > inputs_
ClusterSequencePtr fjClusterSeq_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
math::XYZPoint Point
point in the space
std::string jetAlgorithm_
boost::shared_ptr< fastjet::JetDefinition > JetDefPtr
bool useDeterministicSeed_
std::auto_ptr< AnomalousTower > anomalousTowerDef_
ActiveAreaSpecPtr fjActiveArea_
bool makePFClusterJet(const JetType::Type &fTag)
edm::EDGetTokenT< std::vector< edm::FwdPtr< pat::PackedGenParticle > > > input_packedgencandidatefwdptr_token_
edm::EDGetTokenT< reco::VertexCollection > input_vertex_token_
edm::EDGetTokenT< std::vector< edm::FwdPtr< reco::GenParticle > > > input_gencandidatefwdptr_token_
edm::EDGetTokenT< std::vector< edm::FwdPtr< reco::PFCandidate > > > input_candidatefwdptr_token_
boost::shared_ptr< fastjet::GhostedAreaSpec > ActiveAreaSpecPtr
boost::shared_ptr< fastjet::Selector > SelectorPtr
AreaDefinitionPtr fjAreaDefinition_
bool makeCaloJet(const JetType::Type &fTag)
bool doFastJetNonUniform_
boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
JetDefPtr fjJetDefinition_