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

#include <ReVertex.h>

Inheritance diagram for DerivationFramework::ReVertex:
Collaboration diagram for DerivationFramework::ReVertex:

Public Member Functions

 ReVertex (const std::string &t, const std::string &n, const IInterface *p)
 
virtual StatusCode initialize () override
 
virtual StatusCode addBranches () const override
 Pass the thinning service
More...
 
void fitAndStore (xAOD::VertexContainer *vtxContainer, const xAOD::Vertex *v, const xAOD::VertexContainer *InVtxContainer, const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::VertexContainer *pvContainer) const
 
xAOD::Vertexfit (const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::Vertex *pv) const
 
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 > &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
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool interface methods. More...
 

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

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

std::vector< int > m_TrackIndices
 
ToolHandle< InDet::VertexPointEstimatorm_vertexEstimator
 
ToolHandle< Trk::IVertexFitterm_iVertexFitter
 
Trk::TrkVKalVrtFitterm_VKVFitter {}
 
SG::WriteHandleKey< xAOD::VertexContainerm_OutputContainerName
 
SG::ReadHandleKey< xAOD::VertexContainerm_inputContainerName
 
SG::ReadHandleKey< xAOD::TrackParticleContainerm_trackContainer
 
SG::WriteHandleKey< xAOD::VertexContainerm_refPVContainerName
 
SG::ReadHandleKey< xAOD::VertexContainerm_pvContainerName
 
std::vector< double > m_trkMasses
 
std::vector< int > m_indices
 
double m_massConst {}
 
double m_totalMassConst {}
 
std::vector< std::string > m_hypoNames
 
ToolHandle< Trk::V0Toolsm_v0Tools
 
ToolHandle< Analysis::PrimaryVertexRefitterm_pvRefitter
 
SG::ReadHandleKey< xAOD::EventInfom_eventInfo_key {this, "EventInfo", "EventInfo", "Input event information"}
 
int m_PV_max {}
 
int m_DoVertexType {}
 
size_t m_PV_minNTracks {}
 
bool m_do3d {}
 
bool m_AddPVData {}
 
bool m_refitPV {}
 
bool m_doMassConst {}
 
bool m_startingpoint0 {}
 
bool m_vertexFittingWithPV {}
 
double m_BMassUpper {}
 
double m_BMassLower {}
 
double m_chi2cut {}
 
double m_trkDeltaZ {}
 
bool m_useAdditionalTrack {}
 
SG::ReadHandleKeyArray< xAOD::VertexContainerm_CollectionsToCheck {this, "CheckVertexContainers", {}}
 
SG::ReadHandleKeyArray< xAOD::TrackParticleContainerm_RelinkContainers {this, "RelinkTracks", {}, "Track Containers if they need to be relinked through indirect use" }
 
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 42 of file ReVertex.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ReVertex()

ReVertex::ReVertex ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 27 of file ReVertex.cxx.

