ShowerHitsBaseTool class.
More...
#include <ShowerHitsBaseTool.h>
|
virtual void | GetShowerHit3D (const pandora::CaloHitVector &caloHitVector1, const pandora::CaloHitVector &caloHitVector2, ProtoHit &protoHit) const =0 |
| Get the three dimensional position for to a two dimensional calo hit, using the hit and a list of candidate matched hits in the other two views. More...
|
|
virtual void | GetShowerHits3D (const pandora::CaloHitVector &inputTwoDHits, const pandora::CaloHitVector &caloHitVector1, const pandora::CaloHitVector &caloHitVector2, ProtoHitVector &protoHitVector) const |
| Create three dimensional hits, using a list of input two dimensional hits and the hits (contained in the same particle) from the other two views. More...
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
|
virtual void | GetBestPosition3D (const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianPointVector &fitPositionList1, const pandora::CartesianPointVector &fitPositionList2, ProtoHit &protoHit) const |
| Get the three dimensional position using a provided two dimensional calo hit and candidate fit positions from the other two views. More...
|
|
virtual void | GetBestPosition3D (const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianVector &fitPosition1, const pandora::CartesianVector &fitPosition2, ProtoHit &protoHit) const |
| Get the three dimensional position using a provided two dimensional calo hit and candidate fit positions from the other two views. More...
|
|
virtual void | GetBestPosition3D (const pandora::HitType hitType, const pandora::CartesianVector &fitPosition, ProtoHit &protoHit) const |
| Get the three dimensional position using a provided two dimensional calo hit and a candidate fit position from another view. More...
|
|
|
void | FilterCaloHits (const float x, const float xTolerance, const pandora::CaloHitVector &inputCaloHitVector, pandora::CaloHitVector &outputCaloHitVector) const |
| Filter a list of calo hits to find those within a specified tolerance of a give x position. More...
|
|
|
float | m_xTolerance |
| The x tolerance to use when looking for associated calo hits between views. More...
|
|
lar_content::ShowerHitsBaseTool::ShowerHitsBaseTool |
( |
| ) |
|
Default constructor.
Definition at line 21 of file ShowerHitsBaseTool.cc.
float m_xTolerance
The x tolerance to use when looking for associated calo hits between views.
void lar_content::ShowerHitsBaseTool::FilterCaloHits |
( |
const float |
x, |
|
|
const float |
xTolerance, |
|
|
const pandora::CaloHitVector & |
inputCaloHitVector, |
|
|
pandora::CaloHitVector & |
outputCaloHitVector |
|
) |
| const |
|
private |
Filter a list of calo hits to find those within a specified tolerance of a give x position.
- Parameters
-
x | the x position |
xTolerance | the x tolerance |
inputCaloHitVector | the input calo hit vector |
outputCaloHitVector | to receive the output calo hit vector |
Definition at line 79 of file ShowerHitsBaseTool.cc.
81 for (
const CaloHit *
const pCaloHit : inputCaloHitVector)
83 const float deltaX(pCaloHit->GetPositionVector().GetX() -
x);
85 if (std::fabs(deltaX) < xTolerance)
86 outputCaloHitVector.push_back(pCaloHit);
virtual void lar_content::ShowerHitsBaseTool::GetShowerHit3D |
( |
const pandora::CaloHitVector & |
caloHitVector1, |
|
|
const pandora::CaloHitVector & |
caloHitVector2, |
|
|
ProtoHit & |
protoHit |
|
) |
| const |
|
protectedpure virtual |
Get the three dimensional position for to a two dimensional calo hit, using the hit and a list of candidate matched hits in the other two views.
- Parameters
-
caloHitVector1 | the vector of candidate hits in view 1 |
caloHitVector2 | the vector of candidate hits in view 2 |
protoHit | to receive the populated proto hit |
Implemented in lar_content::ThreeViewShowerHitsTool, and lar_content::TwoViewShowerHitsTool.
void lar_content::ShowerHitsBaseTool::GetShowerHits3D |
( |
const pandora::CaloHitVector & |
inputTwoDHits, |
|
|
const pandora::CaloHitVector & |
caloHitVector1, |
|
|
const pandora::CaloHitVector & |
caloHitVector2, |
|
|
ProtoHitVector & |
protoHitVector |
|
) |
| const |
|
protectedvirtual |
Create three dimensional hits, using a list of input two dimensional hits and the hits (contained in the same particle) from the other two views.
- Parameters
-
inputTwoDHits | the list of input two dimensional hits |
caloHitVector1 | hits in the first alternate view |
caloHitVector2 | hits in the second alternate view |
protoHitVector | to receive the new three dimensional proto hits |
Definition at line 54 of file ShowerHitsBaseTool.cc.
57 for (
const CaloHit *
const pCaloHit2D : inputTwoDHits)
61 CaloHitVector filteredHits1, filteredHits2;
69 protoHitVector.push_back(protoHit);
71 catch (StatusCodeException &)
ThreeDHitCreationAlgorithm::ProtoHit ProtoHit
float m_xTolerance
The x tolerance to use when looking for associated calo hits between views.
double m_chiSquaredCut
The chi squared cut (accept only values below the cut value)
void FilterCaloHits(const float x, const float xTolerance, const pandora::CaloHitVector &inputCaloHitVector, pandora::CaloHitVector &outputCaloHitVector) const
Filter a list of calo hits to find those within a specified tolerance of a give x position...
virtual void GetShowerHit3D(const pandora::CaloHitVector &caloHitVector1, const pandora::CaloHitVector &caloHitVector2, ProtoHit &protoHit) const =0
Get the three dimensional position for to a two dimensional calo hit, using the hit and a list of can...
StatusCode lar_content::ShowerHitsBaseTool::ReadSettings |
( |
const pandora::TiXmlHandle |
xmlHandle | ) |
|
|
protectedvirtual |
void lar_content::ShowerHitsBaseTool::Run |
( |
ThreeDHitCreationAlgorithm *const |
pAlgorithm, |
|
|
const pandora::ParticleFlowObject *const |
pPfo, |
|
|
const pandora::CaloHitVector & |
inputTwoDHits, |
|
|
ProtoHitVector & |
protoHitVector |
|
) |
| |
|
virtual |
Run the algorithm tool.
- Parameters
-
pAlgorithm | address of the calling algorithm |
pPfo | the address of the pfo |
inputTwoDHits | the vector of input two dimensional hits |
protoHitVector | to receive the new three dimensional proto hits |
Implements lar_content::HitCreationBaseTool.
Definition at line 27 of file ShowerHitsBaseTool.cc.
30 if (PandoraContentApi::GetSettings(*pAlgorithm)->ShouldDisplayAlgorithmInfo())
31 std::cout <<
"----> Running Algorithm Tool: " << this->GetInstanceName() <<
", " << this->GetType() <<
std::endl;
38 CaloHitVector caloHitVectorU, caloHitVectorV, caloHitVectorW;
39 pAlgorithm->FilterCaloHitsByType(inputTwoDHits, TPC_VIEW_U, caloHitVectorU);
40 pAlgorithm->FilterCaloHitsByType(inputTwoDHits, TPC_VIEW_V, caloHitVectorV);
41 pAlgorithm->FilterCaloHitsByType(inputTwoDHits, TPC_VIEW_W, caloHitVectorW);
43 this->
GetShowerHits3D(caloHitVectorU, caloHitVectorV, caloHitVectorW, protoHitVector);
44 this->
GetShowerHits3D(caloHitVectorV, caloHitVectorU, caloHitVectorW, protoHitVector);
45 this->
GetShowerHits3D(caloHitVectorW, caloHitVectorU, caloHitVectorV, protoHitVector);
47 catch (StatusCodeException &)
static bool IsShower(const pandora::ParticleFlowObject *const pPfo)
Return shower flag based on Pfo Particle ID.
virtual void GetShowerHits3D(const pandora::CaloHitVector &inputTwoDHits, const pandora::CaloHitVector &caloHitVector1, const pandora::CaloHitVector &caloHitVector2, ProtoHitVector &protoHitVector) const
Create three dimensional hits, using a list of input two dimensional hits and the hits (contained in ...
QTextStream & endl(QTextStream &s)
float lar_content::ShowerHitsBaseTool::m_xTolerance |
|
private |
The x tolerance to use when looking for associated calo hits between views.
Definition at line 67 of file ShowerHitsBaseTool.h.
The documentation for this class was generated from the following files: