33 declareInterface<IDataRetriever>(
this);
37 "Collection to be first in output, shown in Atlantis without switching");
53 return StatusCode::SUCCESS;
67 if (
msgLvl(MSG::WARNING))
msg(MSG::WARNING) <<
"Primary vertex container "
90 for ( ; vtxCollectionItr != vtxCollectionsEnd; ++vtxCollectionItr ) {
92 if ( ( vtxCollectionItr.
key().find(
"HLT") != std::string::npos)){
96 if ( ( vtxCollectionItr.
key().find(
"V0") != std::string::npos)){
106 <<
" with " << NVtx <<
" entries" <<
endmsg;
108 x.reserve(
x.size()+NVtx);
109 y.reserve(
y.size()+NVtx);
110 z.reserve(
z.size()+NVtx);
113 primVxCand.reserve(primVxCand.size()+NVtx);
115 numTracks.reserve(numTracks.size()+NVtx);
116 tracks.reserve(tracks.size()+NVtx);
123 for ( ; VertexItr != vtxCollectionItr->end(); ++VertexItr) {
127 << (*VertexItr)->y()/
cm <<
", z[GeV] = " << (*VertexItr)->z()/
cm
128 <<
", vertexType = " << (*VertexItr)->vertexType()
129 <<
", chiSquared = " << (*VertexItr)->chiSquared()
130 <<
", numberDoF = " << (*VertexItr)->numberDoF() <<
endmsg;
143 if ((*VertexItr)->vertexType() == 1 ){
144 primVxCand.push_back( 1 );
146 primVxCand.push_back( 0 );
154 if ( (*VertexItr)->numberDoF() != 0 ){
155 chi2val = (*VertexItr)->chiSquared()/(*VertexItr)->numberDoF() ;
165 const std::vector< ElementLink< xAOD::TrackParticleContainer > > tpLinks = (*VertexItr)->trackParticleLinks();
168 unsigned int tp_size = tpLinks.size();
169 numTracks.push_back(
DataType( tp_size ));
171 for(
unsigned int tp = 0;
tp<tp_size; ++
tp)
180 <<
", collection : " << tpl.
key()
181 <<
", Tracks : " <<
tp <<
" out of " << tp_size <<
", own count: " << trkCnt++ <<
endmsg;
183 if ( tpl.
index() < 1000 ){
205 DataMap[
"primVxCand"] = primVxCand;
207 DataMap[
"numTracks"] = numTracks;
213 if ((numTracks.size()) != 0){
215 double NTracksPerVertex = tracks.size()*1./numTracks.size();
216 std::string
tag =
"tracks multiple=\"" +
DataType(NTracksPerVertex).toString()+
"\"";