Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:18

0001 #ifndef __ParametrizedSubtractor_h_
0002 #define __ParametrizedSubtractor_h_
0003 
0004 #include <vector>
0005 
0006 #include "RecoJets/JetProducers/interface/PileUpSubtractor.h"
0007 #include "DataFormats/HeavyIonEvent/interface/Centrality.h"
0008 #include "TH1D.h"
0009 
0010 #include "TF1.h"
0011 
0012 class CentralityBins;
0013 
0014 class ParametrizedSubtractor : public PileUpSubtractor {
0015 public:
0016   ParametrizedSubtractor(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC);
0017   void setupGeometryMap(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0018   void calculatePedestal(std::vector<fastjet::PseudoJet> const& coll) override;
0019   void subtractPedestal(std::vector<fastjet::PseudoJet>& coll) override;
0020   void calculateOrphanInput(std::vector<fastjet::PseudoJet>& orphanInput) override;
0021   void offsetCorrectJets() override;
0022   double getMeanAtTower(const reco::CandidatePtr& in) const override;
0023   double getSigmaAtTower(const reco::CandidatePtr& in) const override;
0024   double getPileUpAtTower(const reco::CandidatePtr& in) const override;
0025   double getEt(const reco::CandidatePtr& in) const;
0026   double getEta(const reco::CandidatePtr& in) const;
0027 
0028   void rescaleRMS(double s);
0029   double getPU(int ieta, bool addMean, bool addSigma) const;
0030   ~ParametrizedSubtractor() override { ; }
0031 
0032   bool sumRecHits_;
0033   bool interpolate_;
0034   bool dropZeroTowers_;
0035   int bin_;
0036   double centrality_;
0037   const CentralityBins* cbins_;
0038   edm::EDGetTokenT<reco::Centrality> centTag_;
0039   std::vector<TH1D*> hEta;
0040   std::vector<TH1D*> hEtaMean;
0041   std::vector<TH1D*> hEtaRMS;
0042 
0043   TF1* fPU;
0044   TF1* fMean;
0045   TF1* fRMS;
0046   TH1D* hC;
0047 };
0048 
0049 #endif