#include <Filters.h>
|
static double | outerphi (double pt, double phi, double r=1000) |
| calculate the (very approximate) phi position for a track at a rafius r More...
|
|
Definition at line 225 of file Filters.h.
◆ Filter_Combined()
◆ contains()
NB: This isn't actually correct - the tracks can bend out of the Roi even it the perigee phi is withing the Roi
NB: This is completely wrong, tracks could be completely contained within an Roi but failthis condition
includes calculation of approximate z position of the track at radius r and test if track within that z position at radius r
full check to determine whether a track is
fully contained in the Roi or not (when used in conjunction with contained_zed above)
now check phi taking account of the track transverse curvature
Definition at line 250 of file Filters.h.
253 std::cerr <<
"Filter_Combined::contains() called with null roidescriptor" << std::endl;
257 if (
r->composite() ) {
258 for (
unsigned i=
r->size() ;
i-- ; )
if (
contains(
t,
r->at(
i) ) )
return true;
262 if (
r->isFullscan() )
return true;
264 bool contained_phi =
false;
268 if (
r->phiMinus()<
r->phiPlus() ) contained_phi = (
t->phi()>
r->phiMinus() &&
t->phi()<
r->phiPlus() );
269 else contained_phi = (
t->phi()>
r->phiMinus() ||
t->phi()<
r->phiPlus() );
271 bool contained_zed = (
t->z0()>
r->zedMinus() &&
t->z0()<
r->zedPlus() );
275 bool contained_eta = (
t->eta()<
r->etaPlus() &&
t->eta()>
r->etaMinus() );
293 double cross0 = zexit*
r->rMinusZed() - rexit*
r->zedMinusR();
294 double cross1 = zexit*
r->rPlusZed() - rexit*
r->zedPlusR();
297 if ( cross0>0 && cross1<0 ) contained_eta=
true;
298 else contained_eta=
false;
303 double newphi =
outerphi(
t->pT(),
t->phi(), rexit );
305 if ( newphi==0 )
return false;
307 if (
r->phiMinus()<
r->phiPlus() ) contained_phi &= ( newphi>
r->phiMinus() && newphi<
r->phiPlus() );
308 else contained_phi &= ( newphi>
r->phiMinus() || newphi<
r->phiPlus() );
312 if ( contained_eta &&
315 if (
m_debugPrintout ) std::cout <<
"\tFilter::inside roi" << std::endl;
◆ containtracks()
void Filter_Combined::containtracks |
( |
bool |
b = true | ) |
|
|
inline |
set / unset the flag to determine whether tracks should be fully contained in the RoI or not
Definition at line 242 of file Filters.h.
◆ containtracksPhi()
void Filter_Combined::containtracksPhi |
( |
bool |
b = true | ) |
|
|
inline |
set / unset to allow the strict phi containment to be used even if the full rigorous containement is not
Definition at line 247 of file Filters.h.
◆ outerphi()
static double Filter_Combined::outerphi |
( |
double |
pt, |
|
|
double |
phi, |
|
|
double |
r = 1000 |
|
) |
| |
|
inlinestatic |
calculate the (very approximate) phi position for a track at a rafius r
track (signed) radius of curvature
make sure it escapes the radius in question
calculate new position
wrap to -pi to pi
Definition at line 356 of file Filters.h.
360 double mqR = 10*
pt/(2.99792458*2);
368 if ( std::fabs(
ratio)>1 )
return 0;
371 newphi -= std::asin(
ratio );
374 while ( newphi<-
M_PI ) newphi += 2*
M_PI;
375 while ( newphi>
M_PI ) newphi -= 2*
M_PI;
◆ select()
no roi so just return the and of the input filters
Implements TrackFilter.
Definition at line 326 of file Filters.h.
◆ setDebug()
void Filter_Combined::setDebug |
( |
bool |
b | ) |
|
|
inline |
◆ setRoi()
◆ m_contain
bool Filter_Combined::m_contain |
|
private |
◆ m_containPhi
bool Filter_Combined::m_containPhi |
|
private |
◆ m_debugPrintout
bool Filter_Combined::m_debugPrintout |
|
private |
◆ m_f1
◆ m_f2
◆ m_roi
The documentation for this class was generated from the following file: