ATLAS Offline Software
Loading...
Searching...
No Matches
Filter_OfflineR22 Class Reference

#include <Filter_OfflineR22.h>

Inheritance diagram for Filter_OfflineR22:
Collaboration diagram for Filter_OfflineR22:

Public Member Functions

 Filter_OfflineR22 (double pTMin=1000, const std::string &type="tight", double z0=1000, double a0=1000)
bool select (const TIDA::Track *t, const TIDARoiDescriptor *=0)

Private Attributes

double m_pTMin
double m_z0max
double m_a0max
std::string m_type

Detailed Description

Definition at line 28 of file Filter_OfflineR22.h.

Constructor & Destructor Documentation

◆ Filter_OfflineR22()

Filter_OfflineR22::Filter_OfflineR22 ( double pTMin = 1000,
const std::string & type = "tight",
double z0 = 1000,
double a0 = 1000 )
inline

Definition at line 32 of file Filter_OfflineR22.h.

32 :
33 m_pTMin(pTMin),
34 m_z0max(z0),
35 m_a0max(a0),
36 m_type(type)
37 { }
double a0
Definition globals.cxx:27

Member Function Documentation

◆ select()

bool Filter_OfflineR22::select ( const TIDA::Track * t,
const TIDARoiDescriptor * = 0 )
inlinevirtual

require a blayer (ibl in run2) hit only if one is expected

require a blayer (ibl in run2) hit only if one is expected

Implements TrackFilter.

Definition at line 39 of file Filter_OfflineR22.h.

39 {
40 // Select track parameters
41 bool selected = true;
42
43 int Nsi = t->pixelHits()*0.5 + t->sctHits();
44 int Nsiholes = t->pixelHoles()+t->sctHoles();
45
46 if ( std::fabs(t->z0())>m_z0max ) selected = false;
47 if ( std::fabs(t->a0())>m_a0max ) selected = false;
48 if ( std::fabs(t->eta())>2.5 || std::fabs(t->pT())<m_pTMin ) selected = false;
49
50 if ( m_type=="loose" ) {
51
52 // Select track silicon hit content
53 if( Nsi<8 ) selected = false;
54 if( Nsiholes>2 ) selected = false;
55 if ( t->pixelHoles()>1 ) selected = false;
56 }
57 else if ( m_type=="loose-primary" ) {
58
59 // Select track silicon hit content
60 if ( ( Nsi<10 ) && ( Nsi<8 || Nsiholes>0 ) ) selected = false;
61
62 }
63 else if ( m_type=="tight" || m_type=="vtight" ) {
64
65 // Select track silicon hit content
66 if ( std::fabs(t->eta())< 1.65 && Nsi<9 ) selected = false;
67 if ( std::fabs(t->eta())>=1.65 && Nsi<11 ) selected = false;
68
69 if( Nsiholes>2 ) selected = false;
70 if ( t->pixelHoles()>0 ) selected = false;
71
73 if ( ( t->expectBL() || t->hasTruth() ) && t->bLayerHits()<1 ) selected = false;
74
75 if ( m_type=="vtight" && t->pixelHits()==0 ) selected = false;
76 }
77 else if ( m_type=="tight-tau" ) {
78
79 // Select track silicon hit content
80 if ( std::fabs(t->eta())< 1.65 && Nsi<9 ) selected = false;
81 if ( std::fabs(t->eta())>=1.65 && Nsi<11 ) selected = false;
82
83 if ( t->pixelHoles()>0 ) selected = false;
84
85 if ( t->pixelHits()<4 ) selected = false;
86
88 if ( ( t->expectBL() || t->hasTruth() ) && t->bLayerHits()<1 ) selected = false;
89 }
90 else {
91 std::cerr << "Filter_OfflineR22::type: " << m_type << "not recognised" << std::endl;
92 std::abort();
93 }
94
95
96 return selected;
97 }

Member Data Documentation

◆ m_a0max

double Filter_OfflineR22::m_a0max
private

Definition at line 105 of file Filter_OfflineR22.h.

◆ m_pTMin

double Filter_OfflineR22::m_pTMin
private

Definition at line 103 of file Filter_OfflineR22.h.

◆ m_type

std::string Filter_OfflineR22::m_type
private

Definition at line 106 of file Filter_OfflineR22.h.

◆ m_z0max

double Filter_OfflineR22::m_z0max
private

Definition at line 104 of file Filter_OfflineR22.h.


The documentation for this class was generated from the following file: