Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:26

0001 #ifndef RecoEcal_EgammaCoreTools_EcalClusterFunctionBaseClass_hh
0002 #define RecoEcal_EgammaCoreTools_EcalClusterFunctionBaseClass_hh
0003 
0004 /** \class EcalClusterFunction
0005   *  Base class for all functions needed to e.g.
0006   *  correct cracks/gap, estimate cluster energy error etc.
0007   *
0008   *  $Id: EcalClusterFunction.h
0009   *  $Date: 
0010   *  $Revision: 
0011   *  \author Federico Ferri, CEA Saclay, November 2008
0012   */
0013 
0014 //#include "FWCore/Framework/interface/ESHandle.h"
0015 //#include "FWCore/Framework/interface/EventSetup.h"
0016 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
0017 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
0018 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0019 
0020 namespace edm {
0021   class Event;
0022   class EventSetup;
0023   class ParameterSet;
0024   class ConsumesCollector;
0025 }  // namespace edm
0026 
0027 class EcalClusterFunctionBaseClass {
0028 public:
0029   virtual ~EcalClusterFunctionBaseClass() {}
0030   virtual void init(const edm::EventSetup &es) = 0;
0031   virtual float getValue(const reco::BasicCluster &, const EcalRecHitCollection &) const = 0;
0032   virtual float getValue(const reco::SuperCluster &, const int mode) const = 0;
0033   //this one is needed for EcalClusterCrackCorrection:
0034   virtual float getValue(const reco::CaloCluster &) const { return 0; };
0035 };
0036 
0037 #endif