ATLAS Offline Software
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Trk::ReFitTrack Class Reference

Algorithm using an instance of a ITrackFitter to refit the tracks of a given track collection. More...

#include <ReFitTrack.h>

Inheritance diagram for Trk::ReFitTrack:
Collaboration diagram for Trk::ReFitTrack:

Public Types

typedef Trk::Track Track
 

Public Member Functions

 ReFitTrack (const std::string &name, ISvcLocator *pSvcLocator)
 standard Algorithm constructor More...
 
virtual StatusCode initialize ()
 
virtual StatusCode execute ()
 
virtual StatusCode finalize ()
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. 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 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 > &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
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

 ReFitTrack ()
 
 ReFitTrack (const ReFitTrack &)
 
ReFitTrackoperator= (const ReFitTrack &)
 
const Trk::RecVertexsetupConstrainedFit ()
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

SG::ReadHandleKey< TrackCollectionm_trackName
 
SG::WriteHandleKey< TrackCollectionm_newTrackName
 
Trk::RunOutlierRemoval m_runOutlier
 switch whether to run outlier logics or not More...
 
int m_matEffects
 type of material interaction in extrapolation More...
 
Trk::ParticleHypothesis m_ParticleHypothesis
 nomen est omen More...
 
const TrackCollectionm_tracks
 job option for main track collection More...
 
ToolHandle< Trk::ITrackFitterm_ITrackFitter
 the refit tool More...
 
ToolHandle< Trk::ITrackFitterm_ITrackFitterTRT
 the TRT refit tool More...
 
ToolHandle< Trk::IExtendedTrackSummaryToolm_trkSummaryTool
 the track summary tool More...
 
ToolHandle< Trk::IPRDtoTrackMapToolm_assoTool {this, "AssociationTool", "" }
 Tool to create and populate PRD to track association maps e.g. More...
 
ToolHandle< Trk::ITrackSelectorToolm_trkSelectorTool
 the track selector tool More...
 
unsigned int m_constrainFitMode
 0 - not constrained, 1 - vertex, 2 - beamspot More...
 
SG::ReadHandleKey< VxContainerm_vxContainerName
 
