File indexing completed on 2024-09-07 04:36:55
0001 #ifndef __L1Trigger_L1THGCal_HGCalTriggerClusterIdentificationBase_h__
0002 #define __L1Trigger_L1THGCal_HGCalTriggerClusterIdentificationBase_h__
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "DataFormats/L1THGCal/interface/HGCalMulticluster.h"
0006
0007 class HGCalTriggerClusterIdentificationBase {
0008 public:
0009 HGCalTriggerClusterIdentificationBase() {}
0010 virtual ~HGCalTriggerClusterIdentificationBase() {}
0011 virtual void initialize(const edm::ParameterSet& conf) = 0;
0012 virtual float value(const l1t::HGCalMulticluster& cluster) const = 0;
0013 virtual bool decision(const l1t::HGCalMulticluster& cluster, unsigned wp = 0) const = 0;
0014 virtual const std::vector<std::string>& working_points() const = 0;
0015 };
0016
0017 #include "FWCore/PluginManager/interface/PluginFactory.h"
0018 typedef edmplugin::PluginFactory<HGCalTriggerClusterIdentificationBase*()> HGCalTriggerClusterIdentificationFactory;
0019
0020 #define DEFINE_HGC_TPG_CLUSTER_ID(type, name) DEFINE_EDM_PLUGIN(HGCalTriggerClusterIdentificationFactory, type, name)
0021
0022 #endif