CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/RecoHI/HiEgammaAlgos/interface/CxCalculator.h

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 getJurassicArea( double r1, double r2, double width) ;
00025    double getBCMax(const reco::SuperClusterRef clus,int i);
00026    double getCx(const reco::SuperClusterRef clus, double i,double threshold);
00027    double getCxRemoveSC(const reco::SuperClusterRef clus, double i,double threshold);
00028    double getCCx(const reco::SuperClusterRef clus, double i,double threshold); // background subtracted Cx
00029    double getJc (const reco::SuperClusterRef cluster, double r1=0.4, double r2=0.06, double jWidth=0.04, double threshold=0);
00030    double getJcc(const reco::SuperClusterRef cluster, double r1=0.4, double r2=0.06, double jWidth=0.04, double threshold=0);
00031    double getCCxRemoveSC(const reco::SuperClusterRef clus, double i,double threshold); // background subtracted Cx
00032    double getCorrection(const reco::SuperClusterRef clus, double i,double j,double threshold); // background subtracted Cx
00033    double getAvgBCEt(const reco::SuperClusterRef clus, double eta,double phi1, double phi2,double threshold); // background subtracted Cx
00034    double getNBC(const reco::SuperClusterRef clus, double eta,double phi1, double phi2,double threshold); // background subtracted Cx
00035    bool checkUsed(const reco::SuperClusterRef clus, const reco::BasicCluster* clu);
00036 
00037   private:
00038    
00039    const reco::BasicClusterCollection *fEBclusters_;
00040    const reco::BasicClusterCollection *fEEclusters_;
00041    const CaloGeometry                 *geometry_;
00042    
00043 };
00044 
00045 #endif