![]() |
![]() |
#include <PhysicsTools/IsolationAlgos/interface/CalIsolationAlgo.h>
Public Types | |
typedef double | value_type |
Public Member Functions | |
CalIsolationAlgo (double dRMin, double dRMax, bool do_propagation, double radius, double minZ, double maxZ, bool theIgnoreMaterial) | |
CalIsolationAlgo () | |
double | operator() (const T1 &, const C2 &) const |
void | setBfield (const MagneticField *bField) |
~CalIsolationAlgo () | |
Private Attributes | |
const MagneticField * | bField_ |
bool | do_propagation_ |
double | dRMax_ |
double | dRMin_ |
PropagateToCal | SrcAtCal |
Definition at line 17 of file CalIsolationAlgo.h.
typedef double CalIsolationAlgo< T1, C2 >::value_type |
Definition at line 19 of file CalIsolationAlgo.h.
CalIsolationAlgo< T1, C2 >::CalIsolationAlgo | ( | ) | [inline] |
CalIsolationAlgo< T1, C2 >::CalIsolationAlgo | ( | double | dRMin, | |
double | dRMax, | |||
bool | do_propagation, | |||
double | radius, | |||
double | minZ, | |||
double | maxZ, | |||
bool | theIgnoreMaterial | |||
) | [inline] |
Definition at line 21 of file CalIsolationAlgo.h.
00022 : 00023 dRMin_( dRMin ), dRMax_( dRMax ), do_propagation_( do_propagation ), 00024 SrcAtCal(radius, minZ, maxZ, theIgnoreMaterial) { } ~CalIsolationAlgo();
CalIsolationAlgo< T1, C2 >::~CalIsolationAlgo | ( | ) | [inline] |
double CalIsolationAlgo< T1, C2 >::operator() | ( | const T1 & | cand, | |
const C2 & | elements | |||
) | const [inline] |
Extrapolate charged particles from their vertex to the point of entry into the calorimeter, if this is requested in the cfg file.
Definition at line 44 of file CalIsolationAlgo.h.
References CalIsolationAlgo< T1, C2 >::bField_, deltaR(), CalIsolationAlgo< T1, C2 >::do_propagation_, CalIsolationAlgo< T1, C2 >::dRMin_, PropagateToCal::propagate(), and CalIsolationAlgo< T1, C2 >::SrcAtCal.
00044 { 00045 const GlobalPoint Vertex(cand.vx(), cand.vy(), cand.vz());//@@check if this is [cm]! 00046 //GlobalVector Cand(cand.pt(), cand.eta(), cand.phi()); 00047 GlobalVector Cand(cand.px(), cand.py(), cand.pz()); 00048 00051 if (do_propagation_ && cand.charge()!=0) 00052 SrcAtCal.propagate(Vertex, Cand, cand.charge(), bField_); 00053 00054 double etSum = 0; 00055 for( typename C2::const_iterator elem = elements.begin(); 00056 elem != elements.end(); ++elem ) { 00057 double dR = deltaR( elem->eta(), elem->phi(), 00058 (double)Cand.eta(), (double)Cand.phi() ); 00059 if ( dR < dRMax_ && dR > dRMin_ ) { 00060 etSum += elem->et(); 00061 } 00062 } 00063 return etSum; 00064 }
void CalIsolationAlgo< T1, C2 >::setBfield | ( | const MagneticField * | bField | ) | [inline] |
Definition at line 27 of file CalIsolationAlgo.h.
References CalIsolationAlgo< T1, C2 >::bField_.
00027 { 00028 bField_ = bField; }
const MagneticField* CalIsolationAlgo< T1, C2 >::bField_ [private] |
Definition at line 34 of file CalIsolationAlgo.h.
Referenced by CalIsolationAlgo< T1, C2 >::operator()(), and CalIsolationAlgo< T1, C2 >::setBfield().
bool CalIsolationAlgo< T1, C2 >::do_propagation_ [private] |
Definition at line 33 of file CalIsolationAlgo.h.
Referenced by CalIsolationAlgo< T1, C2 >::operator()().
double CalIsolationAlgo< T1, C2 >::dRMax_ [private] |
Definition at line 32 of file CalIsolationAlgo.h.
double CalIsolationAlgo< T1, C2 >::dRMin_ [private] |
Definition at line 32 of file CalIsolationAlgo.h.
Referenced by CalIsolationAlgo< T1, C2 >::operator()().
PropagateToCal CalIsolationAlgo< T1, C2 >::SrcAtCal [private] |
Definition at line 35 of file CalIsolationAlgo.h.
Referenced by CalIsolationAlgo< T1, C2 >::operator()().