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 
8 #ifndef PFBlockBasedIsolation_H
9 #define PFBlockBasedIsolation_H
10 
11 
22 
27 
28 
31 
32 namespace reco{
33  class PFBlockElementCluster;
34 }
35 
37  public:
39 
40 
42 
43 
44 
45  void setup(const edm::ParameterSet& conf);
46 
47 
48 
49  public:
50 
51 
52 
53  std::vector<reco::PFCandidateRef> calculate(math::XYZTLorentzVectorD p4,
54  const reco::PFCandidateRef pfEGCand,
55  const edm::Handle<reco::PFCandidateCollection> pfCandidateHandle);
56 
57 
58 private:
59  const reco::PFBlockElementCluster* getHighestEtECALCluster(const reco::PFCandidate& pfCand);
60  bool passesCleaningPhoton(const reco::PFCandidateRef& pfCand,const reco::PFCandidateRef& pfEGCand);
61  bool passesCleaningNeutralHadron(const reco::PFCandidateRef& pfCand,const reco::PFCandidateRef& pfEGCand);
62 
63  bool passesCleaningChargedHadron(const reco::PFCandidateRef& pfCand,const reco::PFCandidateRef& pfEGCand);
64  bool elementPassesCleaning(const reco::PFCandidateRef& pfCand,const reco::PFCandidateRef& pfEGCand);
65 
66  private:
67 
68  double coneSize_;
69 
70 
71 };
72 
73 #endif
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
double p4[4]
Definition: TauolaWrapper.h:92
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:39
fixed size matrix