68 {
69
70 const EventContext& ctx = Gaudi::Hive::currentContext();
71
72
73 SG::ThinningHandle<xAOD::TrackParticleContainer> tracks (
m_inDetSGKey, ctx);
74
75
77
78
80 if (evtStore()->retrieve(vtxC,
m_vertex_key).isFailure()) {
82 return StatusCode::FAILURE;
83 }
84
85
86 unsigned int nTracks = tracks->size();
87 if (nTracks==0) return StatusCode::SUCCESS;
88
89
91 size_t ntrkmax = 0;
92
93
94 for (auto vertex : *vtxC) {
96 continue;
97 }
98
100
101 SG::ConstAccessor<float> sumPt2Acc("sumPt2");
102
103
104 if (sumPt2Acc.isAvailable(*vertex)) {
105 float sumPT = sumPt2Acc(*vertex);
109 }
110 }
111 } else {
112 size_t ntp =
vertex->nTrackParticles();
113 if (ntp > ntrkmax) {
114 ntrkmax = ntp;
116 }
117 }
118 }
119
120
121 if (!primary_vertex) {
123 }
124
125
126 std::vector<bool>
mask(nTracks,
false);
128
129 for (auto tp : *tracks) {
130 if (tp) {
132
133 asg::AcceptData acceptData =
m_trkSelTool->accept(*tp, vert_trk);
134 int index = tp->index();
135 mask[
index] =
static_cast<bool>(acceptData);
136 }
137 }
138
139
140 unsigned int n_pass=0;
141 for (
unsigned int i=0;
i<nTracks; ++
i) {
142 if (mask[i]) ++n_pass;
143 }
145
146 tracks.keep (mask);
147
148 return StatusCode::SUCCESS;
149 }
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.