CMS 3D CMS Logo

PFAlgoBase.h
Go to the documentation of this file.
1 #ifndef L1Trigger_Phase2L1ParticleFlow_PFAlgoBase_h
2 #define L1Trigger_Phase2L1ParticleFlow_PFAlgoBase_h
3 
4 #include <algorithm>
5 
8 
9 namespace l1tpf_impl {
10 
11  class PFAlgoBase {
12  public:
14  virtual ~PFAlgoBase();
15  virtual void runPF(Region &r) const = 0;
16 
17  protected:
18  int debug_;
19  void initRegion(Region &r) const;
20  PFParticle &addTrackToPF(Region &r, const PropagatedTrack &tk) const { return addTrackToPF(r.pf, tk); }
21  PFParticle &addCaloToPF(Region &r, const CaloCluster &calo) const { return addCaloToPF(r.pf, calo); }
22  PFParticle &addTrackToPF(std::vector<PFParticle> &pfs, const PropagatedTrack &tk) const;
23  PFParticle &addCaloToPF(std::vector<PFParticle> &pfs, const CaloCluster &calo) const;
24  };
25 
26 } // namespace l1tpf_impl
27 
28 #endif
void initRegion(Region &r) const
Definition: PFAlgoBase.cc:11
PFParticle & addTrackToPF(Region &r, const PropagatedTrack &tk) const
Definition: PFAlgoBase.h:20
virtual void runPF(Region &r) const =0
PFAlgoBase(const edm::ParameterSet &)
Definition: PFAlgoBase.cc:7
PFParticle & addCaloToPF(Region &r, const CaloCluster &calo) const
Definition: PFAlgoBase.h:21
Definition: Common.h:9