 |
ATLAS Offline Software
|
#include <AlignTrackPreProcessor.h>
|
| AlignTrackPreProcessor (const std::string &type, const std::string &name, const IInterface *parent) |
|
StatusCode | initialize () |
|
StatusCode | finalize () |
|
DataVector< Track > * | processTrackCollection (const DataVector< Track > *trks) |
| creates AlignTrack containing all TSOS on track More...
|
|
virtual void | setLogStream (std::ostream *os) |
| sets the output stream for the logfile More...
|
|
virtual void | setNtuple (TFile *) |
| Sets output ntuple file, to be implemented if needed for detector-specific implementation. More...
|
|
virtual StatusCode | fillNtuple () |
| writes tree and histogrms to ntuple More...
|
|
virtual void | accumulateVTX (AlignTrack *) |
| methods added for the full VTX fit: More...
|
|
virtual void | solveVTX () |
|
virtual void | printSummary () |
| Print processing summary to logfile. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
Track * | performSiliconHitSelection (const Track *, const ToolHandle< Trk::IGlobalTrackFitter > &) |
| select silicon hits by quality. More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Definition at line 36 of file AlignTrackPreProcessor.h.
◆ StoreGateSvc_t
◆ AlignTrackPreProcessor()
AlignTrackPreProcessor::AlignTrackPreProcessor |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ accumulateVTX()
virtual void Trk::IAlignTrackPreProcessor::accumulateVTX |
( |
AlignTrack * |
| ) |
|
|
inlinevirtualinherited |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ fillNtuple()
virtual StatusCode Trk::IAlignTrackPreProcessor::fillNtuple |
( |
| ) |
|
|
inlinevirtualinherited |
◆ finalize()
StatusCode AlignTrackPreProcessor::finalize |
( |
| ) |
|
◆ initialize()
StatusCode AlignTrackPreProcessor::initialize |
( |
| ) |
|
Definition at line 29 of file AlignTrackPreProcessor.cxx.
36 return StatusCode::FAILURE;
45 return StatusCode::FAILURE;
52 return StatusCode::FAILURE;
57 return StatusCode::FAILURE;
65 return StatusCode::FAILURE;
69 return StatusCode::FAILURE;
74 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
const InterfaceID & IAlignTrackPreProcessor::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ performSiliconHitSelection()
select silicon hits by quality.
keep all the rest
select silicon hits by quality. keep all the rest
Definition at line 196 of file AlignTrackPreProcessor.cxx.
199 ATH_MSG_DEBUG(
" -- performSiliconHitSelection -- before removing bad Silicon hits, this track has "<< inputTrack->trackStateOnSurfaces()->size()<<
" tsos");
202 std::vector<const Trk::MeasurementBase*> selectedMeasurementSet;
210 selectedMeasurementSet.push_back( tsos->measurementOnTrack() );
213 ATH_MSG_DEBUG(
" -- performSiliconHitSelection -- hit # "<< nhits <<
" status = BAD HIT ");
216 ATH_MSG_DEBUG(
" -- performSiliconHitSelection -- after removing bad Silicon hits, the selected measurement collection has "<< selectedMeasurementSet.size()<<
" elements");
218 newTrack = (
fitter->
fit(Gaudi::Hive::currentContext(),
219 selectedMeasurementSet,
220 *inputTrack->perigeeParameters(),
◆ printSummary()
virtual void Trk::IAlignTrackPreProcessor::printSummary |
( |
| ) |
|
|
inlinevirtualinherited |
◆ processTrackCollection()
creates AlignTrack containing all TSOS on track
select silicon hits by quality. keep all the rest
Implements Trk::IAlignTrackPreProcessor.
Definition at line 84 of file AlignTrackPreProcessor.cxx.
86 ATH_MSG_DEBUG(
"AlignTrackPreProcessor::processTrackCollection()");
88 if (!tracks || tracks->empty())
100 for ( ;
it != it_end ; ++
it, ++itrk) {
102 ATH_MSG_DEBUG(
" ** processTrackCollection ** Processing track "<<itrk);
110 ATH_MSG_VERBOSE(
" ** processTrackCollection ** Original track did not pass the selection."<<itrk);
120 ATH_MSG_DEBUG(
" ** processTrackCollection ** entering the silicon hit selection ");
124 ATH_MSG_DEBUG(
" ** processTrackCollection ** Track refit yielded no track. Skipping the track.");
130 ATH_MSG_DEBUG(
" ** processTrackCollection ** Track did not pass the selection.");
136 IGlobalTrackFitter::AlignmentCache alignCache;
143 ATH_MSG_DEBUG(
"Track refit yielded no track. Skipping the track.");
165 at->setFullCovarianceMatrix(alignCache.m_fullCovarianceMatrix);
166 at->setDerivativeMatrix(alignCache.m_derivMatrix);
170 at->AlignTrack::setRefitQovP(
false);
180 at->AlignTrack::setRefitQovP(
false);
187 if (newTracks->
empty()) {
◆ renounce()
◆ renounceArray()
◆ setLogStream()
virtual void Trk::IAlignTrackPreProcessor::setLogStream |
( |
std::ostream * |
os | ) |
|
|
inlinevirtualinherited |
◆ setNtuple()
virtual void Trk::IAlignTrackPreProcessor::setNtuple |
( |
TFile * |
| ) |
|
|
inlinevirtualinherited |
Sets output ntuple file, to be implemented if needed for detector-specific implementation.
Definition at line 51 of file IAlignTrackPreProcessor.h.
◆ solveVTX()
virtual void Trk::IAlignTrackPreProcessor::solveVTX |
( |
| ) |
|
|
inlinevirtualinherited |
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_detStore
◆ m_evtStore
◆ m_fixMomentum
BooleanProperty Trk::AlignTrackPreProcessor::m_fixMomentum |
|
private |
Initial value:{this, "FixMomentum", false,
"Fix the momentum of the track so it is not refitted"}
Definition at line 81 of file AlignTrackPreProcessor.h.
◆ m_hitQualityTool
◆ m_logStream
std::ostream* Trk::IAlignTrackPreProcessor::m_logStream = nullptr |
|
protectedinherited |
◆ m_particleHypothesis
IntegerProperty Trk::AlignTrackPreProcessor::m_particleHypothesis |
|
private |
◆ m_refitTracks
BooleanProperty Trk::AlignTrackPreProcessor::m_refitTracks {this, "RefitTracks", true, "flag to refit tracks"} |
|
private |
◆ m_runOutlierRemoval
BooleanProperty Trk::AlignTrackPreProcessor::m_runOutlierRemoval |
|
private |
Initial value:{this, "RunOutlierRemoval", false,
"run outlier removal in track refit"}
Definition at line 68 of file AlignTrackPreProcessor.h.
◆ m_selectHits
BooleanProperty Trk::AlignTrackPreProcessor::m_selectHits |
|
private |
Initial value:{this, "SelectHits", false,
"perform the hit InnerDetector selection"}
Definition at line 79 of file AlignTrackPreProcessor.h.
◆ m_selectTracks
BooleanProperty Trk::AlignTrackPreProcessor::m_selectTracks |
|
private |
◆ m_SLTrackFitterTool
◆ m_storeFitMatricesAfterRefit
BooleanProperty Trk::AlignTrackPreProcessor::m_storeFitMatricesAfterRefit |
|
private |
Initial value:{
this, "StoreFitMatricesAfterRefit", true,
"flag to store derivative and covariance matrices after refit"}
Definition at line 64 of file AlignTrackPreProcessor.h.
◆ m_trackFitterTool
Initial value:{
this, "TrackFitterTool", "Trk::GlobalChi2Fitter/InDetTrackFitter"}
Definition at line 50 of file AlignTrackPreProcessor.h.
◆ m_trackSelectorTool
◆ m_useSingleFitter
BooleanProperty Trk::AlignTrackPreProcessor::m_useSingleFitter |
|
private |
Initial value:{this, "UseSingleFitter", false,
"only use 1 fitter for refitting track"}
Definition at line 74 of file AlignTrackPreProcessor.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
const ShapeFitter * fitter
Const iterator class for DataVector/DataList.
BooleanProperty m_refitTracks
BooleanProperty m_selectTracks
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
std::ostream * m_logStream
logfile output stream
#define ATH_MSG_VERBOSE(x)
bool isSLTrack() const
method to determine whether a straight line track or not
bool fit(const LArSamples::AbsShape &data, const AbsShape &reference, double &k, double &deltaT, double &chi2, const ScaledErrorData *sed=0) const
virtual void setOwner(IDataHandleHolder *o)=0
BooleanProperty m_selectHits
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Track * performSiliconHitSelection(const Track *, const ToolHandle< Trk::IGlobalTrackFitter > &)
select silicon hits by quality.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
BooleanProperty m_useSingleFitter
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelectorTool
ToolHandle< IGlobalTrackFitter > m_trackFitterTool
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
IntegerProperty m_particleHypothesis
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
BooleanProperty m_runOutlierRemoval
represents the track state (measurement, material, fit parameters and quality) at a surface.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
BooleanProperty m_storeFitMatricesAfterRefit
BooleanProperty m_fixMomentum
ToolHandle< IInDetAlignHitQualSelTool > m_hitQualityTool
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
ToolHandle< IGlobalTrackFitter > m_SLTrackFitterTool
static void dumpLessTrackInfo(const Track &track, MsgStream &msg)
dump less track information
bool empty() const noexcept
Returns true if the collection is empty.
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...