29  :
30  AthAlgTool(t,n,p), m_vertexEstimator("InDet::VertexPointEstimator"), m_iVertexFitter("Trk::TrkVKalVrtFitter"),
31  m_massConst(0.),
32  m_totalMassConst(0.),
33  m_v0Tools("Trk::V0Tools"),
34  m_pvRefitter("Analysis::PrimaryVertexRefitter", this),
35  m_doMassConst(false),
36  m_vertexFittingWithPV(false),
37  m_chi2cut(-1.0),
38  m_trkDeltaZ(-1.0),
40 {
41 
42  declareInterface<DerivationFramework::IAugmentationTool>(this);
43  declareProperty("TrackIndices", m_TrackIndices);
44  declareProperty("TrkVertexFitterTool", m_iVertexFitter);
45  declareProperty("VertexPointEstimator",m_vertexEstimator);
46 
47  declareProperty("OutputVtxContainerName", m_OutputContainerName);
48  declareProperty("InputVtxContainerName", m_inputContainerName);
49  declareProperty("TrackContainerName", m_trackContainer = "InDetTrackParticles");
50  declareProperty("UseVertexFittingWithPV", m_vertexFittingWithPV);
51 
52  declareProperty("HypothesisNames",m_hypoNames);
53 
54  declareProperty("V0Tools" , m_v0Tools);
55  declareProperty("PVRefitter" , m_pvRefitter);
56  declareProperty("PVContainerName" , m_pvContainerName = "PrimaryVertices");
57  declareProperty("RefPVContainerName" , m_refPVContainerName = "RefittedPrimaryVertices");
58 
59  declareProperty("UseMassConstraint", m_doMassConst);
60  declareProperty("VertexMass", m_totalMassConst);
61  declareProperty("SubVertexMass", m_massConst);
62  declareProperty("MassInputParticles", m_trkMasses);
63  declareProperty("SubVertexTrackIndices", m_indices);
64 
65  declareProperty("UseAdditionalTrack", m_useAdditionalTrack);
66 
67  declareProperty("RefitPV" , m_refitPV = false);
68  //This parameter will allow us to optimize the number of PVs under consideration as the probability
69  //of a useful primary vertex drops significantly the higher you go
70  declareProperty("MaxPVrefit" , m_PV_max = 1000);
71  declareProperty("DoVertexType" , m_DoVertexType = 7);
72  // minimum number of tracks for PV to be considered for PV association
73  declareProperty("MinNTracksInPV" , m_PV_minNTracks = 0);
74  declareProperty("Do3d" , m_do3d = false);
75  declareProperty("AddPVData" , m_AddPVData = true);
76  declareProperty("StartingPoint0" , m_startingpoint0 = false);
80  declareProperty("TrkDeltaZ",m_trkDeltaZ);
81 
82 
83 }

Member Function Documentation

◆ addBranches()

StatusCode ReVertex::addBranches ( ) const
overridevirtual

Pass the thinning service

Implements DerivationFramework::IAugmentationTool.

Definition at line 109 of file ReVertex.cxx.

