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

#include <GaussianDensityTestAlg.h>

Inheritance diagram for Trk::GaussianDensityTestAlg:
Collaboration diagram for Trk::GaussianDensityTestAlg:

Public Member Functions

 GaussianDensityTestAlg (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor with parameters: More...
 
virtual ~GaussianDensityTestAlg ()
 Destructor: 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

double ipSignificance (const Trk::TrackParameters *params, const Amg::Vector3D *vertex) const
 
StatusCode findTruth (double mode, const std::vector< Trk::ITrackLink * > &trackVector, std::vector< Amg::Vector3D > &truth, TH1 *h_truthDensity, TH1 *h_modeCheck) const
 
 GaussianDensityTestAlg ()
 
void selectTracks (const xAOD::TrackParticleContainer *trackParticles, std::vector< Trk::ITrackLink * > &trackVector)
 
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...
 

Static Private Member Functions

static void analyzeTracks (const std::vector< Trk::ITrackLink * > &trackVector, std::vector< const Trk::TrackParameters * > &perigeeList)
 

Private Attributes

Gaudi::Property< double > m_significanceTruthCut
 
Gaudi::Property< int > m_truthVertexTracks
 
bool m_useBeamConstraint
 
bool m_firstEvent
 
ToolHandle< InDet::IInDetTrackSelectionToolm_trackFilter
 
ToolHandle< Trk::IVertexTrackDensityEstimatorm_estimator
 
ToolHandle< Trk::ITrackToVertexIPEstimatorm_ipEstimator
 
SG::ReadCondHandleKey< InDet::BeamSpotDatam_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" }
 
ServiceHandle< ITHistSvc > m_iTHistSvc
 
SG::ReadHandleKey< xAOD::TrackParticleContainerm_trackParticlesKey
 Data handle keys. More...
 
SG::ReadHandleKey< xAOD::TruthEventContainerm_truthEventsKey
 
SG::ReadHandleKey< xAOD::TruthPileupEventContainerm_pileupEventsKey
 
TH1m_h_density {}
 Histograms and trees. More...
 
TH1m_h_truthDensity {}
 
TH1m_h_truthVertices {}
 
TH1m_h_modeCheck {}
 
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

Definition at line 46 of file GaussianDensityTestAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ GaussianDensityTestAlg() [1/2]

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

Constructor with parameters:

Definition at line 31 of file GaussianDensityTestAlg.cxx.

32  :
33  ::AthAlgorithm( name, pSvcLocator ),
34  m_useBeamConstraint(true),
35  m_firstEvent(true),
36  m_iTHistSvc("THistSvc", name)
37 {
38  //
39  // Property declaration
40  //
41 }

◆ ~GaussianDensityTestAlg()

Trk::GaussianDensityTestAlg::~GaussianDensityTestAlg ( )
virtualdefault

Destructor:

◆ GaussianDensityTestAlg() [2/2]

Trk::GaussianDensityTestAlg::GaussianDensityTestAlg ( )
private

Member Function Documentation

◆ analyzeTracks()

void Trk::GaussianDensityTestAlg::analyzeTracks ( const std::vector< Trk::ITrackLink * > &  trackVector,
std::vector< const Trk::TrackParameters * > &  perigeeList 
)
staticprivate

Definition at line 124 of file GaussianDensityTestAlg.cxx.

126 {
127  for (auto *seedtrkAtVtxIter : trackVector)
128  {
129  perigeeList.push_back( seedtrkAtVtxIter->parameters() );
130  }
131 }

◆ 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::GaussianDensityTestAlg::execute ( )
virtual

Definition at line 82 of file GaussianDensityTestAlg.cxx.

83 {
84  ATH_MSG_DEBUG ("Executing " << name() << "...");
85 
87 
88  ATH_MSG_VERBOSE("Selecting tracks");
89  std::vector<Trk::ITrackLink*> trackVector;
90  selectTracks(trackParticles.cptr(), trackVector);
91 
92  std::vector<const Trk::TrackParameters*> perigeeList;
93  analyzeTracks(trackVector, perigeeList);
94 
95  ATH_MSG_VERBOSE("Using density estimator");
96  std::unique_ptr<Trk::IVertexTrackDensityEstimator::ITrackDensity> dens;
97  double mode = m_estimator->globalMaximum (perigeeList, dens);
98 
99  if (m_firstEvent)
100  {
101  for (int i = 0; i < 800; i++)
102  {
103  double z = -200.0 + 0.25 + i*0.5;
104  double density = dens->trackDensity(z);
105  m_h_density->Fill((float) z, (float) density);
106  }
107  }
108  ATH_MSG_VERBOSE("Analyzing MC truth");
109  std::vector<Amg::Vector3D> truth;
110  ATH_CHECK( findTruth(mode, trackVector, truth, m_h_truthDensity, m_h_modeCheck) );
111  if (m_firstEvent)
112  {
113  ATH_MSG_VERBOSE("Filling truth vertex histogram");
114  for (auto& v : truth) m_h_truthVertices->Fill( v[2] );
115  }
116  m_firstEvent = false;
117  return StatusCode::SUCCESS;
118 }

◆ 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::GaussianDensityTestAlg::finalize ( )
virtual

Definition at line 76 of file GaussianDensityTestAlg.cxx.

77 {
78  ATH_MSG_INFO ("Finalizing " << name() << "...");
79  return StatusCode::SUCCESS;
80 }

◆ findTruth()

StatusCode Trk::GaussianDensityTestAlg::findTruth ( double  mode,
const std::vector< Trk::ITrackLink * > &  trackVector,
std::vector< Amg::Vector3D > &  truth,
TH1 h_truthDensity,
TH1 h_modeCheck 
) const
private

Definition at line 175 of file GaussianDensityTestAlg.cxx.

180 {
181  double modeClosestDistance = std::numeric_limits<double>::max();
182 
184 
186  if ( signalEvents.isValid() )
187  {
188  ATH_MSG_VERBOSE("Found signalEvents");
189  for (const xAOD::TruthEventBase* evt : *signalEvents)
190  {
191  const xAOD::TruthVertex* vLink = *(evt->truthVertexLink(0));
192  if (vLink == nullptr){
193  ATH_MSG_ERROR("Invalid truthVertexLink from signalEvents in GaussianDensityTestAlg::findTruth");
194  return StatusCode::FAILURE;
195  }
196  Amg::Vector3D vTruth(vLink->x(),vLink->y(),vLink->z());
197  int nGoodTracks = 0;
198  for (auto *trk : trackVector)
199  {
201  if (lxtp)
202  {
203  bool isAssoc = truthParticleAssoc(**(*lxtp)).isValid();
204  if (isAssoc)
205  {
206  const auto& assocParticle = truthParticleAssoc(**(*lxtp));
207  ATH_MSG_VERBOSE("Found associated truth particle");
208  for (const auto& truthParticle : evt->truthParticleLinks())
209  {
210  if (!truthParticle.isValid()) continue;
211  if (assocParticle == truthParticle)
212  {
213  ATH_MSG_VERBOSE("Calling ipSignificance");
214  double significance = ipSignificance(trk->parameters(), &vTruth);
215  ATH_MSG_VERBOSE("ipSignificance returned " << significance);
216  if (significance <= m_significanceTruthCut)
217  {
218  ATH_MSG_VERBOSE("Adding good track");
219  nGoodTracks++;
220  const Trk::Perigee* perigee = dynamic_cast<const Trk::Perigee*>(trk->parameters());
221  if (perigee == nullptr) ATH_MSG_ERROR("Invalid Perigee");
222  if (m_firstEvent)
223  {
224  h_truthDensity->Fill(vLink->z());
225  ATH_MSG_VERBOSE("Filled truth density histogram");
226  }
227  }
228  break;
229  }
230  }
231  }
232  else
233  {
234  ATH_MSG_VERBOSE("No associated truth particle found");
235  }
236  }
237  }
238  if (nGoodTracks >= m_truthVertexTracks)
239  {
240  truth.push_back(vTruth);
241  if (abs(modeClosestDistance) > abs(mode - vTruth[2]))
242  modeClosestDistance = mode - vTruth[2];
243  }
244  }
245  }
246  else
247  {
248  ATH_MSG_WARNING("No TruthEventContainer found");
249  }
250 
252  if ( pileupEvents.isValid() )
253  {
254  ATH_MSG_VERBOSE("Found pileupEvents");
255  for (const xAOD::TruthEventBase* evt : *pileupEvents)
256  {
257  const xAOD::TruthVertex* vLink = *(evt->truthVertexLink(0));
258  if (vLink == nullptr) {
259  ATH_MSG_ERROR("Invalid truthVertexLink from pileupEvents");
260  return StatusCode::FAILURE;
261  }
262  Amg::Vector3D vTruth(vLink->x(),vLink->y(),vLink->z());
263  int nGoodTracks = 0;
264  for (auto *trk : trackVector)
265  {
267  if (lxtp)
268  {
269  bool isAssoc = truthParticleAssoc(**(*lxtp)).isValid();
270  if (isAssoc)
271  {
272  const auto& assocParticle = truthParticleAssoc(**(*lxtp));
273  ATH_MSG_VERBOSE("Found associated truth particle");
274  for (const auto& truthParticle : evt->truthParticleLinks())
275  {
276  if (!truthParticle.isValid()) continue;
277  if (assocParticle == truthParticle)
278  {
279  ATH_MSG_VERBOSE("Calling ipSignificance");
280  double significance = ipSignificance(trk->parameters(), &vTruth);
281  ATH_MSG_VERBOSE("ipSignificance returned " << significance);
282  if (significance <= m_significanceTruthCut)
283  {
284  ATH_MSG_VERBOSE("Adding good track");
285  nGoodTracks++;
286  const Trk::Perigee* perigee = dynamic_cast<const Trk::Perigee*>(trk->parameters());
287  if (perigee == nullptr) ATH_MSG_ERROR("Invalid Perigee");
288  if (m_firstEvent)
289  {
290  h_truthDensity->Fill(vLink->z());
291  ATH_MSG_VERBOSE("Filled truth density histogram");
292  }
293  }
294  break;
295  }
296  }
297  }
298  else
299  {
300  ATH_MSG_VERBOSE("No associated truth particle found");
301  }
302  }
303  }
304  if (nGoodTracks >= m_truthVertexTracks)
305  {
306  truth.push_back(vTruth);
307  if (abs(modeClosestDistance) > abs(mode - vTruth[2]))
308  modeClosestDistance = mode - vTruth[2];
309  }
310  }
311  }
312  else
313  {
314  ATH_MSG_WARNING("No TruthPileupEventContainer found");
315  }
316 
317  h_modeCheck->Fill( modeClosestDistance );
318  return StatusCode::SUCCESS;
319  }

◆ initialize()

StatusCode Trk::GaussianDensityTestAlg::initialize ( )
virtual

Definition at line 50 of file GaussianDensityTestAlg.cxx.

51 {
52  ATH_MSG_INFO ("Initializing " << name() << "...");
53 
55  ATH_CHECK( m_truthEventsKey.initialize() );
56  ATH_CHECK( m_pileupEventsKey.initialize() );
57 
58  ATH_CHECK( m_estimator.retrieve() );
59  ATH_CHECK( m_trackFilter.retrieve() );
60  ATH_CHECK( m_ipEstimator.retrieve() );
62  // setup histograms/trees
63  m_h_density = new TH1F("Density", "Density", 800, -200.0, 200.0);
64  m_h_truthDensity = new TH1F("Truth", "Truth", 800, -200.0, 200.0);
65  m_h_truthVertices = new TH1F("TruthVertices", "TruthVertices", 800, -200.0, 200.0);
66  m_h_modeCheck = new TH1F("ModeOffset", "ModeOffset", 100, -2.0, 2.0);
67 
68  CHECK( m_iTHistSvc->regHist("/file1/h/density", m_h_density) );
69  CHECK( m_iTHistSvc->regHist("/file1/h/truth", m_h_truthDensity) );
70  CHECK( m_iTHistSvc->regHist("/file1/h/truthvertices", m_h_truthVertices) );
71  CHECK( m_iTHistSvc->regHist("/file1/h/modeoffset", m_h_modeCheck) );
72 
73  return StatusCode::SUCCESS;
74 }

◆ 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.

◆ ipSignificance()

double Trk::GaussianDensityTestAlg::ipSignificance ( const Trk::TrackParameters params,
const Amg::Vector3D vertex 
) const
private

Definition at line 321 of file GaussianDensityTestAlg.cxx.

323  {
324  xAOD::Vertex v;
325  v.makePrivateStore();
326  v.setPosition(*vertex);
327  v.setCovariancePosition(AmgSymMatrix(3)::Zero(3,3));
328  v.setFitQuality(0., 0.);
329 
330  double significance = 0.0;
331  std::unique_ptr<ImpactParametersAndSigma> ipas = m_ipEstimator->estimate( params, &v );
332  if ( ipas != nullptr )
333  {
334  if ( ipas->sigmad0 > 0 && ipas->sigmaz0 > 0)
335  {
336  significance = sqrt( pow(ipas->IPd0/ipas->sigmad0,2) + pow(ipas->IPz0/ipas->sigmaz0,2) );
337  }
338  }
339  return significance;
340  }

◆ 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  }

