CMS 3D CMS Logo

PUAlgoBase.h
Go to the documentation of this file.
1 #ifndef L1Trigger_Phase2L1ParticleFlow_PUAlgoBase_h
2 #define L1Trigger_Phase2L1ParticleFlow_PUAlgoBase_h
3 
6 
7 namespace l1tpf_impl {
8 
9  class PUAlgoBase {
10  public:
12  virtual ~PUAlgoBase();
13 
15  enum class VertexAlgo { Old, TP, External };
16  virtual void doVertexing(std::vector<Region> &rs,
18  float &vz) const; // region is not const since it sets the fromPV bit of the tracks
19 
20  virtual void runChargedPV(Region &r, float z0) const;
21 
22  virtual const std::vector<std::string> &puGlobalNames() const;
23  virtual void doPUGlobals(const std::vector<Region> &rs, float npu, std::vector<float> &globals) const = 0;
24  virtual void runNeutralsPU(Region &r, float npu, const std::vector<float> &globals) const = 0;
25 
26  protected:
27  int debug_;
30  };
31 
32 } // namespace l1tpf_impl
33 
34 #endif
virtual void runChargedPV(Region &r, float z0) const
Definition: PUAlgoBase.cc:15
PUAlgoBase(const edm::ParameterSet &)
Definition: PUAlgoBase.cc:7
virtual void runNeutralsPU(Region &r, float npu, const std::vector< float > &globals) const =0
virtual void doPUGlobals(const std::vector< Region > &rs, float npu, std::vector< float > &globals) const =0
virtual void doVertexing(std::vector< Region > &rs, VertexAlgo algo, float &vz) const
Definition: PUAlgoBase.cc:28
VertexAlgo
global operations
Definition: PUAlgoBase.h:15
virtual const std::vector< std::string > & puGlobalNames() const
Definition: PUAlgoBase.cc:78