SG::ReadCondHandleKey< InDet::BeamSpotDatam_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" }
 
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollectionm_pixelDetEleCollKey {this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"}
 
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollectionm_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
 
ToolHandle< Trk::IExtrapolatorm_extrapolator
 the extrapolator for the consistent measurement frame More...
 
bool m_usetrackhypo
 Fit using particle hypothesis from input track
More...
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Algorithm using an instance of a ITrackFitter to refit the tracks of a given track collection.

Constraint fits are available:

Author
Maria.nosp@m..Jos.nosp@m.e.Cos.nosp@m.ta@c.nosp@m.ern.c.nosp@m.h, Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 45 of file ReFitTrack.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

◆ Track

Definition at line 49 of file ReFitTrack.h.

Constructor & Destructor Documentation

◆ ReFitTrack() [1/3]

Trk::ReFitTrack::ReFitTrack ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

standard Algorithm constructor

Definition at line 36 of file ReFitTrack.cxx.

36  :
37  AthAlgorithm(name,pSvcLocator),
38  m_trackName("Tracks"),
39  m_newTrackName("ReFitted_Tracks"),
40  m_runOutlier(false),
41  m_matEffects(3),
43  m_tracks(nullptr),
44  m_ITrackFitter("TrkKalmanFitter/KalmanFitter"),
46  m_trkSummaryTool(""),
49  m_vxContainerName("VxPrimaryCandidate"),
50  m_extrapolator("Trk::Extrapolator/InDetExtrapolator"),
51  m_usetrackhypo(false)
52 {
53 
54  // Get parameter values from jobOptions file
55  declareProperty("TrackName", m_trackName, "collection name for tracks to be refitted");
56  declareProperty("NewTrackName", m_newTrackName, "collection name for output tracks");
57  declareProperty("FitterTool", m_ITrackFitter, "ToolHandle for track fitter implementation");
58  declareProperty("FitterToolTRT", m_ITrackFitterTRT, "ToolHandle for TRT track fitter implementation");
59  declareProperty("SummaryTool" , m_trkSummaryTool, "ToolHandle for track summary tool");
60  declareProperty("TrackSelectionTool", m_trkSelectorTool, "ToolHandle for track selection tool");
61  declareProperty("runOutlier", m_runOutlier, "switch to control outlier finding in track fit");
62  declareProperty("matEffects", m_matEffects, "type of material interaction in extrapolation");
63  declareProperty("useParticleHypothesisFromTrack", m_usetrackhypo,"fit with particle hypothesis from original track");
64 
65  // constrained fitting
66  declareProperty("ConstrainFit", m_constrainFitMode,"mode switch if/how the track is constrained to the BS/Vx");
67  declareProperty("VertexCollection", m_vxContainerName,"Source for vertex to use for constraining tracks");
68  declareProperty("Extrapolator", m_extrapolator, "Extrapolator needed for coherent measurement frame.");
69 
70 
71 }

◆ ReFitTrack() [2/3]

Trk::ReFitTrack::ReFitTrack ( )
private

◆ ReFitTrack() [3/3]

Trk::ReFitTrack::ReFitTrack ( const ReFitTrack )
private

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode Trk::ReFitTrack::execute ( )
virtual

<

Todo:
: include sorting of outliers

Definition at line 136 of file ReFitTrack.cxx.

137 {
138  ATH_MSG_DEBUG ("ReFitTrack::execute()");
139  std::unique_ptr<Trk::PRDtoTrackMap> prd_to_track_map(m_assoTool->createPRDtoTrackMap());
140  const EventContext& ctx = Gaudi::Hive::currentContext();
142 
143  if (!tracks.isValid()){
144  msg(MSG::ERROR) <<"Track collection named " << m_trackName.key()
145  << " not found, exit ReFitTrack." << endmsg;
146  return StatusCode::SUCCESS;
147  } else {
148  ATH_MSG_DEBUG ("Tracks collection '" << m_trackName.key() << "' retrieved from EventStore.");
149  }
150 
151  ATH_MSG_DEBUG("Track fit configured with constrain option : " << m_constrainFitMode );
152 
153  // Handle the various possible constraints.
154  std::unique_ptr<const Trk::PerigeeSurface> constrainSf;
155  std::unique_ptr<const Trk::RecVertex> constrainVx;
156 
157  if (m_constrainFitMode > 0){
158  constrainVx.reset( setupConstrainedFit() );
159  }
160 
161  // constrain surface (either BS of VTX)
162  if (constrainVx) {
163  constrainSf = std::make_unique<Trk::PerigeeSurface>( constrainVx->position());
164  }
165 
167 
168  // create new collection of tracks to write in storegate
169  // auto newtracks = std::make_unique<TrackCollection>();
170  std::vector<std::unique_ptr<Trk::Track> > new_tracks;
171 
172  // loop over tracks
173  for (TrackCollection::const_iterator itr = (*tracks).begin(); itr < (*tracks).end(); ++itr){
174 
175  ATH_MSG_VERBOSE ("input track:" << **itr);
176 
177  if (m_usetrackhypo) hypo=(**itr).info().particleHypothesis();
178  std::unique_ptr<Trk::Track> newtrack;
179  bool trtonly=false;
180 
181  bool passedSelection = true;
182  // check whether the track passes the selection
183  if (*itr && !m_trkSelectorTool.empty()){
184  passedSelection = m_trkSelectorTool->decision(**itr);
185  }
186 
187 
188  if (!m_ITrackFitterTRT.name().empty() && !m_trkSummaryTool.name().empty()){
189  ATH_MSG_VERBOSE ("Creating summary");
190  // @TODO does not need PRDtoTrackMap
191  unsigned int n_trt_hits;
192  if ((*itr)->trackSummary()) {
193  n_trt_hits = (*itr)->trackSummary()->get(numberOfTRTHits);
194  }
195  else {
196  std::unique_ptr<const Trk::TrackSummary> summary( m_trkSummaryTool->summaryNoHoleSearch(**itr));
197  n_trt_hits = summary->get(numberOfTRTHits);
198  }
199  if ( (**itr).measurementsOnTrack()->size() - n_trt_hits<3 )
200  trtonly=true;
201  }
202 
203  if (passedSelection) {
204  ATH_MSG_VERBOSE ("Passed selection");
205 
206  const Trk::Perigee* origPerigee = (*itr)->perigeeParameters();
207  if (origPerigee){
208  double od0 = origPerigee->parameters()[Trk::d0];
209  double oz0 = origPerigee->parameters()[Trk::z0];
210  double ophi0 = origPerigee->parameters()[Trk::phi0];
211  double otheta = origPerigee->parameters()[Trk::theta];
212  double oqOverP = origPerigee->parameters()[Trk::qOverP];
213  ATH_MSG_DEBUG ("Original parameters " << od0 << " " << oz0 << " " << ophi0 << " " << otheta << " " << oqOverP);
214  }
215 
216  // create a measurement for the beamspot
217  if (constrainVx && origPerigee){
218 
219  ATH_MSG_VERBOSE ("Creating measurement for beamspot.");
220  // extrapolate the track to the vertex -- for consistent Measurement frame
221  std::unique_ptr<const Trk::TrackParameters> tp( m_extrapolator->extrapolateTrack(ctx,
222  **itr,
223  *constrainSf,
225  const Trk::Perigee* tpConstrainedSf = dynamic_cast<const Trk::Perigee*>(tp.get());
226  // create the vertex/beamsptOnTrack
227  std::unique_ptr<Trk::VertexOnTrack> bsvxOnTrack( tpConstrainedSf ? new Trk::VertexOnTrack(*constrainVx,*tpConstrainedSf) : nullptr );
228  std::vector<const MeasurementBase*> vec;
229  if (tpConstrainedSf) vec.push_back(bsvxOnTrack.get() );
230  // get the measurmentsOnTrack
231  const DataVector<const MeasurementBase>* measurementsOnTracks = (**itr).measurementsOnTrack();
232  // get the outliersOnTrack, needs sorting
234  // clone measurements and outliers into the track
235  DataVector<const MeasurementBase>::const_iterator measIter = measurementsOnTracks->begin();
236  DataVector<const MeasurementBase>::const_iterator measIterEnd = measurementsOnTracks->end();
237  for ( ; measIter != measIterEnd; ++measIter)
238  vec.push_back((*measIter));
239  // if - protect the outliers ...
240  // const DataVector<const MeasurementBase>* outliersOnTracks = (**itr).outliersOnTrack();
241  // measIter = outliersOnTracks->begin();
242  // measIterEnd = outliersOnTracks->end();
243  // for ( ; measIter != measIterEnd; ++measIter)
244  // vec.push_back((*measIter));
245  // refit with the beamspot / vertex
246  newtrack = ((trtonly ? m_ITrackFitterTRT : m_ITrackFitter)
247  ->fit(Gaudi::Hive::currentContext(),
248  vec,
249  *origPerigee,
250  m_runOutlier,
251  hypo));
252  // now delete the vsvx
253  } else {
254  newtrack =
255  ((trtonly ? m_ITrackFitterTRT : m_ITrackFitter)
256  ->fit(Gaudi::Hive::currentContext(), **itr, m_runOutlier, hypo));
257  }
258  } // passed selection
259 
260  if (msgLvl(MSG::DEBUG)) {
261  if (!newtrack) ATH_MSG_DEBUG ("Refit Failed");
262  else {
263 
264  // ATH_MSG_VERBOSE ("re-fitted track:" << *newtrack);
265  const Trk::Perigee *aMeasPer=
266  dynamic_cast<const Trk::Perigee*>(newtrack->perigeeParameters () );
267  if (aMeasPer==nullptr){
268  msg(MSG::ERROR) << "Could not get Trk::MeasuredPerigee" << endmsg;
269  continue;
270  }
271  double d0 = aMeasPer->parameters()[Trk::d0];
272  double z0 = aMeasPer->parameters()[Trk::z0];
273  double phi0 = aMeasPer->parameters()[Trk::phi0];
274  double theta = aMeasPer->parameters()[Trk::theta];
275  double qOverP = aMeasPer->parameters()[Trk::qOverP];
276  ATH_MSG_DEBUG ("Refitted parameters " << d0 << " " << z0 << " " << phi0 << " " << theta << " " << qOverP);
277  }
278  }
279 
280  if (newtrack) {
281  new_tracks.push_back(std::move(newtrack));
282  }
283 
284  }
285 
286  ATH_MSG_VERBOSE ("Add PRDs to assoc tool.");
287 
288  // recreate the summaries on the final track collection with correct PRD tool
289  for(const std::unique_ptr<Trk::Track> &new_track : new_tracks ) {
290  if((m_assoTool->addPRDs(*prd_to_track_map, *new_track)).isFailure()) {ATH_MSG_WARNING("Failed to add PRDs to map");}
291  }
292 
293  ATH_MSG_VERBOSE ("Recalculate the summary");
294  // and copy tracks from vector of non-const tracks to collection of const tracks
295  std::unique_ptr<TrackCollection> new_track_collection = std::make_unique<TrackCollection>();
296  new_track_collection->reserve(new_tracks.size());
297  for(std::unique_ptr<Trk::Track> &new_track : new_tracks ) {
298  m_trkSummaryTool->computeAndReplaceTrackSummary(*new_track, false /* DO NOT suppress hole search*/);
299  new_track_collection->push_back(std::move(new_track));
300  }
301 
302  ATH_MSG_VERBOSE ("Save tracks");
303  ATH_CHECK(SG::WriteHandle<TrackCollection>(m_newTrackName).record(std::move(new_track_collection)));
304 
305  return StatusCode::SUCCESS;
306 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

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

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ finalize()

StatusCode Trk::ReFitTrack::finalize ( )
virtual

Definition at line 309 of file ReFitTrack.cxx.

310 {
311  msg(MSG::INFO) << "ReFitTrack::finalize()" << endmsg;
312  return StatusCode::SUCCESS;
313 }

◆ initialize()

StatusCode Trk::ReFitTrack::initialize ( )
virtual

Definition at line 74 of file ReFitTrack.cxx.

75 {
76  ATH_MSG_INFO("ReFitTrack::initialize()");
77 
78  if (m_ITrackFitter.retrieve().isFailure()) {
79  msg(MSG::FATAL) << "Failed to retrieve tool "<<m_ITrackFitter.typeAndName()<<endmsg;
80  return StatusCode::FAILURE;
81  } else
82  msg(MSG::INFO) << "Retrieved general fitter " << m_ITrackFitter.typeAndName() << endmsg;
83 
84  if (!m_ITrackFitterTRT.name().empty()){
85  if (m_ITrackFitterTRT.retrieve().isFailure()) {
86  msg(MSG::FATAL) << "Failed to retrieve tool " << m_ITrackFitterTRT.typeAndName()<<endmsg;
87  return StatusCode::FAILURE;
88  } else
89  msg(MSG::INFO) << "Retrieved fitter for TRT-only tracks " << m_ITrackFitterTRT.typeAndName() << endmsg;
90  }
91 
92  if (!m_trkSummaryTool.name().empty()){
93  if (m_trkSummaryTool.retrieve().isFailure()) {
94  msg(MSG::FATAL) << "Failed to retrieve tool " << m_trkSummaryTool << endmsg;
95  return StatusCode::FAILURE;
96  } else
97  msg(MSG::INFO) << "Retrieved tool " << m_trkSummaryTool.typeAndName() << endmsg;
98  }
99  if ( m_assoTool.retrieve().isFailure() ) {
100  msg(MSG::FATAL) << "Failed to retrieve tool " << m_assoTool << endmsg;
101  return StatusCode::FAILURE;
102  } else ATH_MSG_INFO("Retrieved tool " << m_assoTool);
103 
104  if (!m_trkSelectorTool.empty()){
105  if (m_trkSelectorTool.retrieve().isFailure()) {
106  msg(MSG::FATAL) << "Failed to retrieve tool " << m_trkSelectorTool << ". No Track Selection will be done." << endmsg;
107  return StatusCode::FAILURE;
108  } else
109  msg(MSG::INFO) << "Retrieved tool " << m_trkSelectorTool.typeAndName() << endmsg;
110  }
111 
112  // beam conditions service
113  if (m_constrainFitMode) {
115  }
116 
117  // extrapolator
118  if (m_constrainFitMode && m_extrapolator.retrieve().isFailure()){
119  ATH_MSG_FATAL( "Failed to retrieve " << m_extrapolator );
120  return StatusCode::FAILURE;
121  }
122 
123  // Configuration of the material effects
125 
126  ATH_CHECK( m_trackName.initialize() );
128  ATH_CHECK( m_newTrackName.initialize() );
131 
132  return StatusCode::SUCCESS;
133 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

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.

◆ msg() [1/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ operator=()

ReFitTrack& Trk::ReFitTrack::operator= ( const ReFitTrack )
private

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

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.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ setupConstrainedFit()

const Trk::RecVertex * Trk::ReFitTrack::setupConstrainedFit ( )
private

Definition at line 315 of file ReFitTrack.cxx.

316 {
317  // constrainVx
318  const Trk::RecVertex* constrainVx = nullptr;
319  if ( m_constrainFitMode == 2 ){
320  // Beamspot mode
322  // get vertex position and uncertainties from BeamCondSvc
323  constrainVx = new Trk::RecVertex(beamSpotHandle->beamVtx());
324  ATH_MSG_DEBUG("Track fit with BeamSpot constraint (x/y/z) = "
325  << constrainVx->position().x() << ", "
326  << constrainVx->position().y() << ", "
327  << constrainVx->position().z());
328  } else if (m_constrainFitMode ==1){
329  // Vertex mode
331  ATH_MSG_DEBUG("Track fit with vertex from collection '" << m_vxContainerName.key() << "'.");
332  if (!vxContainer.isValid())
333  ATH_MSG_WARNING("Track fit configured to use vertex constraint, but '" << m_vxContainerName.key() << "' could not be retrieved.");
334  else if (vxContainer->size() == 1 ) {
335  ATH_MSG_WARNING("Track fit configured to use vertex constraint, but '" << m_vxContainerName.key() << "' contains only dummy vertex.");
336  } else {
337  // only refit to the 'signal' vertex
338  constrainVx = new Trk::RecVertex( (*vxContainer)[0]->recVertex() ); // Just copy it to simplify ownership.
339  ATH_MSG_DEBUG("Track fit with Vertex constraint (x/y/z) = "
340  << constrainVx->position().x() << ", "
341  << constrainVx->position().y() << ", "
342  << constrainVx->position().z());
343  }
344  } else {
345  ATH_MSG_WARNING("Unknown constraint mode: "<< m_constrainFitMode);
346  }
347  return constrainVx;
348 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_assoTool

ToolHandle<Trk::IPRDtoTrackMapTool> Trk::ReFitTrack::m_assoTool {this, "AssociationTool", "" }
private

Tool to create and populate PRD to track association maps e.g.

InDet::InDetPRDtoTrackMapToolGangedPixels

Definition at line 81 of file ReFitTrack.h.

◆ m_beamSpotKey

SG::ReadCondHandleKey<InDet::BeamSpotData> Trk::ReFitTrack::m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" }
private

Definition at line 89 of file ReFitTrack.h.

◆ m_constrainFitMode

unsigned int Trk::ReFitTrack::m_constrainFitMode
private

0 - not constrained, 1 - vertex, 2 - beamspot

Definition at line 87 of file ReFitTrack.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_extrapolator

ToolHandle<Trk::IExtrapolator> Trk::ReFitTrack::m_extrapolator
private

the extrapolator for the consistent measurement frame

Definition at line 93 of file ReFitTrack.h.

◆ m_ITrackFitter

ToolHandle<Trk::ITrackFitter> Trk::ReFitTrack::m_ITrackFitter
private

the refit tool

Definition at line 78 of file ReFitTrack.h.

◆ m_ITrackFitterTRT

ToolHandle<Trk::ITrackFitter> Trk::ReFitTrack::m_ITrackFitterTRT
private

the TRT refit tool

Definition at line 79 of file ReFitTrack.h.

◆ m_matEffects

int Trk::ReFitTrack::m_matEffects
private

type of material interaction in extrapolation

Definition at line 72 of file ReFitTrack.h.

◆ m_newTrackName

SG::WriteHandleKey<TrackCollection> Trk::ReFitTrack::m_newTrackName
private

Definition at line 68 of file ReFitTrack.h.

◆ m_ParticleHypothesis

Trk::ParticleHypothesis Trk::ReFitTrack::m_ParticleHypothesis
private

nomen est omen

Definition at line 73 of file ReFitTrack.h.

◆ m_pixelDetEleCollKey

SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> Trk::ReFitTrack::m_pixelDetEleCollKey {this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"}
private

Definition at line 91 of file ReFitTrack.h.

◆ m_runOutlier

Trk::RunOutlierRemoval Trk::ReFitTrack::m_runOutlier
private

switch whether to run outlier logics or not

Definition at line 71 of file ReFitTrack.h.

◆ m_SCTDetEleCollKey

SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> Trk::ReFitTrack::m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
private

Definition at line 92 of file ReFitTrack.h.

◆ m_trackName

SG::ReadHandleKey<TrackCollection> Trk::ReFitTrack::m_trackName
private

Definition at line 67 of file ReFitTrack.h.

◆ m_tracks

const TrackCollection* Trk::ReFitTrack::m_tracks
private

job option for main track collection

Definition at line 77 of file ReFitTrack.h.

◆ m_trkSelectorTool

ToolHandle<Trk::ITrackSelectorTool> Trk::ReFitTrack::m_trkSelectorTool
private

the track selector tool

Definition at line 85 of file ReFitTrack.h.

◆ m_trkSummaryTool

ToolHandle<Trk::IExtendedTrackSummaryTool> Trk::ReFitTrack::m_trkSummaryTool
private

the track summary tool

Definition at line 80 of file ReFitTrack.h.

◆ m_usetrackhypo

bool Trk::ReFitTrack::m_usetrackhypo
private

Fit using particle hypothesis from input track

Definition at line 95 of file ReFitTrack.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_vxContainerName

SG::ReadHandleKey<VxContainer> Trk::ReFitTrack::m_vxContainerName
private

Definition at line 88 of file ReFitTrack.h.


The documentation for this class was generated from the following files:
DataVector::reserve
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
Trk::ReFitTrack::m_runOutlier
Trk::RunOutlierRemoval m_runOutlier
switch whether to run outlier logics or not
Definition: ReFitTrack.h:71
Trk::ReFitTrack::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
the extrapolator for the consistent measurement frame
Definition: ReFitTrack.h:93
Trk::anyDirection
@ anyDirection
Definition: PropDirection.h:22
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::ReFitTrack::m_assoTool
ToolHandle< Trk::IPRDtoTrackMapTool > m_assoTool
Tool to create and populate PRD to track association maps e.g.
Definition: ReFitTrack.h:82
ParticleTest.tp
tp
Definition: ParticleTest.py:25
Trk::z0
@ z0
Definition: ParamDefs.h:64
AthCommonMsg< Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
Trk::ReFitTrack::setupConstrainedFit
const Trk::RecVertex * setupConstrainedFit()
Definition: ReFitTrack.cxx:315
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
Trk::ReFitTrack::m_vxContainerName
SG::ReadHandleKey< VxContainer > m_vxContainerName
Definition: ReFitTrack.h:88
Trk::RecVertex
Trk::RecVertex inherits from Trk::Vertex.
Definition: RecVertex.h:44
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::ReFitTrack::m_ParticleHypothesis
Trk::ParticleHypothesis m_ParticleHypothesis
nomen est omen
Definition: ReFitTrack.h:73
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Trk::theta
@ theta
Definition: ParamDefs.h:66
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::ReFitTrack::m_ITrackFitterTRT
ToolHandle< Trk::ITrackFitter > m_ITrackFitterTRT
the TRT refit tool
Definition: ReFitTrack.h:79
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
Trk::ReFitTrack::m_ITrackFitter
ToolHandle< Trk::ITrackFitter > m_ITrackFitter
the refit tool
Definition: ReFitTrack.h:78
Trk::ReFitTrack::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: ReFitTrack.h:92
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
Trk::Vertex::position
const Amg::Vector3D & position() const
return position of vertex
Definition: Vertex.cxx:72
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
Trk::ReFitTrack::m_matEffects
int m_matEffects
type of material interaction in extrapolation
Definition: ReFitTrack.h:72
Trk::VertexOnTrack
Definition: VertexOnTrack.h:45
MuonValidation_CreateResolutionProfiles.fit
def fit(h, emin, emax)
Definition: MuonValidation_CreateResolutionProfiles.py:69
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::ReFitTrack::m_newTrackName
SG::WriteHandleKey< TrackCollection > m_newTrackName
Definition: ReFitTrack.h:68
Trk::Track::perigeeParameters
const Perigee * perigeeParameters() const
return Perigee.
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:163
Trk::numberOfTRTHits
@ numberOfTRTHits
number of TRT outliers
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:79
Trk::ReFitTrack::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: ReFitTrack.h:89
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Trk::d0
@ d0
Definition: ParamDefs.h:63
Trk::ReFitTrack::m_trkSummaryTool
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trkSummaryTool
the track summary tool
Definition: ReFitTrack.h:80
Trk::ReFitTrack::m_tracks
const TrackCollection * m_tracks
job option for main track collection
Definition: ReFitTrack.h:77
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
Trk::ReFitTrack::m_trkSelectorTool
ToolHandle< Trk::ITrackSelectorTool > m_trkSelectorTool
the track selector tool
Definition: ReFitTrack.h:85
Trk::ReFitTrack::m_constrainFitMode
unsigned int m_constrainFitMode
0 - not constrained, 1 - vertex, 2 - beamspot
Definition: ReFitTrack.h:87
Trk::ReFitTrack::m_trackName
SG::ReadHandleKey< TrackCollection > m_trackName
Definition: ReFitTrack.h:67
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
DEBUG
#define DEBUG
Definition: page_access.h:11
Trk::ReFitTrack::m_usetrackhypo
bool m_usetrackhypo
Fit using particle hypothesis from input track
Definition: ReFitTrack.h:95
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:67
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
Trk::ReFitTrack::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: ReFitTrack.h:91
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
Trk::phi0
@ phi0
Definition: ParamDefs.h:65
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65