◆ 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  }

◆ selectTracks()

void Trk::GaussianDensityTestAlg::selectTracks ( const xAOD::TrackParticleContainer trackParticles,
std::vector< Trk::ITrackLink * > &  trackVector 
)
private

Definition at line 133 of file GaussianDensityTestAlg.cxx.

135 {
136  bool selectionPassed{false};
137  const InDet::BeamSpotData* beamspot = nullptr;
140  if(beamSpotHandle.isValid()) beamspot = beamSpotHandle.retrieve();
141  }
142  for (auto itr = trackParticles->begin(); itr != trackParticles->end(); ++itr) {
143  if (m_useBeamConstraint) {
144  xAOD::Vertex beamposition;
145  beamposition.makePrivateStore();
146  beamposition.setPosition(beamspot->beamVtx().position());
147  beamposition.setCovariancePosition(beamspot->beamVtx().covariancePosition());
148  selectionPassed=static_cast<bool>(m_trackFilter->accept(**itr,&beamposition));
149  }
150  else
151  {
152  xAOD::Vertex null;
153  null.makePrivateStore();
154  null.setPosition(Amg::Vector3D(0,0,0));
155  AmgSymMatrix(3) vertexError;
156  vertexError.setZero();
157  null.setCovariancePosition(vertexError);
158  selectionPassed=static_cast<bool>(m_trackFilter->accept(**itr,&null));
159  }
160  if (selectionPassed)
161  {
163  link.setElement(*itr);
165  linkTT->setStorableObject(*trackParticles);
166  trackVector.push_back(linkTT);
167  }
168  }
169 }

