Go to the documentation of this file.00001 #ifndef CxCalculator_h
00002 #define CxCalculator_h
00003
00004 #include "FWCore/Framework/interface/Event.h"
00005 #include "FWCore/Framework/interface/EventSetup.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 #include "FWCore/Utilities/interface/InputTag.h"
00010
00011 #include "DataFormats/EgammaReco/interface/BasicClusterFwd.h"
00012 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00013
00014 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00015 #include "Geometry/Records/interface/IdealGeometryRecord.h"
00016
00017
00018 class CxCalculator
00019 {
00020 public:
00021
00022 CxCalculator(const edm::Event &iEvent, const edm::EventSetup &iSetup, edm::InputTag barrelLabel, edm::InputTag endcapLabel) ;
00023
00024 double getBCMax(const reco::SuperClusterRef clus,int i);
00025 double getCx(const reco::SuperClusterRef clus, double i,double threshold);
00026 double getCxRemoveSC(const reco::SuperClusterRef clus, double i,double threshold);
00027 double getCCx(const reco::SuperClusterRef clus, double i,double threshold);
00028 double getCCxRemoveSC(const reco::SuperClusterRef clus, double i,double threshold);
00029 double getCorrection(const reco::SuperClusterRef clus, double i,double j,double threshold);
00030 double getAvgBCEt(const reco::SuperClusterRef clus, double eta,double phi1, double phi2,double threshold);
00031 double getNBC(const reco::SuperClusterRef clus, double eta,double phi1, double phi2,double threshold);
00032 bool checkUsed(const reco::SuperClusterRef clus, const reco::BasicCluster* clu);
00033
00034 private:
00035
00036 const reco::BasicClusterCollection *fEBclusters_;
00037 const reco::BasicClusterCollection *fEEclusters_;
00038 const CaloGeometry *geometry_;
00039
00040 };
00041
00042 #endif