From 6f9b4823fcce6ec249f3521e66e078e1c47a40ec Mon Sep 17 00:00:00 2001
From: David Paul Yallup <david.yallup@cern.ch>
Date: Thu, 5 May 2016 15:41:10 +0200
Subject: [PATCH] Update of tau EDM in r21 (xAODJiveXML-00-01-57)

Former-commit-id: 58531bb22b52d090605846891b95f8356fbe4433
---
 .../xAODJiveXML/share/xAODJiveXML_DataTypes.py     |  2 +-
 .../xAODJiveXML/src/xAODCaloClusterRetriever.cxx   | 14 ++++++++------
 .../xAODJiveXML/src/xAODTauRetriever.cxx           |  7 ++++++-
 3 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/share/xAODJiveXML_DataTypes.py b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/share/xAODJiveXML_DataTypes.py
index 3973e77a332..53c2249e0b2 100644
--- a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/share/xAODJiveXML_DataTypes.py
+++ b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/share/xAODJiveXML_DataTypes.py
@@ -26,7 +26,7 @@ ToolSvc += thexAODElectronRetriever
 from xAODJiveXML.xAODJiveXMLConf import JiveXML__xAODMissingETRetriever
 thexAODMissingETRetriever = JiveXML__xAODMissingETRetriever (name = "xAODMissingETRetriever")
 #thexAODMissingETRetriever.StoreGateKey = "MET_RefFinal"
-thexAODMissingETRetriever.FavouriteMETCollection="MET_Reference_AntiKt4LCTopo"
+thexAODMissingETRetriever.FavouriteMETCollection="MET_Reference_AntiKt4EMTopo"
 ## If this list is not set, all other collections will be retrieved
 thexAODMissingETRetriever.OtherMETCollections=["MET_Calo","MET_LocHadTopo","MET_Core_AntiKt4LCTopo"]
 #### to request all collections:
diff --git a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODCaloClusterRetriever.cxx b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODCaloClusterRetriever.cxx
index 6fd1a1b43ee..2c84e89f7f7 100755
--- a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODCaloClusterRetriever.cxx
+++ b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODCaloClusterRetriever.cxx
@@ -157,12 +157,14 @@ namespace JiveXML {
 // sanity cut: emfrac should be within [0,1]
       if ( emfrac > 1.0 ) emfrac = 1.;
       if ( emfrac < 0.0 ) emfrac = 0.;
-      emfracVec.push_back( emfrac );
-
-      label = "AllMeV_SumEMSampl=" + DataType( eInSample ).toString() +
-  	"_SumAllSampl=" + DataType( eInSampleFull ).toString() +
-  	"_calcEMFrac=" + DataType( rawemfrac ).toString()+
-  	"_outEMFrac=" + DataType( emfrac ).toString();
+      emfracVec.push_back(  DataType(emfrac).toString() );
+
+      if ( DataType( eInSample ).toString() != 0. ){
+       label = "AllMeV_SumEMSampl=" + DataType( eInSample ).toString() +
+  	 "_SumAllSampl=" + DataType( eInSampleFull ).toString() +
+  	 "_calcEMFrac=" + DataType( rawemfrac ).toString()+
+  	 "_outEMFrac=" + DataType( emfrac ).toString();
+      }else{ label = "n_a"; }
       eInSample = 0.;
       eInSampleFull = 0.;
 
diff --git a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODTauRetriever.cxx b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODTauRetriever.cxx
index e61c16e2177..34f0b160510 100755
--- a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODTauRetriever.cxx
+++ b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODTauRetriever.cxx
@@ -7,6 +7,7 @@
 #include "CLHEP/Units/SystemOfUnits.h"
 
 #include "xAODTau/TauJetContainer.h" 
+#include "xAODTau/TauxAODHelpers.h"
 
 namespace JiveXML {
 
@@ -127,8 +128,12 @@ namespace JiveXML {
       // InnerDetector/InDetRecAlgs/InDetPriVxFinder/InDetVxLinksToTrackParticles
 
       int trkCnt = 0;
+#ifndef XAODTAU_VERSIONS_TAUTRACK_V1_H      
       const std::vector< ElementLink< xAOD::TrackParticleContainer > > tpLinks =  (*tauItr)->trackLinks();
-   
+#else
+      const std::vector< ElementLink< xAOD::TrackParticleContainer > > tpLinks =  xAOD::TauHelpers::trackParticleLinks(*tauItr);
+#endif
+      
       //iterating over the links
       unsigned int tp_size = tpLinks.size();
       numTracks.push_back(DataType( tp_size )); // same as:  (*tauItr)->nTracks()
-- 
GitLab