◆ 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_beamSpotKey

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

Definition at line 122 of file GaussianDensityTestAlg.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_estimator

ToolHandle< Trk::IVertexTrackDensityEstimator > Trk::GaussianDensityTestAlg::m_estimator
private
Initial value:
{ this, "Estimator", "Trk::GaussianTrackDensity",
"Track density function" }

Definition at line 114 of file GaussianDensityTestAlg.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_firstEvent

bool Trk::GaussianDensityTestAlg::m_firstEvent
private

Definition at line 107 of file GaussianDensityTestAlg.h.

◆ m_h_density

TH1* Trk::GaussianDensityTestAlg::m_h_density {}
private

Histograms and trees.

Definition at line 137 of file GaussianDensityTestAlg.h.

◆ m_h_modeCheck

TH1* Trk::GaussianDensityTestAlg::m_h_modeCheck {}
private

Definition at line 140 of file GaussianDensityTestAlg.h.

◆ m_h_truthDensity

TH1* Trk::GaussianDensityTestAlg::m_h_truthDensity {}
private

Definition at line 138 of file GaussianDensityTestAlg.h.

◆ m_h_truthVertices

TH1* Trk::GaussianDensityTestAlg::m_h_truthVertices {}
private

Definition at line 139 of file GaussianDensityTestAlg.h.

