PartitionCondition::BelowThresholdDeltaR Class Reference

#include <FunctionObjects.h>

Collaboration diagram for PartitionCondition::BelowThresholdDeltaR:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BelowThresholdDeltaR (const Atlfast::IKinematic *ref, double barreldRLimit, double forwarddRLimit=0, double etaBoundary=0)
 BelowThresholdDeltaR (const Atlfast::IKinematic &ref, double barreldRLimit, double forwarddRLimit=0, double etaBoundary=0)
bool operator() (const Atlfast::IKinematic *a) const
bool operator() (const Atlfast::IKinematic &a) const

Private Attributes

double m_barreldRLimit
double m_forwarddRLimit
double m_etaBoundary
const Atlfast::IKinematicm_ref

Detailed Description

STL generic algorithm function object. Used to select IKinematic objects below a threshold delta R. Specialised (7/7/2006 SD) to allow different dR limits in barrel and forward regions, without changing previous behaviour. If only 'barreldRLimit' is supplied in constructor, this is used as the overall dR limit

Definition at line 423 of file FunctionObjects.h.


Constructor & Destructor Documentation

PartitionCondition::BelowThresholdDeltaR::BelowThresholdDeltaR ( const Atlfast::IKinematic ref,
double  barreldRLimit,
double  forwarddRLimit = 0,
double  etaBoundary = 0 
) [inline]

constructor taking

Definition at line 427 of file FunctionObjects.h.

00428                                                                              :
00429       m_barreldRLimit(barreldRLimit), m_forwarddRLimit(forwarddRLimit), 
00430       m_etaBoundary(etaBoundary), m_ref(ref) {}
    

PartitionCondition::BelowThresholdDeltaR::BelowThresholdDeltaR ( const Atlfast::IKinematic ref,
double  barreldRLimit,
double  forwarddRLimit = 0,
double  etaBoundary = 0 
) [inline]

Definition at line 432 of file FunctionObjects.h.

00433                                                                              :
00434       m_barreldRLimit(barreldRLimit), m_forwarddRLimit(forwarddRLimit), 
00435       m_etaBoundary(etaBoundary), m_ref(&ref) {}
    


Member Function Documentation

bool PartitionCondition::BelowThresholdDeltaR::operator() ( const Atlfast::IKinematic a  )  const [inline]

Definition at line 437 of file FunctionObjects.h.

00437                                                          { 
00438       Phi dphi( a->phi() - m_ref->phi() ) ;
00439       
00440       double dist = 
00441         sqrt(
00442              (dphi*dphi) +
00443              (a->eta() - m_ref->eta())*(a->eta() - m_ref->eta()) 
00444              );
00445       
00446       if (!m_forwarddRLimit){
00447         // Use universal dR cut limit
00448         return (dist < m_barreldRLimit);
00449       }else{
00450         // Use eta-dependent dR cut limit
00451         return ( (a->eta()*a->eta() <= m_etaBoundary*m_etaBoundary &&
00452                   dist < m_barreldRLimit) ||
00453                  ( a->eta()*a->eta() > m_etaBoundary*m_etaBoundary &&
00454                    dist < m_forwarddRLimit ) );
00455       }
00456     }

bool PartitionCondition::BelowThresholdDeltaR::operator() ( const Atlfast::IKinematic a  )  const [inline]

Definition at line 459 of file FunctionObjects.h.

00460       { return this->operator()( &a ) ; }


Member Data Documentation

double PartitionCondition::BelowThresholdDeltaR::m_barreldRLimit [private]

Definition at line 463 of file FunctionObjects.h.

double PartitionCondition::BelowThresholdDeltaR::m_forwarddRLimit [private]

Definition at line 464 of file FunctionObjects.h.

double PartitionCondition::BelowThresholdDeltaR::m_etaBoundary [private]

Definition at line 465 of file FunctionObjects.h.

const Atlfast::IKinematic* PartitionCondition::BelowThresholdDeltaR::m_ref [private]

Definition at line 466 of file FunctionObjects.h.


The documentation for this class was generated from the following file:
Generated on Fri Sep 21 13:21:01 2007 for AtlfastUtils by  doxygen 1.5.1