File indexing completed on 2024-04-06 12:24:53
0001 #ifndef EgammaIsolationProducers_EcalPFClusterIsolation_h
0002 #define EgammaIsolationProducers_EcalPFClusterIsolation_h
0003
0004
0005
0006
0007
0008
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