◆ m_ipEstimator

ToolHandle< Trk::ITrackToVertexIPEstimator > Trk::GaussianDensityTestAlg::m_ipEstimator
private
Initial value:
{ this, "IPEstimator", "Trk::TrackToVertexIPEstimator",
"Impact point estimator" }

Definition at line 117 of file GaussianDensityTestAlg.h.

◆ m_iTHistSvc

ServiceHandle< ITHistSvc > Trk::GaussianDensityTestAlg::m_iTHistSvc
private

Definition at line 123 of file GaussianDensityTestAlg.h.

◆ m_pileupEventsKey

SG::ReadHandleKey<xAOD::TruthPileupEventContainer> Trk::GaussianDensityTestAlg::m_pileupEventsKey
private
Initial value:
{ this, "TruthPileupEvents", "TruthPileupEvents",
"Key for truth pileup event collection" }

Definition at line 132 of file GaussianDensityTestAlg.h.

◆ m_significanceTruthCut

Gaudi::Property<double> Trk::GaussianDensityTestAlg::m_significanceTruthCut
private
Initial value:
{ this,
"SignificanceTruthCut",
3.0,
"Reco track must pass within this many sigma of pp vertex to be good" }

Definition at line 96 of file GaussianDensityTestAlg.h.

◆ m_trackFilter

