ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Attributes | List of all members
FTF::RoI_Filter Class Reference

#include <SpacePointConversionUtils.h>

Inheritance diagram for FTF::RoI_Filter:
Collaboration diagram for FTF::RoI_Filter:

Public Member Functions

 RoI_Filter (std::vector< TrigSiSpacePointBase > &vec, LayerCalculator &lc, const IRoiDescriptor *roi, bool filter_phi=true, const std::map< Identifier, std::vector< long int > > *clusterMap=nullptr)
 
virtual void operator() (const Trk::SpacePoint *p)
 
int vectorSize ()
 
void setLayer (const Identifier &id)
 
void setLayer (short layerId, const Identifier &id)
 
void setErrors (const Identifier &id)
 
void createSpacePoint (const Trk::SpacePoint *p)
 

Protected Attributes

std::vector< TrigSiSpacePointBase > & m_vec
 
LayerCalculator m_layerCalculator
 
int m_layerId
 
double m_dr
 
double m_dz
 

Private Attributes

const IRoiDescriptorm_roi
 
bool m_filter_phi
 
const std::map< Identifier, std::vector< long int > > * m_clusterMap
 

Detailed Description

Definition at line 125 of file SpacePointConversionUtils.h.

Constructor & Destructor Documentation

◆ RoI_Filter()

FTF::RoI_Filter::RoI_Filter ( std::vector< TrigSiSpacePointBase > &  vec,
LayerCalculator lc,
const IRoiDescriptor roi,
bool  filter_phi = true,
const std::map< Identifier, std::vector< long int > > *  clusterMap = nullptr 
)
inline

Definition at line 127 of file SpacePointConversionUtils.h.

130  m_roi(roi), m_filter_phi(filter_phi), m_clusterMap(clusterMap) { }

Member Function Documentation

◆ createSpacePoint()

void FTF::BaseSpacePointFilter::createSpacePoint ( const Trk::SpacePoint p)
inlineinherited

Definition at line 114 of file SpacePointConversionUtils.h.

114  {
115  m_vec.push_back(TrigSiSpacePointBase(m_layerId, p->globalPosition().perp(), p->globalPosition().phi(), p->globalPosition().z(),
116  m_dr, m_dz, p));
117  }

◆ operator()()

virtual void FTF::RoI_Filter::operator() ( const Trk::SpacePoint p)
inlinevirtual

Implements FTF::BaseSpacePointFilter.

Definition at line 131 of file SpacePointConversionUtils.h.

131  {
132 
133  bool unused=true;
134  // if a cluster map is specified, use it to reject spacepoints where one or more clusters has already be used on a track
135  if (m_clusterMap) {
136  const std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*> clusterList = p->clusterList();
137  if (clusterList.first) {
138  Identifier id1=(clusterList.first)->identify();
139  unused = m_clusterMap->find(id1)==m_clusterMap->end();
140  }
141  if (clusterList.second) {
142  Identifier id2=(clusterList.second)->identify();
143  unused = unused && (m_clusterMap->find(id2)==m_clusterMap->end());
144  }
145 
146  }
147 
148  if(m_filter_phi) {
149  if( unused && RoiUtil::contains( *m_roi, p->globalPosition().z(), p->globalPosition().perp(), p->globalPosition().phi() ) ) createSpacePoint(p);
150  }
151  else {
152  if( unused && RoiUtil::containsZed(*m_roi, p->globalPosition().z(), p->globalPosition().perp() )) createSpacePoint(p);
153  }
154  }

◆ setErrors()

void FTF::BaseSpacePointFilter::setErrors ( const Identifier id)
inlineinherited

Definition at line 91 of file SpacePointConversionUtils.h.

91  {
92  if(m_layerCalculator.isPixel(id)) {
93  if(m_layerCalculator.isBarrel(id)) {
94  m_dr=0.01;
95  m_dz=0.13;
96  }
97  else {
98  m_dz=0.01;
99  m_dr=0.13;
100  }
101  }
102  else {
103  if(m_layerCalculator.isBarrel(id)) {
104  m_dr=0.01;
105  m_dz=0.82;
106  }
107  else {
108  m_dz=0.01;
109  m_dr=0.82;
110  }
111  }
112  }

◆ setLayer() [1/2]

void FTF::BaseSpacePointFilter::setLayer ( const Identifier id)
inlineinherited

Definition at line 81 of file SpacePointConversionUtils.h.

81  {
83  setErrors(id);
84  }

◆ setLayer() [2/2]

void FTF::BaseSpacePointFilter::setLayer ( short  layerId,
const Identifier id 
)
inlineinherited

