00001 #ifndef __MultipleAlgoIterator_h_ 00002 #define __MultipleAlgoIterator_h_ 00003 00004 #include "RecoJets/JetProducers/interface/PileUpSubtractor.h" 00005 00006 class MultipleAlgoIterator : public PileUpSubtractor { 00007 public: 00008 MultipleAlgoIterator(const edm::ParameterSet& iConfig) : PileUpSubtractor(iConfig), 00009 sumRecHits_(iConfig.getParameter<bool>("sumRecHits")), 00010 dropZeroTowers_(iConfig.getUntrackedParameter<bool>("dropZeroTowers",true)) 00011 {;} 00012 virtual void offsetCorrectJets(); 00013 void rescaleRMS(double s); 00014 double getEt(const reco::CandidatePtr & in) const; 00015 double getEta(const reco::CandidatePtr & in) const; 00016 virtual void calculatePedestal(std::vector<fastjet::PseudoJet> const & coll); 00017 virtual void subtractPedestal(std::vector<fastjet::PseudoJet> & coll); 00018 00019 bool sumRecHits_; 00020 bool dropZeroTowers_; 00021 ~MultipleAlgoIterator(){;} 00022 00023 }; 00024 00025 00026 #endif