CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/RecoHI/HiJetAlgos/interface/ParametrizedSubtractor.h

Go to the documentation of this file.
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