CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
reco::isodeposit::AngleConeVeto Class Reference

#include <IsoDepositVetos.h>

Inheritance diagram for reco::isodeposit::AngleConeVeto:
reco::isodeposit::AbsVeto

Public Member Functions

 AngleConeVeto (const math::XYZVectorD &dir, double angle)
 
 AngleConeVeto (Direction dir, double angle)
 
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. More...
 
- Public Member Functions inherited from reco::isodeposit::AbsVeto
virtual ~AbsVeto ()
 

Private Attributes

float cosTheta_
 
math::XYZVectorD vetoDir_
 

Detailed Description

Definition at line 64 of file IsoDepositVetos.h.

Constructor & Destructor Documentation

AngleConeVeto::AngleConeVeto ( const math::XYZVectorD dir,
double  angle 
)

Definition at line 54 of file IsoDepositVetos.cc.

54  : vetoDir_(dir.Unit()), cosTheta_(cos(angle)) {
55 }
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
dbl *** dir
Definition: mlp_gen.cc:35
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
AngleConeVeto::AngleConeVeto ( Direction  dir,
double  angle 
)

Definition at line 56 of file IsoDepositVetos.cc.

References reco::isodeposit::Direction::eta(), reco::isodeposit::Direction::phi(), and vetoDir_.

56  : vetoDir_(0,0,1), cosTheta_(cos(angle)) {
57  vetoDir_ = math::RhoEtaPhiVectorD(1, dir.eta(), dir.phi()).Unit();
58 }
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
ROOT::Math::DisplacementVector3D< ROOT::Math::CylindricalEta3D< double > > RhoEtaPhiVectorD
spatial vector with cylindrical internal representation using pseudorapidity
Definition: Vector3D.h:10
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11

Member Function Documentation

void AngleConeVeto::centerOn ( double  eta,
double  phi 
)
virtual

Relocates this veto so that the new center is at some (eta,phi). Must be implemented on the specific AbsVeto subclass: in this mother class it just throws exception

Reimplemented from reco::isodeposit::AbsVeto.

Definition at line 63 of file IsoDepositVetos.cc.

References vetoDir_.

63  {
64  vetoDir_ = math::RhoEtaPhiVectorD(1, eta, phi).Unit();
65 }
ROOT::Math::DisplacementVector3D< ROOT::Math::CylindricalEta3D< double > > RhoEtaPhiVectorD
spatial vector with cylindrical internal representation using pseudorapidity
Definition: Vector3D.h:10
bool AngleConeVeto::veto ( double  eta,
double  phi,
float  value 
) const
virtual

Return "true" if a deposit at specific (eta,phi) with that value must be vetoed in the sum.

Implements reco::isodeposit::AbsVeto.

Definition at line 59 of file IsoDepositVetos.cc.

References cosTheta_, tmp, and vetoDir_.

59  {
61  return ( vetoDir_.Dot(tmp.Unit()) > cosTheta_ );
62 }
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
ROOT::Math::DisplacementVector3D< ROOT::Math::CylindricalEta3D< double > > RhoEtaPhiVectorD
spatial vector with cylindrical internal representation using pseudorapidity
Definition: Vector3D.h:10

Member Data Documentation

float reco::isodeposit::AngleConeVeto::cosTheta_
private

Definition at line 71 of file IsoDepositVetos.h.

Referenced by veto().

math::XYZVectorD reco::isodeposit::AngleConeVeto::vetoDir_
private

Definition at line 71 of file IsoDepositVetos.h.

Referenced by AngleConeVeto(), centerOn(), and veto().