![]() |
![]() |
00001 #ifndef __ParametrizedSubtractor_h_ 00002 #define __ParametrizedSubtractor_h_ 00003 00004 #include <vector> 00005 00006 #include "RecoJets/JetProducers/interface/PileUpSubtractor.h" 00007 #include "DataFormats/HeavyIonEvent/interface/Centrality.h" 00008 #include "FWCore/Utilities/interface/InputTag.h" 00009 #include "TH1D.h" 00010 00011 #include "TF1.h" 00012 00013 class ParametrizedSubtractor : public PileUpSubtractor { 00014 public: 00015 ParametrizedSubtractor(const edm::ParameterSet& iConfig); 00016 virtual void setupGeometryMap(edm::Event& iEvent,const edm::EventSetup& iSetup); 00017 virtual void calculatePedestal( std::vector<fastjet::PseudoJet> const & coll ); 00018 virtual void subtractPedestal(std::vector<fastjet::PseudoJet> & coll); 00019 virtual void calculateOrphanInput(std::vector<fastjet::PseudoJet> & orphanInput); 00020 virtual void offsetCorrectJets(); 00021 virtual double getMeanAtTower(const reco::CandidatePtr & in) const; 00022 virtual double getSigmaAtTower(const reco::CandidatePtr & in) const; 00023 virtual double getPileUpAtTower(const reco::CandidatePtr & in) const; 00024 double getEt(const reco::CandidatePtr & in) const; 00025 double getEta(const reco::CandidatePtr & in) const; 00026 00027 void rescaleRMS(double s); 00028 double getPU(int ieta, bool addMean, bool addSigma) const; 00029 ~ParametrizedSubtractor(){;} 00030 00031 bool sumRecHits_; 00032 bool interpolate_; 00033 bool dropZeroTowers_; 00034 int bin_; 00035 double centrality_; 00036 const CentralityBins * cbins_; 00037 edm::InputTag centTag_; 00038 std::vector<TH1D*> hEta; 00039 std::vector<TH1D*> hEtaMean; 00040 std::vector<TH1D*> hEtaRMS; 00041 00042 TF1* fPU; 00043 TF1* fMean; 00044 TF1* fRMS; 00045 TH1D* hC; 00046 }; 00047 00048 #endif