Definition at line 86 of file SpacePointConversionUtils.h.

86  {
87  m_layerId = layerId;
88  setErrors(id);
89  }

◆ vectorSize()

int FTF::BaseSpacePointFilter::vectorSize ( )
inlineinherited

Definition at line 78 of file SpacePointConversionUtils.h.

78  {
79  return m_vec.size();
80  }

Member Data Documentation

◆ m_clusterMap

const std::map<Identifier, std::vector<long int> >* FTF::RoI_Filter::m_clusterMap
private

Definition at line 158 of file SpacePointConversionUtils.h.

◆ m_dr

double FTF::BaseSpacePointFilter::m_dr
protectedinherited

Definition at line 122 of file SpacePointConversionUtils.h.

◆ m_dz

double FTF::BaseSpacePointFilter::m_dz
protectedinherited

Definition at line 122 of file SpacePointConversionUtils.h.

◆ m_filter_phi

bool FTF::RoI_Filter::m_filter_phi
private

Definition at line 157 of file SpacePointConversionUtils.h.

◆ m_layerCalculator

LayerCalculator FTF::BaseSpacePointFilter::m_layerCalculator
protectedinherited

Definition at line 120 of file SpacePointConversionUtils.h.

◆ m_layerId

int FTF::BaseSpacePointFilter::m_layerId
protectedinherited

Definition at line 121 of file SpacePointConversionUtils.h.

◆ m_roi

const IRoiDescriptor* FTF::RoI_Filter::m_roi
private

Definition at line 156 of file SpacePointConversionUtils.h.

◆ m_vec

std::vector<TrigSiSpacePointBase>& FTF::BaseSpacePointFilter::m_vec
protectedinherited

Definition at line 119 of file SpacePointConversionUtils.h.


The documentation for this class was generated from the following file:
FTF::LayerCalculator::isBarrel
bool isBarrel(const Identifier &id)
Definition: SpacePointConversionUtils.h:43
FTF::RoI_Filter::m_filter_phi
bool m_filter_phi
Definition: SpacePointConversionUtils.h:157
FTF::BaseSpacePointFilter::m_dr
double m_dr
Definition: SpacePointConversionUtils.h:122
FTF::BaseSpacePointFilter::BaseSpacePointFilter
BaseSpacePointFilter(std::vector< TrigSiSpacePointBase > &vec, LayerCalculator &lc)
Definition: SpacePointConversionUtils.h:74
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
FTF::BaseSpacePointFilter::createSpacePoint
void createSpacePoint(const Trk::SpacePoint *p)
Definition: SpacePointConversionUtils.h:114
FTF::LayerCalculator::isPixel
bool isPixel(const Identifier &id)
Definition: SpacePointConversionUtils.h:40
FTF::RoI_Filter::m_roi
const IRoiDescriptor * m_roi
Definition: SpacePointConversionUtils.h:156
RoiUtil::containsZed
bool containsZed(const IRoiDescriptor &roi, double z, double r)
Definition: RoiUtil.cxx:94
FTF::BaseSpacePointFilter::m_layerCalculator
LayerCalculator m_layerCalculator
Definition: SpacePointConversionUtils.h:120
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
python.LumiCalcHtml.lc
lc
Definition: LumiCalcHtml.py:579
FTF::RoI_Filter::m_clusterMap
const std::map< Identifier, std::vector< long int > > * m_clusterMap
Definition: SpacePointConversionUtils.h:158
FTF::BaseSpacePointFilter::m_dz
double m_dz
Definition: SpacePointConversionUtils.h:122
id2
HWIdentifier id2
Definition: LArRodBlockPhysicsV0.cxx:564
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
FTF::BaseSpacePointFilter::m_layerId
int m_layerId
Definition: SpacePointConversionUtils.h:121
unused
void unused(Args &&...)
Definition: VP1ExpertSettings.cxx:39
FTF::LayerCalculator::getLayer
int getLayer(const Identifier &id)
Definition: SpacePointConversionUtils.h:52
FTF::BaseSpacePointFilter::setErrors
void setErrors(const Identifier &id)
Definition: SpacePointConversionUtils.h:91
RoiUtil::contains
bool contains(const IRoiDescriptor &roi, double z0, double dzdr)
see whether a segment is contained within the roi in r-z
Definition: RoiUtil.cxx:42
TrigSiSpacePointBase
Definition: TrigSiSpacePointBase.h:23
FTF::BaseSpacePointFilter::m_vec
std::vector< TrigSiSpacePointBase > & m_vec
Definition: SpacePointConversionUtils.h:119