1 #ifndef RecoJets_JetProducers_plugins_VirtualJetProducer_h
2 #define RecoJets_JetProducers_plugins_VirtualJetProducer_h
20 #include "fastjet/JetDefinition.hh"
21 #include "fastjet/ClusterSequence.hh"
22 #include "fastjet/ClusterSequenceArea.hh"
23 #include "fastjet/PseudoJet.hh"
24 #include "fastjet/GhostedAreaSpec.hh"
28 #include <boost/shared_ptr.hpp>
47 static const char *
const names[];
54 return fTag == JetType::CaloJet;
57 return fTag == JetType::PFJet;
60 return fTag == JetType::GenJet;
63 return fTag == JetType::TrackJet;
66 return fTag == JetType::PFClusterJet;
69 return fTag == JetType::BasicJet;
82 typedef boost::shared_ptr<fastjet::JetDefinition::Plugin>
PluginPtr;
83 typedef boost::shared_ptr<fastjet::JetDefinition>
JetDefPtr;
86 typedef boost::shared_ptr<fastjet::RangeDefinition>
RangeDefPtr;
109 virtual void inputTowers();
115 virtual void copyConstituents(
const std::vector<fastjet::PseudoJet>&fjConstituents,
124 void offsetCorrectJets(std::vector<fastjet::PseudoJet> & orphanInput);
135 template<
typename T >
138 template<
typename T>
144 virtual std::vector<reco::CandidatePtr>
145 getConstituents(
const std::vector<fastjet::PseudoJet>&fjConstituents);
180 std::vector<edm::Ptr<reco::Candidate> >
inputs_;
boost::shared_ptr< fastjet::AreaDefinition > AreaDefinitionPtr
std::string jetType() const
reco::Particle::Point vertex_
static const HistoName names[]
edm::EDGetTokenT< reco::CandidateView > input_candidateview_token_
std::vector< fastjet::PseudoJet > fjJets_
virtual void produce(Event &, EventSetup const &)=0
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)
static std::string const input
boost::shared_ptr< fastjet::RangeDefinition > RangeDefPtr
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_
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< reco::VertexCollection > input_vertex_token_
edm::EDGetTokenT< std::vector< edm::FwdPtr< reco::PFCandidate > > > input_candidatefwdptr_token_
boost::shared_ptr< fastjet::GhostedAreaSpec > ActiveAreaSpecPtr
AreaDefinitionPtr fjAreaDefinition_
bool makeCaloJet(const JetType::Type &fTag)
bool doFastJetNonUniform_
boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
JetDefPtr fjJetDefinition_