CMS 3D CMS Logo

PtIsolationAlgo< T, C > Class Template Reference

#include <PhysicsTools/IsolationUtils/interface/PtIsolationAlgo.h>

List of all members.

Public Types

typedef double value_type

Public Member Functions

double operator() (const T &, const C &) const
 PtIsolationAlgo (double dRMin, double dRMax, double dzMax, double d0Max, double ptMin)
 PtIsolationAlgo ()

Private Attributes

double d0Max_
double dRMax_
double dRMin_
double dzMax_
double ptMin_


Detailed Description

template<typename T, typename C>
class PtIsolationAlgo< T, C >

Definition at line 10 of file PtIsolationAlgo.h.


Member Typedef Documentation

template<typename T, typename C>
typedef double PtIsolationAlgo< T, C >::value_type

Definition at line 12 of file PtIsolationAlgo.h.


Constructor & Destructor Documentation

template<typename T, typename C>
PtIsolationAlgo< T, C >::PtIsolationAlgo (  )  [inline]

Definition at line 13 of file PtIsolationAlgo.h.

00013 { }

template<typename T, typename C>
PtIsolationAlgo< T, C >::PtIsolationAlgo ( double  dRMin,
double  dRMax,
double  dzMax,
double  d0Max,
double  ptMin 
) [inline]

Definition at line 14 of file PtIsolationAlgo.h.

00015                                                 :
00016     dRMin_( dRMin ), dRMax_( dRMax ), dzMax_( dzMax ),
00017     d0Max_( d0Max ), ptMin_( ptMin ) { }
  double operator()(const T &, const C &) const;


Member Function Documentation

template<typename T, typename C>
double PtIsolationAlgo< T, C >::operator() ( const T &  cand,
const C &  elements 
) const [inline]

Definition at line 25 of file PtIsolationAlgo.h.

References PtIsolationAlgo< T, C >::d0Max_, deltaR(), PtIsolationAlgo< T, C >::dRMax_, PtIsolationAlgo< T, C >::dRMin_, PtIsolationAlgo< T, C >::dzMax_, PtIsolationAlgo< T, C >::ptMin_, and funct::sqrt().

00025                                                                                  {
00026   double ptSum = 0;
00027   double candVz = cand.vz();
00028   double candEta = cand.eta();
00029   double candPhi = cand.phi();
00030   for( typename C::const_iterator elem = elements.begin(); elem != elements.end(); ++ elem ) {
00031     double elemPt = elem->pt();
00032     if ( elemPt < ptMin_ ) continue;
00033     double elemVx = elem->vx();
00034     double elemVy = elem->vy();
00035     double elemD0 = sqrt( elemVx * elemVx + elemVy * elemVy );
00036     if ( elemD0 > d0Max_ ) continue;
00037     double dz = fabs( elem->vz() - candVz );
00038     if ( dz > dzMax_ ) continue;
00039     double dR = deltaR( elem->eta(), elem->phi(), candEta, candPhi );
00040     if ( (dR > dRMax_) || (dR < dRMin_) ) continue;
00041     ptSum += elemPt;
00042   }
00043   return ptSum;
00044 }


Member Data Documentation

template<typename T, typename C>
double PtIsolationAlgo< T, C >::d0Max_ [private]

Definition at line 21 of file PtIsolationAlgo.h.

Referenced by PtIsolationAlgo< T, C >::operator()().

template<typename T, typename C>
double PtIsolationAlgo< T, C >::dRMax_ [private]

Definition at line 21 of file PtIsolationAlgo.h.

Referenced by PtIsolationAlgo< T, C >::operator()().

template<typename T, typename C>
double PtIsolationAlgo< T, C >::dRMin_ [private]

Definition at line 21 of file PtIsolationAlgo.h.

Referenced by PtIsolationAlgo< T, C >::operator()().

template<typename T, typename C>
double PtIsolationAlgo< T, C >::dzMax_ [private]

Definition at line 21 of file PtIsolationAlgo.h.

Referenced by PtIsolationAlgo< T, C >::operator()().

template<typename T, typename C>
double PtIsolationAlgo< T, C >::ptMin_ [private]

Definition at line 21 of file PtIsolationAlgo.h.

Referenced by PtIsolationAlgo< T, C >::operator()().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:30:23 2009 for CMSSW by  doxygen 1.5.4