1 #ifndef __PUSubtractor__
2 #define __PUSubtractor__
6 #include "fastjet/PseudoJet.hh"
7 #include "fastjet/ClusterSequence.hh"
8 #include "fastjet/ClusterSequenceArea.hh"
9 #include "fastjet/GhostedAreaSpec.hh"
29 typedef std::shared_ptr<fastjet::RangeDefinition>
RangeDefPtr;
30 typedef std::shared_ptr<fastjet::JetDefinition>
JetDefPtr;
37 std::vector<fastjet::PseudoJet>&
towers,
38 std::vector<fastjet::PseudoJet>&
output);
48 virtual double getCone(
double cone,
double eta,
double phi,
double& et,
double& pu);
59 std::vector<edm::Ptr<reco::Candidate> >*
inputs_;
95 class ConsumesCollector;
std::shared_ptr< fastjet::JetDefinition > JetDefPtr
virtual void calculateOrphanInput(std::vector< fastjet::PseudoJet > &orphanInput)
std::vector< double > jetOffset_
std::map< int, double > esigma_
virtual double getMeanAtTower(const reco::CandidatePtr &in) const
int getNwithJets(const reco::CandidatePtr &in) const
std::vector< fastjet::PseudoJet > * fjJets_
std::vector< fastjet::PseudoJet > fjOriginalInputs_
virtual double getPileUpEnergy(int ijet) const
virtual double getPileUpAtTower(const reco::CandidatePtr &in) const
edmplugin::PluginFactory< PileUpSubtractor *(const edm::ParameterSet &, edm::ConsumesCollector &&)> PileUpSubtractorFactory
static std::string const input
int ieta(const reco::CandidatePtr &in) const
std::map< int, int > geomtowers_
virtual void offsetCorrectJets()
std::vector< fastjet::PseudoJet > * fjInputs_
std::map< int, double > emean_
std::map< int, int > ntowersWithJets_
std::shared_ptr< fastjet::RangeDefinition > RangeDefPtr
virtual void subtractPedestal(std::vector< fastjet::PseudoJet > &coll)
int iphi(const reco::CandidatePtr &in) const
ActiveAreaSpecPtr fjActiveArea_
virtual double getSigmaAtTower(const reco::CandidatePtr &in) const
ClusterSequencePtr fjClusterSeq_
virtual void setDefinition(JetDefPtr const &jetDef)
std::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
std::shared_ptr< fastjet::GhostedAreaSpec > ActiveAreaSpecPtr
CaloGeometry const * geo_
PileUpSubtractor(const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
virtual void calculatePedestal(std::vector< fastjet::PseudoJet > const &coll)
virtual void setupGeometryMap(edm::Event &iEvent, const edm::EventSetup &iSetup)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geoToken_
virtual double getCone(double cone, double eta, double phi, double &et, double &pu)
virtual void reset(std::vector< edm::Ptr< reco::Candidate > > &input, std::vector< fastjet::PseudoJet > &towers, std::vector< fastjet::PseudoJet > &output)
std::shared_ptr< fastjet::JetDefinition > JetDefPtr
std::vector< HcalDetId > allgeomid_
JetDefPtr fjJetDefinition_
std::vector< edm::Ptr< reco::Candidate > > * inputs_
int getN(const reco::CandidatePtr &in) const
virtual ~PileUpSubtractor()