CMS 3D CMS Logo

PFIsoDepositAlgo.h
Go to the documentation of this file.
1 #ifndef CommonTools_ParticleFlow_PFIsoDepositAlgo_
2 #define CommonTools_ParticleFlow_PFIsoDepositAlgo_
3 
4 // system include files
5 #include <memory>
6 #include <string>
7 
8 // user include files
11 
13 
14 //not a fwd declaration, to save the pain to the user to include the necessary DF header as well
16 
24 namespace pf2pat {
25 
27  public:
28  // can be a template parameter (IsoDeposits from GenParticles? )
30  typedef std::vector<Particle> ParticleCollection;
31 
32  // random access to the IsoDeposit corresponding to a given particle
33  typedef std::vector<reco::IsoDeposit> IsoDeposits;
34 
35  explicit PFIsoDepositAlgo(const edm::ParameterSet&);
36 
38 
43  const IsoDeposits& produce(const ParticleCollection& toBeIsolated, const ParticleCollection& forIsolation);
44 
45  private:
47  reco::IsoDeposit buildIsoDeposit(const Particle& particle, const ParticleCollection& forIsolation) const;
48 
50  bool sameParticle(const Particle& particle1, const Particle& particle2) const;
51 
54 
55  bool verbose_;
56  };
57 } // namespace pf2pat
58 
59 #endif
std::vector< Particle > ParticleCollection
reco::PFCandidate Particle
IsoDeposits isoDeposits_
IsoDeposits computed in the produce function.
std::vector< reco::IsoDeposit > IsoDeposits
bool sameParticle(const Particle &particle1, const Particle &particle2) const
checks if the 2 particles are in fact the same
const IsoDeposits & produce(const ParticleCollection &toBeIsolated, const ParticleCollection &forIsolation)
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
PFIsoDepositAlgo(const edm::ParameterSet &)
reco::IsoDeposit buildIsoDeposit(const Particle &particle, const ParticleCollection &forIsolation) const
build the IsoDeposit for "particle"