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 
29  // can be a template parameter (IsoDeposits from GenParticles? )
31  typedef std::vector< Particle > ParticleCollection;
32 
33  // random access to the IsoDeposit corresponding to a given particle
34  typedef std::vector< reco::IsoDeposit > IsoDeposits;
35 
36  explicit PFIsoDepositAlgo(const edm::ParameterSet&);
37 
39 
44  const IsoDeposits& produce(const ParticleCollection& toBeIsolated,
45  const ParticleCollection& forIsolation );
46 
47  private:
48 
50  reco::IsoDeposit buildIsoDeposit( const Particle& particle,
51  const ParticleCollection& forIsolation ) const;
52 
54  bool sameParticle( const Particle& particle1,
55  const Particle& particle2 ) const;
56 
57 
59  IsoDeposits isoDeposits_;
60 
61  bool verbose_;
62  };
63 }
64 
65 #endif
reco::PFCandidate Particle
std::vector< Particle > ParticleCollection
IsoDeposits isoDeposits_
IsoDeposits computed in the produce function.
reco::IsoDeposit buildIsoDeposit(const Particle &particle, const ParticleCollection &forIsolation) const
build the IsoDeposit for "particle"
const IsoDeposits & produce(const ParticleCollection &toBeIsolated, const ParticleCollection &forIsolation)
bool sameParticle(const Particle &particle1, const Particle &particle2) const
checks if the 2 particles are in fact the same
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:39
PFIsoDepositAlgo(const edm::ParameterSet &)
std::vector< reco::IsoDeposit > IsoDeposits