109  {
110  const EventContext& ctx = Gaudi::Hive::currentContext();
112  ATH_CHECK(vtxContainer.record(std::make_unique<xAOD::VertexContainer>(), std::make_unique<xAOD::VertexAuxContainer>()));
113 
114  const size_t Ntracks = m_TrackIndices.size();
115 
118  ATH_CHECK(InVtxContainer.isValid());
119  ATH_CHECK(importedTrackCollection.isValid());
120  //----------------------------------------------------
121  // retrieve primary vertices
122  //----------------------------------------------------
124  ATH_CHECK(pvContainer.isValid());
125 
126  std::vector<const xAOD::TrackParticle*> fitpair(Ntracks + m_useAdditionalTrack);
127  for(const xAOD::Vertex* v : *InVtxContainer)
128  {
129 
130  bool passed = false;
131  for(size_t i=0;i<m_hypoNames.size();i++) {
133  passed |= onia.pass();
134  }
135  if (!passed && m_hypoNames.size()) continue;
136 
137  for(size_t i =0; i<Ntracks; i++)
138  {
139  size_t trackN = m_TrackIndices[i];
140  if(trackN >= v->nTrackParticles())
141  {
142  ATH_MSG_FATAL("Indices exceeds limit in particle");
143  return StatusCode::FAILURE;
144  }
145  fitpair[i] = v->trackParticle(trackN);
146  }
147 
149  {
150  // Loop over ID tracks, call vertexing
151  for (auto trkItr=importedTrackCollection->cbegin(); trkItr!=importedTrackCollection->cend(); ++trkItr) {
152  const xAOD::TrackParticle* tp (*trkItr);
153  fitpair.back() = nullptr;
154  if (Analysis::JpsiUpsilonCommon::isContainedIn(tp,fitpair)) continue; // remove tracks which were used to build J/psi+2Tracks
155  fitpair.back() = tp;
156 
157  // Daniel Scheirich: remove track too far from the Jpsi+2Tracks vertex (DeltaZ cut)
158  if(m_trkDeltaZ>0 &&
159  std::abs((tp)->z0() + (tp)->vz() - v->z()) > m_trkDeltaZ )
160  continue;
161 
162  fitAndStore(vtxContainer.ptr(),v,InVtxContainer.cptr(),fitpair,importedTrackCollection.cptr(),pvContainer.cptr());
163  }
164  }
165  else
166  {
167  fitAndStore(vtxContainer.ptr(),v,InVtxContainer.cptr(),fitpair,importedTrackCollection.cptr(),pvContainer.cptr());
168  }
169  }
170 
171  if(m_AddPVData){
172  // Give the helper class the ptr to v0tools and beamSpotsSvc to use
174  if(not evt.isValid()) ATH_MSG_ERROR("Cannot Retrieve " << evt.key() );
175  BPhysPVTools helper(&(*m_v0Tools), evt.cptr());
176  helper.SetMinNTracksInPV(m_PV_minNTracks);
177  helper.SetSave3d(m_do3d);
178 
179  if(m_refitPV) {
180  //----------------------------------------------------
181  // Try to retrieve refitted primary vertices
182  //----------------------------------------------------
184  ATH_CHECK(refPvContainer.record(std::make_unique<xAOD::VertexContainer>(), std::make_unique<xAOD::VertexAuxContainer>()));
185 
186  if(vtxContainer->size() >0){
187  ATH_CHECK(helper.FillCandwithRefittedVertices(vtxContainer.ptr(), pvContainer.cptr(), refPvContainer.ptr(), &(*m_pvRefitter) , m_PV_max, m_DoVertexType));
188  }
189  }else{
190  if(vtxContainer->size() >0) ATH_CHECK(helper.FillCandExistingVertices(vtxContainer.ptr(), pvContainer.cptr(), m_DoVertexType));
191  }
192  }
193 
195 
196  std::vector<const xAOD::TrackParticleContainer*> trackCols;
197  for(const auto &str : m_RelinkContainers){
199  trackCols.push_back(handle.cptr());
200  }
201  if(not trackCols.empty()){
202  for(xAOD::Vertex* vtx : *vtxContainer){
203  try{
205  }catch(std::runtime_error const& e){
206  ATH_MSG_ERROR(e.what());
207  return StatusCode::FAILURE;
208  }
209  }
210  }
211  return StatusCode::SUCCESS;
212 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::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

◆ fit()

xAOD::Vertex * ReVertex::fit ( const std::vector< const xAOD::TrackParticle * > &  inputTracks,
const xAOD::TrackParticleContainer importedTrackCollection,
const xAOD::Vertex pv 
) const

Definition at line 274 of file ReVertex.cxx.

277 {
278  std::unique_ptr<Trk::IVKalState> state = m_VKVFitter->makeState();
279  if (m_doMassConst && (m_trkMasses.size()==inputTracks.size())) {
283  }
284  if (pv) {
285  m_VKVFitter->setCnstType(8, *state);
286  m_VKVFitter->setVertexForConstraint(pv->position().x(),
287  pv->position().y(),
288  pv->position().z(), *state);
289  m_VKVFitter->setCovVrtForConstraint(pv->covariancePosition()(Trk::x,Trk::x),
290  pv->covariancePosition()(Trk::y,Trk::x),
291  pv->covariancePosition()(Trk::y,Trk::y),
292  pv->covariancePosition()(Trk::z,Trk::x),
293  pv->covariancePosition()(Trk::z,Trk::y),
294  pv->covariancePosition()(Trk::z,Trk::z), *state );
295  }
296 
297  // Do the fit itself.......
298  // Starting point (use the J/psi position)
299  const Trk::Perigee& aPerigee1 = inputTracks[0]->perigeeParameters();
300  const Trk::Perigee& aPerigee2 = inputTracks[1]->perigeeParameters();
301  int sflag = 0;
302  int errorcode = 0;
303  Amg::Vector3D startingPoint = m_vertexEstimator->getCirclesIntersectionPoint(&aPerigee1,&aPerigee2,sflag,errorcode);
304  if (errorcode != 0) {startingPoint(0) = 0.0; startingPoint(1) = 0.0; startingPoint(2) = 0.0;}
305  xAOD::Vertex* theResult = m_VKVFitter->fit(inputTracks, startingPoint, *state);
306 
307  // Added by ASC
308  if(theResult != 0){
309  std::vector<ElementLink<DataVector<xAOD::TrackParticle> > > newLinkVector;
310  for(unsigned int i=0; i< theResult->trackParticleLinks().size(); i++)
311  {
312  ElementLink<DataVector<xAOD::TrackParticle> > mylink=theResult->trackParticleLinks()[i]; //makes a copy (non-const)
313  mylink.setStorableObject( *importedTrackCollection, true);
314  newLinkVector.push_back( mylink );
315  }
316  theResult->clearTracks();
317  theResult->setTrackParticleLinks( newLinkVector );
318  }
319 
320  return theResult;
321 }

◆ fitAndStore()

void ReVertex::fitAndStore ( xAOD::VertexContainer vtxContainer,
const xAOD::Vertex v,
const xAOD::VertexContainer InVtxContainer,
const std::vector< const xAOD::TrackParticle * > &  inputTracks,
const xAOD::TrackParticleContainer importedTrackCollection,
const xAOD::VertexContainer pvContainer 
) const

Definition at line 214 of file ReVertex.cxx.

220 {
221  std::unique_ptr<xAOD::Vertex> ptr(fit(inputTracks, importedTrackCollection, nullptr));
222  if(!ptr)return;
223 
224  double chi2DOF = ptr->chiSquared()/ptr->numberDoF();
225  ATH_MSG_DEBUG("Candidate chi2/DOF is " << chi2DOF);
226  bool chi2CutPassed = (m_chi2cut <= 0.0 || chi2DOF < m_chi2cut);
227  if(!chi2CutPassed) { ATH_MSG_DEBUG("Chi Cut failed!"); return; }
228  xAOD::BPhysHelper bHelper(ptr.get());//"get" does not "release" still automatically deleted
229  bHelper.setRefTrks();
230  if (m_trkMasses.size()==inputTracks.size()) {
231  TLorentzVector bMomentum = bHelper.totalP(m_trkMasses);
232  double bMass = bMomentum.M();
233  bool passesCuts = (m_BMassUpper > bMass && bMass > m_BMassLower);
234  if(!passesCuts)return;
235  }
236 
237  DerivationFramework::BPhysPVTools::PrepareVertexLinks( ptr.get(), importedTrackCollection );
238  std::vector<const xAOD::Vertex*> thePreceding;
239  thePreceding.push_back(v);
241  //
242  Analysis::CleanUpVertex closestRefPV = Analysis::JpsiUpsilonCommon::ClosestRefPV(bHelper, pvContainer, &(*m_pvRefitter));
243  if (!closestRefPV.get()) return;
244  std::unique_ptr<xAOD::Vertex> ptrPV(fit(inputTracks, importedTrackCollection, closestRefPV.get()));
245  if(!ptrPV) return;
246 
247  double chi2DOFPV = ptrPV->chiSquared()/ptrPV->numberDoF();
248  ATH_MSG_DEBUG("CandidatePV chi2/DOF is " << chi2DOFPV);
249  bool chi2CutPassed = (m_chi2cut <= 0.0 || chi2DOFPV < m_chi2cut);
250  if(!chi2CutPassed) { ATH_MSG_DEBUG("Chi Cut failed!"); return; }
251  xAOD::BPhysHelper bHelperPV(ptrPV.get());//"get" does not "release" still automatically deleted
252  bHelperPV.setRefTrks();
253  if (m_trkMasses.size()==inputTracks.size()) {
254  TLorentzVector bMomentumPV = bHelperPV.totalP(m_trkMasses);
255  double bMass = bMomentumPV.M();
256  bool passesCuts = (m_BMassUpper > bMass && bMass > m_BMassLower);
257  if(!passesCuts)return;
258  }
259 
260  bHelperPV.setPrecedingVertices(thePreceding, InVtxContainer);
261  vtxContainer->push_back(ptrPV.release());
262  return; //Don't store other vertex
263  }
264  bHelper.setPrecedingVertices(thePreceding, InVtxContainer);
265  vtxContainer->push_back(ptr.release());
266 }