ToolHandle< InDet::IInDetTrackSelectionTool > Trk::GaussianDensityTestAlg::m_trackFilter
private
Initial value:
{ this, "TrackSelector",
"InDet::InDetTrackSelectionTool/InDetDetailedTrackSelectionTool",
"Track selection tool" }

Definition at line 110 of file GaussianDensityTestAlg.h.

◆ m_trackParticlesKey

SG::ReadHandleKey<xAOD::TrackParticleContainer> Trk::GaussianDensityTestAlg::m_trackParticlesKey
private
Initial value:
{ this, "TrackParticles", "InDetTrackParticles",
"Input track particle collection" }

Data handle keys.

Definition at line 126 of file GaussianDensityTestAlg.h.

◆ m_truthEventsKey

SG::ReadHandleKey<xAOD::TruthEventContainer> Trk::GaussianDensityTestAlg::m_truthEventsKey
private
Initial value:
{ this, "TruthEvents", "TruthEvents",
"Key for truth event collection" }

Definition at line 129 of file GaussianDensityTestAlg.h.

◆ m_truthVertexTracks

Gaudi::Property<int> Trk::GaussianDensityTestAlg::m_truthVertexTracks
private
Initial value:
{ this,
"MinTruthVertexTracks",
2,
"Minimum associated reconstructed tracks for vertex to be considered visible" }

Definition at line 101 of file GaussianDensityTestAlg.h.

◆ m_useBeamConstraint

bool Trk::GaussianDensityTestAlg::m_useBeamConstraint
private

Definition at line 106 of file GaussianDensityTestAlg.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.


