CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IsoDepositVetos.h
Go to the documentation of this file.
1 #ifndef DataFormats_MuonReco_IsoDepositVetos_h
2 #define DataFormats_MuonReco_IsoDepositVetos_h
3 
6 
7 namespace reco {
8  namespace isodeposit {
9  class ConeVeto : public AbsVeto {
10  public:
11  ConeVeto(Direction dir, double dr) : vetoDir_(dir), dR2_(dr*dr) {}
12  ConeVeto(const reco::IsoDeposit::Veto &veto) : vetoDir_(veto.vetoDir), dR2_(veto.dR*veto.dR) {}
13  virtual bool veto(double eta, double phi, float value) const ;
14  virtual void centerOn(double eta, double phi) ;
15  private:
17  };
18 
19  class ThresholdVeto : public AbsVeto {
20  public:
21  ThresholdVeto(double threshold) : threshold_(threshold) {}
22  virtual bool veto(double eta, double phi, float value) const ;
23  virtual void centerOn(double eta, double phi) ;
24  private:
25  float threshold_;
26  };
27 
29  public:
31  virtual bool veto(double eta, double phi, float value) const ;
32  virtual void centerOn(double eta, double phi) ;
33  private:
34  float threshold_;
35  };
36 
37  class AbsThresholdVeto : public AbsVeto {
38  public:
39  AbsThresholdVeto(double threshold) : threshold_(threshold) {}
40  virtual bool veto(double eta, double phi, float value) const ;
41  virtual void centerOn(double eta, double phi) ;
42  private:
43  float threshold_;
44  };
45 
47  public:
49  virtual bool veto(double eta, double phi, float value) const ;
50  virtual void centerOn(double eta, double phi) ;
51  private:
52  float threshold_;
53  };
54 
55  class ConeThresholdVeto : public AbsVeto {
56  public:
57  ConeThresholdVeto(Direction dir, double dr, double threshold) : vetoDir_(dir), dR2_(dr*dr), threshold_(threshold) {}
58  virtual bool veto(double eta, double phi, float value) const ;
59  virtual void centerOn(double eta, double phi) ;
60  private:
62  };
63 
64  class AngleConeVeto : public AbsVeto {
65  public:
66  AngleConeVeto(const math::XYZVectorD& dir, double angle) ;
67  AngleConeVeto(Direction dir, double angle) ;
68  virtual bool veto(double eta, double phi, float value) const ;
69  virtual void centerOn(double eta, double phi) ;
70  private:
72  };
73 
74  class AngleCone : public AbsVeto {
75  public:
76  AngleCone(const math::XYZVectorD& dir, double angle) ;
77  AngleCone(Direction dir, double angle) ;
78  virtual bool veto(double eta, double phi, float value) const ;
79  virtual void centerOn(double eta, double phi) ;
80  private:
82  };
83 
84  class RectangularEtaPhiVeto : public AbsVeto {
85  public:
86  RectangularEtaPhiVeto(const math::XYZVectorD& dir, double etaMin, double etaMax, double phiMin, double phiMax) ;
87  RectangularEtaPhiVeto(Direction dir, double etaMin, double etaMax, double phiMin, double phiMax) ;
88  virtual bool veto(double eta, double phi, float value) const ;
89  virtual void centerOn(double eta, double phi) ;
90  private:
93  };
94 
95  }
96 }
97 #endif
virtual bool veto(double eta, double phi, float value) const
Return "true" if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
virtual void centerOn(double eta, double phi)
virtual void centerOn(double eta, double phi)
virtual void centerOn(double eta, double phi)
virtual bool veto(double eta, double phi, float value) const
Return "true" if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
ConeVeto(const reco::IsoDeposit::Veto &veto)
virtual bool veto(double eta, double phi, float value) const
Return "true" if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
AngleCone(const math::XYZVectorD &dir, double angle)
virtual void centerOn(double eta, double phi)
virtual void centerOn(double eta, double phi)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Definition: Vector3D.h:8
virtual void centerOn(double eta, double phi)
virtual bool veto(double eta, double phi, float value) const
Return &quot;true&quot; if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
virtual bool veto(double eta, double phi, float value) const
Return &quot;true&quot; if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
ConeVeto(Direction dir, double dr)
ConeThresholdVeto(Direction dir, double dr, double threshold)
AngleConeVeto(const math::XYZVectorD &dir, double angle)
virtual bool veto(double eta, double phi, float value) const
Return &quot;true&quot; if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
virtual void centerOn(double eta, double phi)
Geom::Phi< T > phi() const
RectangularEtaPhiVeto(const math::XYZVectorD &dir, double etaMin, double etaMax, double phiMin, double phiMax)
virtual bool veto(double eta, double phi, float value) const
Return &quot;true&quot; if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
virtual void centerOn(double eta, double phi)
dbl *** dir
Definition: mlp_gen.cc:35
virtual void centerOn(double eta, double phi)
virtual bool veto(double eta, double phi, float value) const
Return &quot;true&quot; if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
virtual bool veto(double eta, double phi, float value) const
Return &quot;true&quot; if a deposit at specific (eta,phi) with that value must be vetoed in the sum...
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11