110 {
112 ATH_CHECK(vtxContainer.record(std::make_unique<xAOD::VertexContainer>(), std::make_unique<xAOD::VertexAuxContainer>()));
113
115
117 SG::ReadHandle<xAOD::TrackParticleContainer> importedTrackCollection(
m_trackContainer, ctx);
119 ATH_CHECK(importedTrackCollection.isValid());
120
121
122
125
128
131 {
132
137 }
139
140 for(
size_t i =0;
i<Ntracks;
i++)
141 {
143 if(trackN >=
v->nTrackParticles())
144 {
146 return StatusCode::FAILURE;
147 }
148 fitpair[
i] =
v->trackParticle(trackN);
149 }
150
152 {
153
154 for (auto trkItr=importedTrackCollection->cbegin(); trkItr!=importedTrackCollection->cend(); ++trkItr) {
156 fitpair.back() = nullptr;
159
160
163 continue;
164
165 fitAndStore(vtxContainer.ptr(),v,InVtxContainer.cptr(),fitpair,importedTrackCollection.cptr(),pvContainer.cptr());
166 }
167 }
168 else
169 {
170 fitAndStore(vtxContainer.ptr(),v,InVtxContainer.cptr(),fitpair,importedTrackCollection.cptr(),pvContainer.cptr());
171 }
172 }
173
175
181
183
184
185
187 ATH_CHECK(refPvContainer.record(std::make_unique<xAOD::VertexContainer>(), std::make_unique<xAOD::VertexAuxContainer>()));
188
189 if(vtxContainer->size() >0){
191 }
192 }else{
193 if(pvContainer->size()==0) {
195 }
196 else {
198 }
199 }
200 }
201
202 using Analysis::JpsiUpsilonCommon;
203
204 std::vector<const xAOD::TrackParticleContainer*> trackCols;
206 SG::ReadHandle<xAOD::TrackParticleContainer> handle(str,ctx);
207 trackCols.push_back(handle.cptr());
208 }
209 if(not trackCols.empty()){
211 try{
213 }catch(std::runtime_error const& e){
215 return StatusCode::FAILURE;
216 }
217 }
218 }
219 return StatusCode::SUCCESS;
220}
#define ATH_CHECK
Evaluate an expression and check for errors.
static bool isContainedIn(const xAOD::TrackParticle *, const std::vector< const xAOD::TrackParticle * > &)
static void RelinkVertexTracks(const std::vector< const xAOD::TrackParticleContainer * > &trkcols, xAOD::Vertex *vtx)
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
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.