|
ATLAS Offline Software
|
Class reconstructing tracks using basic Kalman filter.
More...
#include <AFPTDBasicTool.h>
|
Gaudi::Property< std::string > | m_tracksContainerName {this, "tracksContainerName", "AFPToFTrackContainer", "Name of the container in which ToF tracks are saved"} |
| Name of the xAOD container to which tracks will be saved. More...
|
|
Gaudi::Property< int > | m_stationID {this, "stationID", 0, "ID number of station for which tracks should be reconstructed"} |
| AFP station ID for which tracks will be reconstructed. More...
|
|
SG::ReadHandleKey< xAOD::AFPToFHitContainer > | m_hitContainerKey {this, "AFPToFHitContainerKey", "AFPToFHitContainer", "Name of the container with ToF hits from which ToF tracks are to be reconstructed"} |
| Name of the xAOD container with ToF hits to be used in track reconstruction. More...
|
|
Gaudi::Property< unsigned int > | m_minHitsNumber {this, "minHitsNumber", 3, "Minimal number of bars in track. If there are less bars, track is rejected"} |
| Minimal number of bars in track. If there are less bars, track is rejected (Default = 3) More...
|
|
Gaudi::Property< double > | m_maxAllowedLength {this, "maxAllowedLength", 100, "Maximal length of the bar signal at which bar can be joined to the track"} |
|
ToolHandle< AFP::IToFLocParamDBTool > | m_tofLocParamDBTool {this, "tofLocParamDBTool", "AFP__ToFLocParamDBTool", "Tool to access DB to get the local ToF parameters"} |
| @ brief Tool for accessing DB to get the local ToF parameters More...
|
|
Class reconstructing tracks using basic Kalman filter.
The idea of the reconstruction is presented in the talk https://indico.cern.ch/event/275484/contributions/1618277/attachments/499062/689421/mdyndal_2013-10-15_AFP_Gen.pdf
Definition at line 42 of file AFPTDBasicTool.h.
◆ AFPTDBasicTool()
AFPTDBasicTool::AFPTDBasicTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~AFPTDBasicTool()
virtual AFPTDBasicTool::~AFPTDBasicTool |
( |
| ) |
|
|
inlineoverridevirtual |
◆ clearTrains()
clear station from bars saved in #my_trainBars;
Definition at line 90 of file AFPTDBasicTool.h.
91 {my_trainBars[0].clear(); my_trainBars[1].clear(); my_trainBars[2].clear(); my_trainBars[3].clear();}
◆ fillTrainWithBars()
Fills Station with ToF hits, dividing them into stations.
Definition at line 48 of file AFPTDBasicTool.cxx.
57 my_trainBars[theHit->trainID()].push_back(theHit);
59 catch (
const std::out_of_range& outOfRange) {
60 ATH_MSG_WARNING(
"Bar with station outside expected range. Aborting track reconstruction.");
◆ finalize()
StatusCode AFPTDBasicTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode AFPTDBasicTool::initialize |
( |
| ) |
|
|
overridevirtual |
Read parameters from job options and print tool configuration.
Definition at line 27 of file AFPTDBasicTool.cxx.
37 return StatusCode::SUCCESS;
◆ outputContainerName()
const std::string& AFPTDBasicTool::outputContainerName |
( |
| ) |
const |
|
inlineoverride |
◆ reconstructTracks()
Does actual tracks reconstruction.
- Reads ToF hits from the xAOD container.
- The output list is saved to xAOD containers and objects.
Definition at line 65 of file AFPTDBasicTool.cxx.
70 return StatusCode::SUCCESS;
74 if(!hitContainer.isValid())
77 return StatusCode::SUCCESS;
81 std::list<AFPTDBasicToolTrack> reconstructedTracks;
83 std::vector<const xAOD::AFPToFHit*> my_trainBars[4];
88 ATH_MSG_DEBUG(
"Number of AFP ToF hits in each train = " << my_trainBars[0].
size()<<
", "<<my_trainBars[1].
size()<<
", "<<my_trainBars[2].
size()<<
", "<<my_trainBars[3].
size());
93 bool dataTLP_init{
false};
95 for (
int k=0;
k<4;
k++)
97 unsigned int TrSize = my_trainBars[
k].size();
100 unsigned int TrSat = 0;
103 for (
unsigned int l=0;
l<TrSize;
l++)
126 if( TrSize!=TrSat) TrTime /=
weight;
129 reconstructedTracks.emplace_back(
m_stationID,
k,TrTime, TrSize, TrSat);
131 for(
unsigned int l=0;
l<TrSize;
l++) theTrack.
addBar(my_trainBars[
k].at(
l));
140 return StatusCode::SUCCESS;
◆ saveToXAOD()
Save reconstructed track to the xAOD container.
Definition at line 143 of file AFPTDBasicTool.cxx.
146 auto *
track = containerToFill->
push_back(std::make_unique<xAOD::AFPToFTrack>());
155 ATH_MSG_DEBUG(
"Track time: (time="<<
track->trainTime()<<
", size="<<
track->trainSize()<<
", train id="<<
track->trainID()<<
") station: (st="<<
track->stationID()<<
")");
159 track->addBar(barLink);
161 ATH_MSG_DEBUG(
"bar time="<<theHit->time()<<
" bar in train ="<<theHit->barInTrainID()<<
", trin id ="<<theHit->trainID()<<
")");
◆ m_hitContainerKey
Name of the xAOD container with ToF hits to be used in track reconstruction.
Definition at line 76 of file AFPTDBasicTool.h.
◆ m_maxAllowedLength
Gaudi::Property<double> AFPTDBasicTool::m_maxAllowedLength {this, "maxAllowedLength", 100, "Maximal length of the bar signal at which bar can be joined to the track"} |
|
private |
◆ m_minHitsNumber
Gaudi::Property<unsigned int> AFPTDBasicTool::m_minHitsNumber {this, "minHitsNumber", 3, "Minimal number of bars in track. If there are less bars, track is rejected"} |
|
private |
Minimal number of bars in track. If there are less bars, track is rejected (Default = 3)
Definition at line 79 of file AFPTDBasicTool.h.
◆ m_stationID
Gaudi::Property<int> AFPTDBasicTool::m_stationID {this, "stationID", 0, "ID number of station for which tracks should be reconstructed"} |
|
private |
◆ m_tofLocParamDBTool
ToolHandle<AFP::IToFLocParamDBTool> AFPTDBasicTool::m_tofLocParamDBTool {this, "tofLocParamDBTool", "AFP__ToFLocParamDBTool", "Tool to access DB to get the local ToF parameters"} |
|
private |
◆ m_tracksContainerName
Gaudi::Property<std::string> AFPTDBasicTool::m_tracksContainerName {this, "tracksContainerName", "AFPToFTrackContainer", "Name of the container in which ToF tracks are saved"} |
|
private |
The documentation for this class was generated from the following files:
bool toContainedElement(BaseConstReference data, ElementType element, IProxyDict *sg=0)
Set from element pointer and a reference to the container (storable)
Class representing a hit in ToF detector.
double barTimeOffset() const
Time offset for this particular bar.
#define CHECK(...)
Evaluate an expression and check for errors.
ElementLink implementation for ROOT usage.
std::string to_string(const DetectorType &type)
value_type push_back(value_type pElem)
Add an element to the end of the collection.
#define ATH_MSG_WARNING(x)
double barWeight() const
Weight for this particular bar.
Class storing information about alignment.
size_type size() const noexcept
Returns the number of elements in the collection.