CMS 3D CMS Logo

RecoTauBinnedIsolationPlugin.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_RecoTauIsolationDiscriminantPluginBase_h
2 #define RecoTauTag_RecoTau_RecoTauIsolationDiscriminantPluginBase_h
3 /*
4  * RecoTauBinnedIsolation plugin
5  *
6  * Abstract base RecoTauDiscriminantPlugin class that computes the bin content
7  * of the isolation object p_T spectra.
8  *
9  * The binning is parameterized by the number of pileup vertices in the event.
10  *
11  * The extraction of the different objects to compute the spectra of is defined
12  * in the derived classes by overriding the pure abstract extractIsoObjects
13  * method.
14  *
15  * Author: Evan K. Friis, Christian Veelken (UC Davis)
16  *
17  */
18 
21 
22 namespace reco { namespace tau {
23 
25  public:
28  void beginEvent() override;
29  std::vector<double> operator()(const reco::PFTauRef& tau) const override;
30  // Pure abstract function to extract objects to isolate with
31  virtual std::vector<reco::PFCandidatePtr> extractIsoObjects(
32  const reco::PFTauRef& tau) const = 0;
33 
34  private:
35  // Map of number of vertices to binning
36  std::map<int, std::vector<double> > binning_;
37  std::vector<double> defaultBinning_;
38  // Where to get PU vertices
39  size_t nVertices_;
41 };
42 
43 }} // end namespace reco::tau
44 #endif
std::vector< double > operator()(const reco::PFTauRef &tau) const override
virtual std::vector< reco::PFCandidatePtr > extractIsoObjects(const reco::PFTauRef &tau) const =0
fixed size matrix