#include <CaloCellSelectorMinPerp.h>
Definition at line 22 of file CaloCellSelectorMinPerp.h.
◆ CaloCellSelectorMinPerp()
| Trk::CaloCellSelectorMinPerp::CaloCellSelectorMinPerp |
( |
double | coneSize | ) |
|
◆ ~CaloCellSelectorMinPerp()
| Trk::CaloCellSelectorMinPerp::~CaloCellSelectorMinPerp |
( |
| ) |
|
|
default |
◆ preSelectAction()
| bool Trk::CaloCellSelectorMinPerp::preSelectAction |
( |
const Trk::CaloExtension & | caloExtension | ) |
|
|
virtual |
Initialize selector wtih CaloExtension, returns false if the selection cannot be performed for the given input.
Reimplemented from Trk::ICaloCellSelector.
Definition at line 19 of file CaloCellSelectorMinPerp.cxx.
19 {
21
22
23
24
26
28
29 double a = fabs(
pos.eta());
31 double c = 2. *
b / (1. -
b *
b);
32 double r =
c / sqrt(1. + c * c);
35 double dRad1 = fabs(t1 - t2) / 2.;
36
39 return true;
40 }
std::vector< ALFA_RawDataContainer_p1 > t2
std::vector< ALFA_RawDataCollection_p1 > t1
Eigen::Matrix< double, 3, 1 > Vector3D
◆ preSelectActionCells()
Initialize selector wtih ParticleCellAssociation, returns false if the selection cannot be performed for the given input.
Definition at line 44 of file Reconstruction/RecoTools/RecoToolInterfaces/RecoToolInterfaces/ICaloCellSelector.h.
44 {
46 }
const Trk::CaloExtension & caloExtension() const
return calo extension
virtual bool preSelectAction(const Trk::CaloExtension &caloExtension)
Initialize selector wtih CaloExtension, returns false if the selection cannot be performed for the gi...
◆ select()
| bool Trk::CaloCellSelectorMinPerp::select |
( |
const CaloCell & | cell | ) |
const |
|
virtual |
Method to determine if a cell is to be selected or not.
- Parameters
-
- Returns
- bool
Implements Trk::ICaloCellSelector.
Definition at line 42 of file CaloCellSelectorMinPerp.cxx.
42 {
44
45 const CaloDetDescrElement* dde =
cell.caloDDE();
46 if (!dde) return false;
47
49
50 int nearestIdx;
53
54
56 float perp2 = dPos.perp2(nearestMom);
57
58
59
60 float totTrkLen = sqrt(dPos.mag2() -
perp2);
61 if (dPos.dot(nearestMom) < 0) { totTrkLen = -totTrkLen; }
62
65 const std::vector<Trk::CurvilinearParameters>& intersections =
m_caloExtension->caloLayerIntersections();
66 for (
int i = 0;
i <= nearestIdx; ++
i) {
67 pos = intersections[
i].position();
68 totTrkLen += (
pos - oldPos).
mag();
70 }
71
72
73 if (totTrkLen < 0) return false;
74
76
77 return false;
78 }
Scalar perp2() const
perp2 method - perpendicular length squared
Scalar mag() const
mag method
void findNearestPoint(const Amg::Vector3D &inputPos, const Trk::CaloExtension *caloExtension, int &nearestIdx, Amg::Vector3D &nearestPos, Amg::Vector3D &nearestMom)
void swap(ElementLinkVector< DOBJ > &lhs, ElementLinkVector< DOBJ > &rhs)
◆ m_caloExtension
◆ m_coneSize
| double Trk::CaloCellSelectorMinPerp::m_coneSize |
|
private |
◆ m_meanPos
◆ m_perp2cut
| double Trk::CaloCellSelectorMinPerp::m_perp2cut |
|
private |
The documentation for this class was generated from the following files: