test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RecoTauIsolationMasking.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_RecoTauIsolationMasking_h
2 #define RecoTauTag_RecoTau_RecoTauIsolationMasking_h
3 
4 /*
5  * Mask isolation quantities in PFTau objects
6  *
7  * The masking is one by collecting HCAL and ECAL PF objects in cones about the
8  * charged hadrons associated to the tau. The HCAL and ECAL objects are then
9  * eaten, (HCAL first, ordered by DR from track), until the total associated
10  * calo energy is within maxSigmas standard deviations of the track energy.
11  *
12  * Authors: Evan K. Friis, Christian Veelken (UC Davis)
13  *
14  */
15 
18 
19 // foward declaration
20 class PFEnergyResolution;
21 
22 namespace reco { namespace tau {
23 
25  public:
26  // Structure containing new, maksed isolation collections
27  struct IsoMaskResult {
28  std::list<reco::PFCandidatePtr> gammas;
29  std::list<reco::PFCandidatePtr> h0s;
30  };
34  IsoMaskResult mask(const reco::PFTau&) const;
35 
36  void setMaxSigmas(double maxSigmas) {maxSigmas_ = maxSigmas;}
37  private:
38  // Get the energy resoltuion of a gamma or h0 candidate
39  double resolution(const reco::PFCandidate& cand) const;
40  // Check if the candidate is in the correct cone
41  bool inCone(const reco::PFCandidate& track,
42  const reco::PFCandidate& cand) const;
43 
44  double ecalCone_;
45  double hcalCone_;
46  double maxSigmas_;
48  std::auto_ptr<PFEnergyResolution> resolutions_;
49 };
50 
51 }}
52 #endif
double resolution(const reco::PFCandidate &cand) const
std::auto_ptr< PFEnergyResolution > resolutions_
RecoTauIsolationMasking(const edm::ParameterSet &pset)
bool inCone(const reco::PFCandidate &track, const reco::PFCandidate &cand) const
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:38
IsoMaskResult mask(const reco::PFTau &) const
Return a new isolation collections with masking applied.