The documentation for this class was generated from the following files:
xAOD::Vertex_v1::setPosition
void setPosition(const Amg::Vector3D &position)
Sets the 3-position.
Trk::GaussianDensityTestAlg::m_h_modeCheck
TH1 * m_h_modeCheck
Definition: GaussianDensityTestAlg.h:140
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Trk::GaussianDensityTestAlg::selectTracks
void selectTracks(const xAOD::TrackParticleContainer *trackParticles, std::vector< Trk::ITrackLink * > &trackVector)
Definition: GaussianDensityTestAlg.cxx:133
max
#define max(a, b)
Definition: cfImp.cxx:41
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:63
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::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::GaussianDensityTestAlg::m_h_truthVertices
TH1 * m_h_truthVertices
Definition: GaussianDensityTestAlg.h:139
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
CutsMETMaker::accept
StatusCode accept(const xAOD::Muon *mu)
Definition: CutsMETMaker.cxx:18
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
Trk::GaussianDensityTestAlg::m_trackFilter
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackFilter
Definition: GaussianDensityTestAlg.h:110
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
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
InDet::BeamSpotData::beamVtx
const Trk::RecVertex & beamVtx() const noexcept
Definition: BeamSpotData.h:79
Trk::IVertexTrackDensityEstimator::ITrackDensity::trackDensity
virtual double trackDensity(double z) const =0
Evaluate the density function at the specified coordinate along the beamline.
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Trk::GaussianDensityTestAlg::m_useBeamConstraint
bool m_useBeamConstraint
Definition: GaussianDensityTestAlg.h:106
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
Trk::GaussianDensityTestAlg::m_estimator
ToolHandle< Trk::IVertexTrackDensityEstimator > m_estimator
Definition: GaussianDensityTestAlg.h:114
xAOD::TruthVertex_v1::y
float y() const
Vertex y displacement.
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::GaussianDensityTestAlg::analyzeTracks
static void analyzeTracks(const std::vector< Trk::ITrackLink * > &trackVector, std::vector< const Trk::TrackParameters * > &perigeeList)
Definition: GaussianDensityTestAlg.cxx:124
Trk::GaussianDensityTestAlg::m_iTHistSvc
ServiceHandle< ITHistSvc > m_iTHistSvc
Definition: GaussianDensityTestAlg.h:123
Trk::AmgSymMatrix
AmgSymMatrix(5) &GXFTrackState
Definition: GXFTrackState.h:156
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::GaussianDensityTestAlg::m_trackParticlesKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticlesKey
Data handle keys.
Definition: GaussianDensityTestAlg.h:126
lumiFormat.i
int i
Definition: lumiFormat.py:92
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::LinkToXAODTrackParticle
Element link to XAOD TrackParticle.
Definition: LinkToXAODTrackParticle.h:33
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Preparation.mode
mode
Definition: Preparation.py:95
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
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
Trk::GaussianDensityTestAlg::m_truthEventsKey
SG::ReadHandleKey< xAOD::TruthEventContainer > m_truthEventsKey
Definition: GaussianDensityTestAlg.h:129
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
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::GaussianDensityTestAlg::m_significanceTruthCut
Gaudi::Property< double > m_significanceTruthCut
Definition: GaussianDensityTestAlg.h:96
xAOD::TruthEventBase_v1
Base class describing a pile-up or signal truth event in the MC record.
Definition: TruthEventBase_v1.h:36
xAOD::TruthVertex_v1
Class describing a truth vertex in the MC record.
Definition: TruthVertex_v1.h:41
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
SG::AuxElement::makePrivateStore
void makePrivateStore()
Create a new (empty) private store for this object.
Definition: AuxElement.cxx:172
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::GaussianDensityTestAlg::m_truthVertexTracks
Gaudi::Property< int > m_truthVertexTracks
Definition: GaussianDensityTestAlg.h:101
xAOD::TruthVertex_v1::x
float x() const
Vertex x displacement.
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Trk::GaussianDensityTestAlg::findTruth
StatusCode findTruth(double mode, const std::vector< Trk::ITrackLink * > &trackVector, std::vector< Amg::Vector3D > &truth, TH1 *h_truthDensity, TH1 *h_modeCheck) const
Definition: GaussianDensityTestAlg.cxx:175
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
Trk::GaussianDensityTestAlg::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: GaussianDensityTestAlg.h:122
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
InDet::BeamSpotData
Definition: BeamSpotData.h:21
a
TList * a
Definition: liststreamerinfos.cxx:10
h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Trk::GaussianDensityTestAlg::m_pileupEventsKey
SG::ReadHandleKey< xAOD::TruthPileupEventContainer > m_pileupEventsKey
Definition: GaussianDensityTestAlg.h:132
Trk::GaussianDensityTestAlg::m_h_truthDensity
TH1 * m_h_truthDensity
Definition: GaussianDensityTestAlg.h:138
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::TruthVertex_v1::z
float z() const
Vertex longitudinal distance along the beam line form the origin.
Trk::GaussianDensityTestAlg::m_ipEstimator
ToolHandle< Trk::ITrackToVertexIPEstimator > m_ipEstimator
Definition: GaussianDensityTestAlg.h:117
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
Trk::GaussianDensityTestAlg::m_h_density
TH1 * m_h_density
Histograms and trees.
Definition: GaussianDensityTestAlg.h:137
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
PowhegControl_ttFCNC_NLO.params
params
Definition: PowhegControl_ttFCNC_NLO.py:226
Trk::GaussianDensityTestAlg::m_firstEvent
bool m_firstEvent
Definition: GaussianDensityTestAlg.h:107
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::Vertex_v1::setCovariancePosition
void setCovariancePosition(const AmgSymMatrix(3)&covariancePosition)
Sets the vertex covariance matrix.
Trk::v
@ v
Definition: ParamDefs.h:84
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
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
ServiceHandle< ICondSvc >
Trk::GaussianDensityTestAlg::ipSignificance
double ipSignificance(const Trk::TrackParameters *params, const Amg::Vector3D *vertex) const
Definition: GaussianDensityTestAlg.cxx:321