CMS 3D CMS Logo

PFBlockBasedIsolation.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------------------------------
2 //
3 // PfBlockBasedIsolationCalculator.cc
4 // Authors: N. Marinelli Univ. of Notre Dame
5 //--------------------------------------------------------------------------------------------------
6 
7 #ifndef PFBlockBasedIsolation_H
8 #define PFBlockBasedIsolation_H
9 
20 
25 
28 
29 namespace reco {
30  class PFBlockElementCluster;
31 }
32 
34 public:
36 
38 
39  void setup(const edm::ParameterSet& conf);
40 
41 public:
42  std::vector<reco::PFCandidateRef> calculate(math::XYZTLorentzVectorD p4,
43  const reco::PFCandidateRef pfEGCand,
44  const edm::Handle<reco::PFCandidateCollection> pfCandidateHandle);
45 
46 private:
47  const reco::PFBlockElementCluster* getHighestEtECALCluster(const reco::PFCandidate& pfCand);
48  bool passesCleaningPhoton(const reco::PFCandidateRef& pfCand, const reco::PFCandidateRef& pfEGCand);
49  bool passesCleaningNeutralHadron(const reco::PFCandidateRef& pfCand, const reco::PFCandidateRef& pfEGCand);
50 
51  bool passesCleaningChargedHadron(const reco::PFCandidateRef& pfCand, const reco::PFCandidateRef& pfEGCand);
52  bool elementPassesCleaning(const reco::PFCandidateRef& pfCand, const reco::PFCandidateRef& pfEGCand);
53 
54 private:
55  double coneSize_;
56 };
57 
58 #endif
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
double p4[4]
Definition: TauolaWrapper.h:92
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
fixed size matrix