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
l1tpf_impl::PropagatedTrack
Definition: DiscretePFInputs.h:119
l1tpf_impl
Definition: BitwisePFAlgo.h:8
l1tpf_impl::PFAlgoBase::addCaloToPF
PFParticle & addCaloToPF(Region &r, const CaloCluster &calo) const
Definition: PFAlgoBase.h:21
l1tpf_impl::PFParticle
Definition: DiscretePFInputs.h:184
l1tpf_impl::PFAlgoBase::PFAlgoBase
PFAlgoBase(const edm::ParameterSet &)
Definition: PFAlgoBase.cc:7
l1tpf_impl::PFAlgoBase::~PFAlgoBase
virtual ~PFAlgoBase()
Definition: PFAlgoBase.cc:9
l1tpf_impl::PFAlgoBase::runPF
virtual void runPF(Region &r) const =0
Region.h
l1tpf_impl::Region
Definition: Region.h:8
edm::ParameterSet
Definition: ParameterSet.h:47
l1tpf_impl::PFAlgoBase::initRegion
void initRegion(Region &r) const
Definition: PFAlgoBase.cc:11
l1tpf_impl::PFAlgoBase::addTrackToPF
PFParticle & addTrackToPF(Region &r, const PropagatedTrack &tk) const
Definition: PFAlgoBase.h:20
l1tpf_impl::PFAlgoBase
Definition: PFAlgoBase.h:11
alignCSCRings.r
r
Definition: alignCSCRings.py:93
l1tpf_impl::CaloCluster
Definition: DiscretePFInputs.h:25
l1tpf_impl::PFAlgoBase::debug_
int debug_
Definition: PFAlgoBase.h:18
ParameterSet.h
calo
Definition: Common.h:9