◆ initialize()

StatusCode ReVertex::initialize ( )
overridevirtual

Definition at line 85 of file ReVertex.cxx.

85  {
86  ATH_MSG_DEBUG("in initialize()");
87  if(m_TrackIndices.empty()) {
88  ATH_MSG_FATAL("No Indices provided");
89  return StatusCode::FAILURE;
90  }
91  ATH_CHECK(m_iVertexFitter.retrieve());
92  ATH_CHECK(m_v0Tools.retrieve());
93  ATH_CHECK(m_pvRefitter.retrieve());
94  ATH_CHECK(m_vertexEstimator.retrieve());
95  m_VKVFitter = dynamic_cast<Trk::TrkVKalVrtFitter*>(&(*m_iVertexFitter));
96  if(m_VKVFitter==nullptr) return StatusCode::FAILURE;
97  ATH_CHECK(m_OutputContainerName.initialize());
98  ATH_CHECK(m_inputContainerName.initialize());
100  ATH_CHECK(m_pvContainerName.initialize());
101  ATH_CHECK(m_refPVContainerName.initialize());
103  ATH_CHECK(m_RelinkContainers.initialize());
104  ATH_CHECK(m_CollectionsToCheck.initialize());
105  return StatusCode::SUCCESS;
106 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::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.

◆ interfaceID()

static const InterfaceID& DerivationFramework::IAugmentationTool::interfaceID ( )
inlinestaticinherited

AlgTool interface methods.

Definition at line 31 of file IAugmentationTool.h.

31 { return IID_IAugmentationTool; }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::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< AlgTool >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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_AddPVData

bool DerivationFramework::ReVertex::m_AddPVData {}
private

Definition at line 85 of file ReVertex.h.

◆ m_BMassLower

double DerivationFramework::ReVertex::m_BMassLower {}
private

Definition at line 93 of file ReVertex.h.

◆ m_BMassUpper

double DerivationFramework::ReVertex::m_BMassUpper {}
private

Definition at line 92 of file ReVertex.h.

◆ m_chi2cut

double DerivationFramework::ReVertex::m_chi2cut {}
private

Definition at line 94 of file ReVertex.h.

◆ m_CollectionsToCheck

SG::ReadHandleKeyArray<xAOD::VertexContainer> DerivationFramework::ReVertex::m_CollectionsToCheck {this, "CheckVertexContainers", {}}
private

Definition at line 99 of file ReVertex.h.

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_do3d

bool DerivationFramework::ReVertex::m_do3d {}
private

Definition at line 84 of file ReVertex.h.

◆ m_doMassConst

bool DerivationFramework::ReVertex::m_doMassConst {}
private

Definition at line 87 of file ReVertex.h.

◆ m_DoVertexType

int DerivationFramework::ReVertex::m_DoVertexType {}
private

Definition at line 82 of file ReVertex.h.

◆ m_eventInfo_key

SG::ReadHandleKey<xAOD::EventInfo> DerivationFramework::ReVertex::m_eventInfo_key {this, "EventInfo", "EventInfo", "Input event information"}
private

Definition at line 80 of file ReVertex.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_hypoNames

std::vector<std::string> DerivationFramework::ReVertex::m_hypoNames
private

Definition at line 76 of file ReVertex.h.

◆ m_indices

std::vector<int> DerivationFramework::ReVertex::m_indices
private

Definition at line 73 of file ReVertex.h.

◆ m_inputContainerName

SG::ReadHandleKey<xAOD::VertexContainer> DerivationFramework::ReVertex::m_inputContainerName
private

Definition at line 66 of file ReVertex.h.

◆ m_iVertexFitter

ToolHandle< Trk::IVertexFitter > DerivationFramework::ReVertex::m_iVertexFitter
private

Definition at line 63 of file ReVertex.h.

◆ m_massConst

double DerivationFramework::ReVertex::m_massConst {}
private

Definition at line 74 of file ReVertex.h.

◆ m_OutputContainerName

SG::WriteHandleKey<xAOD::VertexContainer> DerivationFramework::ReVertex::m_OutputContainerName
private

Definition at line 65 of file ReVertex.h.

◆ m_PV_max

int DerivationFramework::ReVertex::m_PV_max {}
private

Definition at line 81 of file ReVertex.h.

◆ m_PV_minNTracks

size_t DerivationFramework::ReVertex::m_PV_minNTracks {}
private

Definition at line 83 of file ReVertex.h.

◆ m_pvContainerName

SG::ReadHandleKey<xAOD::VertexContainer> DerivationFramework::ReVertex::m_pvContainerName
private

Definition at line 69 of file ReVertex.h.

◆ m_pvRefitter

ToolHandle<Analysis::PrimaryVertexRefitter> DerivationFramework::ReVertex::m_pvRefitter
private

Definition at line 79 of file ReVertex.h.

◆ m_refitPV

bool DerivationFramework::ReVertex::m_refitPV {}
private

Definition at line 86 of file ReVertex.h.

◆ m_refPVContainerName

SG::WriteHandleKey<xAOD::VertexContainer> DerivationFramework::ReVertex::m_refPVContainerName
private

Definition at line 68 of file ReVertex.h.

◆ m_RelinkContainers

SG::ReadHandleKeyArray<xAOD::TrackParticleContainer> DerivationFramework::ReVertex::m_RelinkContainers {this, "RelinkTracks", {}, "Track Containers if they need to be relinked through indirect use" }
private

Definition at line 100 of file ReVertex.h.

◆ m_startingpoint0

bool DerivationFramework::ReVertex::m_startingpoint0 {}
private

Definition at line 88 of file ReVertex.h.

◆ m_totalMassConst

double DerivationFramework::ReVertex::m_totalMassConst {}
private

Definition at line 75 of file ReVertex.h.

◆ m_trackContainer

SG::ReadHandleKey<xAOD::TrackParticleContainer> DerivationFramework::ReVertex::m_trackContainer
private

Definition at line 67 of file ReVertex.h.

◆ m_TrackIndices

std::vector<int> DerivationFramework::ReVertex::m_TrackIndices
private

Definition at line 61 of file ReVertex.h.

◆ m_trkDeltaZ

double DerivationFramework::ReVertex::m_trkDeltaZ {}
private

Definition at line 95 of file ReVertex.h.

◆ m_trkMasses

std::vector<double> DerivationFramework::ReVertex::m_trkMasses
private

Definition at line 72 of file ReVertex.h.

◆ m_useAdditionalTrack

bool DerivationFramework::ReVertex::m_useAdditionalTrack {}
private

Definition at line 97 of file ReVertex.h.

◆ m_v0Tools

ToolHandle<Trk::V0Tools> DerivationFramework::ReVertex::m_v0Tools
private

Definition at line 78 of file ReVertex.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vertexEstimator

ToolHandle< InDet::VertexPointEstimator > DerivationFramework::ReVertex::m_vertexEstimator
private

Definition at line 62 of file ReVertex.h.

◆ m_vertexFittingWithPV

bool DerivationFramework::ReVertex::m_vertexFittingWithPV {}
private

Definition at line 90 of file ReVertex.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_VKVFitter

Trk::TrkVKalVrtFitter* DerivationFramework::ReVertex::m_VKVFitter {}
private

Definition at line 64 of file ReVertex.h.


The documentation for this class was generated from the following files:
DerivationFramework::ReVertex::m_refPVContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition: ReVertex.h:68
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
Trk::y
@ y
Definition: ParamDefs.h:56
Analysis::JpsiUpsilonCommon::ClosestRefPV
static Analysis::CleanUpVertex ClosestRefPV(xAOD::BPhysHelper &, const xAOD::VertexContainer *, const Analysis::PrimaryVertexRefitter *)
Definition: JpsiUpsilonCommon.cxx:94
DerivationFramework::ReVertex::m_TrackIndices
std::vector< int > m_TrackIndices
Definition: ReVertex.h:61
Analysis::CleanUpVertex
Definition: JpsiUpsilonCommon.h:22
Analysis::CleanUpVertex::get
const xAOD::Vertex * get() const
Definition: JpsiUpsilonCommon.h:26
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
DerivationFramework::ReVertex::m_OutputContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_OutputContainerName
Definition: ReVertex.h:65
DerivationFramework::ReVertex::fit
xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::Vertex *pv) const
Definition: ReVertex.cxx:274
xAOD::BPhysHelper
Definition: BPhysHelper.h:71
DerivationFramework::ReVertex::m_massConst
double m_massConst
Definition: ReVertex.h:74
Trk::TrkVKalVrtFitter::setVertexForConstraint
virtual void setVertexForConstraint(const xAOD::Vertex &, IVKalState &istate) const override final
Definition: SetFitOptions.cxx:152
Trk::TrkVKalVrtFitter::setCovVrtForConstraint
virtual void setCovVrtForConstraint(double XX, double XY, double YY, double XZ, double YZ, double ZZ, IVKalState &istate) const override final
Definition: SetFitOptions.cxx:178
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:57
DerivationFramework::ReVertex::m_PV_minNTracks
size_t m_PV_minNTracks
Definition: ReVertex.h:83
TrigCompositeUtils::passed
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
Definition: TrigCompositeUtilsRoot.cxx:117
DerivationFramework::ReVertex::m_vertexFittingWithPV
bool m_vertexFittingWithPV
Definition: ReVertex.h:90
DerivationFramework::ReVertex::m_useAdditionalTrack
bool m_useAdditionalTrack
Definition: ReVertex.h:97
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
xAOD::Vertex_v1::trackParticleLinks
const TrackParticleLinks_t & trackParticleLinks() const
Get all the particles associated with the vertex.
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
DerivationFramework::ReVertex::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: ReVertex.h:80
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
DerivationFramework::ReVertex::m_chi2cut
double m_chi2cut
Definition: ReVertex.h:94
DerivationFramework::BPhysPVTools
Definition: BPhysPVTools.h:25
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
ParticleTest.tp
tp
Definition: ParticleTest.py:25
DerivationFramework::ReVertex::m_hypoNames
std::vector< std::string > m_hypoNames
Definition: ReVertex.h:76
DerivationFramework::ReVertex::m_inputContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_inputContainerName
Definition: ReVertex.h:66
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
DerivationFramework::ReVertex::m_VKVFitter
Trk::TrkVKalVrtFitter * m_VKVFitter
Definition: ReVertex.h:64
Analysis::JpsiUpsilonCommon::isContainedIn
static bool isContainedIn(const xAOD::TrackParticle *, const std::vector< const xAOD::TrackParticle * > &)
Definition: JpsiUpsilonCommon.cxx:58
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
DerivationFramework::ReVertex::m_vertexEstimator
ToolHandle< InDet::VertexPointEstimator > m_vertexEstimator
Definition: ReVertex.h:62
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
runBeamSpotCalibration.helper
helper
Definition: runBeamSpotCalibration.py:112
DerivationFramework::ReVertex::m_trackContainer
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainer
Definition: ReVertex.h:67
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
DerivationFramework::ReVertex::m_refitPV
bool m_refitPV
Definition: ReVertex.h:86
xAOD::BPhysHypoHelper
Definition: BPhysHypoHelper.h:73
Trk::TrkVKalVrtFitter::setMassForConstraint
virtual void setMassForConstraint(double Mass, IVKalState &istate) const override final
Definition: SetFitOptions.cxx:134
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::ReVertex::m_pvRefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition: ReVertex.h:79
DerivationFramework::ReVertex::m_BMassUpper
double m_BMassUpper
Definition: ReVertex.h:92
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:183
lumiFormat.i
int i
Definition: lumiFormat.py:85
DerivationFramework::ReVertex::m_RelinkContainers
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
Definition: ReVertex.h:100
DerivationFramework::ReVertex::m_trkMasses
std::vector< double > m_trkMasses
Definition: ReVertex.h:72
beamspotman.n
n
Definition: beamspotman.py:731
DerivationFramework::ReVertex::m_indices
std::vector< int > m_indices
Definition: ReVertex.h:73
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::TrkVKalVrtFitter::setCnstType
virtual void setCnstType(int, IVKalState &istate) const override final
Definition: SetFitOptions.cxx:82
xAOD::Vertex_v1::setTrackParticleLinks
void setTrackParticleLinks(const TrackParticleLinks_t &trackParticles)
Set all track particle links at once.
DerivationFramework::ReVertex::m_DoVertexType
int m_DoVertexType
Definition: ReVertex.h:82
DerivationFramework::ReVertex::m_do3d
bool m_do3d
Definition: ReVertex.h:84
DerivationFramework::ReVertex::m_v0Tools
ToolHandle< Trk::V0Tools > m_v0Tools
Definition: ReVertex.h:78
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
DerivationFramework::BPhysPVTools::PrepareVertexLinks
static void PrepareVertexLinks(xAOD::Vertex *theResult, const xAOD::TrackParticleContainer *importedTrackCollection)
Definition: BPhysPVTools.cxx:530
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
xAOD::Vertex_v1::clearTracks
void clearTracks()
Remove all tracks from the vertex.
Definition: Vertex_v1.cxx:331
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
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
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
Analysis::JpsiUpsilonCommon::RelinkVertexTracks
static void RelinkVertexTracks(const std::vector< const xAOD::TrackParticleContainer * > &trkcols, xAOD::Vertex *vtx)
Definition: JpsiUpsilonCommon.cxx:126
DerivationFramework::ReVertex::m_PV_max
int m_PV_max
Definition: ReVertex.h:81
DerivationFramework::ReVertex::m_AddPVData
bool m_AddPVData
Definition: ReVertex.h:85
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
DerivationFramework::ReVertex::m_BMassLower
double m_BMassLower
Definition: ReVertex.h:93
python.PyAthena.v
v
Definition: PyAthena.py:154
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
DerivationFramework::ReVertex::m_totalMassConst
double m_totalMassConst
Definition: ReVertex.h:75
a
TList * a
Definition: liststreamerinfos.cxx:10
h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
DerivationFramework::ReVertex::m_doMassConst
bool m_doMassConst
Definition: ReVertex.h:87
DerivationFramework::ReVertex::m_startingpoint0
bool m_startingpoint0
Definition: ReVertex.h:88
python.changerun.pv
pv
Definition: changerun.py:81
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
Analysis::JpsiUpsilonCommon
Definition: JpsiUpsilonCommon.h:39
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
DerivationFramework::ReVertex::m_pvContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_pvContainerName
Definition: ReVertex.h:69
DerivationFramework::ReVertex::fitAndStore
void fitAndStore(xAOD::VertexContainer *vtxContainer, const xAOD::Vertex *v, const xAOD::VertexContainer *InVtxContainer, const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::VertexContainer *pvContainer) const
Definition: ReVertex.cxx:214
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
Trk::TrkVKalVrtFitter::fit
virtual xAOD::Vertex * fit(const std::vector< const TrackParameters * > &perigeeList, const Amg::Vector3D &startingPoint) const override final
Interface for MeasuredPerigee with starting point.
Definition: TrkVKalVrtFitter.cxx:261
DerivationFramework::ReVertex::m_iVertexFitter
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Definition: ReVertex.h:63
Trk::x
@ x
Definition: ParamDefs.h:55
DerivationFramework::ReVertex::m_CollectionsToCheck
SG::ReadHandleKeyArray< xAOD::VertexContainer > m_CollectionsToCheck
Definition: ReVertex.h:99
DerivationFramework::ReVertex::m_trkDeltaZ
double m_trkDeltaZ
Definition: ReVertex.h:95
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::TrkVKalVrtFitter::setMassInputParticles
virtual void setMassInputParticles(const std::vector< double > &, IVKalState &istate) const override final
Definition: SetFitOptions.cxx:187
Trk::TrkVKalVrtFitter::makeState
virtual std::unique_ptr< IVKalState > makeState(const EventContext &ctx) const override final
Definition: TrkVKalVrtFitter.cxx:118
fitman.k
k
Definition: fitman.py:528
Trk::TrkVKalVrtFitter
Definition: TrkVKalVrtFitter.h:67