Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:53

0001 #ifndef EgammaIsolationProducers_EcalPFClusterIsolation_h
0002 #define EgammaIsolationProducers_EcalPFClusterIsolation_h
0003 
0004 //*****************************************************************************
0005 // File:      PFClusterEcalIsolation.h
0006 // ----------------------------------------------------------------------------
0007 // OrigAuth:  Matteo Sani
0008 // Institute: UCSD
0009 //*****************************************************************************
0010 
0011 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
0012 #include "DataFormats/ParticleFlowReco/interface/PFClusterFwd.h"
0013 
0014 #include <vector>
0015 
0016 template <typename T1>
0017 class EcalPFClusterIsolation {
0018 public:
0019   typedef std::vector<T1> T1Collection;
0020   typedef edm::Ref<T1Collection> T1Ref;
0021 
0022   EcalPFClusterIsolation(double drMax,
0023                          double drVetoBarrel,
0024                          double drVetoEndcap,
0025                          double etaStripBarrel,
0026                          double etaStripEndcap,
0027                          double energyBarrel,
0028                          double energyEndcap);
0029 
0030   ~EcalPFClusterIsolation();
0031   double getSum(T1, edm::Handle<std::vector<reco::PFCluster> >);
0032   double getSum(T1Ref, edm::Handle<std::vector<reco::PFCluster> >);
0033 
0034 private:
0035   bool computedRVeto(T1Ref candRef, reco::PFClusterRef pfclu);
0036   bool computedRVeto(T1 cand, reco::PFClusterRef pfclu);
0037 
0038   double drVeto2_;
0039   const double drMax_;
0040   const double drVetoBarrel_;
0041   const double drVetoEndcap_;
0042   const double etaStripBarrel_;
0043   const double etaStripEndcap_;
0044   const double energyBarrel_;
0045   const double energyEndcap_;
0046 };
0047 
0048 #endif