22 #include "GaudiKernel/MsgStream.h"
31 std::unique_ptr<TrigMuonEFInfoTrackContainer> tracks)
38 m_etaPreviousLevel (0),
39 m_phiPreviousLevel (0),
40 m_trackContainer (tracks.
release())
52 std::unique_ptr<TrigMuonEFInfoTrackContainer> tracks,
53 std::unique_ptr<TrigMuonEFTrack> spectrometerTrack,
54 std::unique_ptr<TrigMuonEFTrack> extrapolatedTrack,
62 m_etaPreviousLevel (0),
63 m_phiPreviousLevel (0),
64 m_trackContainer (tracks.
release()),
65 m_spectrometerTrack (spectrometerTrack.
release()),
66 m_extrapolatedTrack (extrapolatedTrack.
release()),
118 m_nSegments( rhs.m_nSegments ),
119 m_nMdtHits( rhs.m_nMdtHits ),
120 m_nRpcHits( rhs.m_nRpcHits ),
121 m_nTgcHits( rhs.m_nTgcHits ),
122 m_nCscHits( rhs.m_nCscHits ),
123 m_etaPreviousLevel( rhs.m_etaPreviousLevel),
124 m_phiPreviousLevel( rhs.m_phiPreviousLevel)
150 if (
this != &rhs ) {
191 if (
this != &rhs ) {
280 track->setSpectrometerTrack(theTrack);
302 track->setExtrapolatedTrack(theTrack);
325 track->setCombinedTrack(theTrack);
400 std::stringstream
ss;
401 ss <<
"RoI index: " <<
d.RoINum()
402 <<
"; NSegments: " <<
d.NSegments()
403 <<
"; NMdtHits: " <<
d.NMdtHits()
404 <<
"; NRpcHits: " <<
d.NRpcHits()
405 <<
"; NTgcHits: " <<
d.NTgcHits()
406 <<
"; NCscHits: " <<
d.NCscHits()
407 <<
"; hasTrack: " <<
d.hasTrack() << std::endl;
415 ss <<
"; muon type: " <<
dd->MuonType();
417 if (
dd->hasSpectrometerTrack())
418 ss <<
"; spectrometer track: " <<
dd->SpectrometerTrack()
419 <<
" : " << *(
dd->SpectrometerTrack());
421 if (
dd->hasExtrapolatedTrack())
422 ss <<
"; extrapolated track: " <<
dd->ExtrapolatedTrack()
423 <<
" : " << *(
dd->ExtrapolatedTrack());
425 if (
dd->hasCombinedTrack())
426 ss <<
"; combined track: " <<
dd->CombinedTrack()
427 <<
" : " << *(
dd->CombinedTrack());
436 return (
m <<
str(
d ) );
441 if (
a.RoINum() !=
b.RoINum() )
443 if (
a.hasTrack() !=
b.hasTrack() )
445 if (
a.hasTrack() &&
b.hasTrack() ) {
447 if (
a.TrackContainer()->size() !=
b.TrackContainer()->size() )
461 *tmpContB = *(
b.TrackContainer());
464 TrkItrA !=
a.TrackContainer()->end();
470 while ( TrkItrB != tmpContB->
end() ) {
471 if (*(*TrkItrB)==*(*TrkItrA)) {
473 tmpContB->
erase(TrkItrB);
487 if (
a.hasLegacyTrack() &&
b.hasLegacyTrack()) {
488 if( !(*(
a.legacySpectrometerTrack() ) == *(
b.legacySpectrometerTrack() ) ) )
490 if( !(*(
a.legacyExtrapolatedTrack() ) == *(
b.legacyExtrapolatedTrack() ) ) )
492 if( !(*(
a.legacyCombinedTrack() ) == *(
b.legacyCombinedTrack() ) ) )
500 std::map<std::string, double>& variableChange ) {
502 if(
a.RoINum() !=
b.RoINum() ) {
503 variableChange[
"RoINum" ] =
static_cast< double >(
a.RoINum() -
b.RoINum() );
505 if(
a.NSegments() !=
b.NSegments() ) {
506 variableChange[
"NSegments" ] =
static_cast< double >(
a.NSegments() -
509 if(
a.NMdtHits() !=
b.NMdtHits() ) {
510 variableChange[
"NMdtHits" ] =
static_cast< double >(
a.NMdtHits() -
513 if(
a.NRpcHits() !=
b.NRpcHits() ) {
514 variableChange[
"NRpcHits" ] =
static_cast< double >(
a.NRpcHits() -
517 if(
a.NCscHits() !=
b.NCscHits() ) {
518 variableChange[
"NCscHits" ] =
static_cast< double >(
a.NCscHits() -
521 if(
a.NTgcHits() !=
b.NTgcHits() ) {
522 variableChange[
"NTgcHits" ] =
static_cast< double >(
a.NTgcHits() -
525 if(
a.EtaPreviousLevel() !=
b.EtaPreviousLevel() ) {
526 variableChange[
"EtaPreviousLevel" ] =
static_cast< double >(
a.EtaPreviousLevel() -
527 b.EtaPreviousLevel() );
529 if(
a.PhiPreviousLevel() !=
b.PhiPreviousLevel() ) {
530 variableChange[
"PhiPreviousLevel" ] =
static_cast< double >(
a.PhiPreviousLevel() -
531 b.PhiPreviousLevel() );
535 (
a.hasTrack() &&
b.hasTrack())
537 (
a.TrackContainer()->size() !=
b.TrackContainer()->size())
539 variableChange[
"NTracks" ] =
static_cast< double >(
a.TrackContainer()->size() -
540 b.TrackContainer()->size() );
545 *tmpContB = *(
b.TrackContainer());
549 TrkItrA !=
a.TrackContainer()->end();
555 while ( TrkItrB != tmpContB->
end() ) {
557 if (*(*TrkItrB)==*(*TrkItrA)) {
559 diff( *( (*TrkItrA)->SpectrometerTrack() ), *( (*TrkItrB)->SpectrometerTrack() ), variableChange );
560 diff( *( (*TrkItrA)->ExtrapolatedTrack() ), *( (*TrkItrB)->ExtrapolatedTrack() ), variableChange );
561 diff( *( (*TrkItrA)->CombinedTrack() ), *( (*TrkItrB)->CombinedTrack() ), variableChange );
562 tmpContB->
erase(TrkItrB);
571 if (
a.hasLegacyTrack() &&
b.hasLegacyTrack()) {
572 diff( *(
a.legacySpectrometerTrack() ), *(
b.legacySpectrometerTrack() ), variableChange );
573 diff( *(
a.legacyExtrapolatedTrack() ), *(
b.legacyExtrapolatedTrack() ), variableChange );
574 diff( *(
a.legacyCombinedTrack() ), *(
b.legacyCombinedTrack() ), variableChange );