From 6be73d9171b3505adf314aab62b5e69e4069dec0 Mon Sep 17 00:00:00 2001
From: Bruno Lenzi <Bruno.Lenzi@cern.ch>
Date: Tue, 10 Feb 2015 20:41:42 +0100
Subject: [PATCH] IEMExtrapolationTools::getMomentumAtVertex for each track
 (egammaInterfaces-01-00-28)

	* IEMExtrapolationTools::getMomentumAtVertex for each track
	* tagging as egammaInterfaces-01-00-28

2015-01-30  David Di Valentino     <david.di.valentino@cern.ch>
	* Adding SW/SC overlap tagger interface
	* tagging as egammaInterfaces-01-00-27
---
 .../egammaInterfaces/IEMExtrapolationTools.h  |  5 +-
 .../IegammaClusterOverlapMarker.h             | 50 +++++++++++++++++++
 .../egammaInterfaces/egammaInterfacesDict.h   |  1 +
 .../egammaInterfaces/selection.xml            |  1 +
 4 files changed, 56 insertions(+), 1 deletion(-)
 create mode 100644 Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IegammaClusterOverlapMarker.h

diff --git a/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IEMExtrapolationTools.h b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IEMExtrapolationTools.h
index b71760005e8e3..21f82a92b618e 100644
--- a/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IEMExtrapolationTools.h
+++ b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IEMExtrapolationTools.h
@@ -99,7 +99,10 @@ class IEMExtrapolationTools : virtual public IAlgTool {
   virtual bool getEtaPhiAtCalo (const xAOD::Vertex* vertex, 
                                 float *etaAtCalo,
                                 float *phiAtCalo) const = 0;
-  
+
+  /** get the momentum of the i-th at the vertex (designed for conversions) **/
+  virtual Amg::Vector3D getMomentumAtVertex(const xAOD::Vertex&, unsigned int) const = 0;
+    
   /** get sum of the momenta at the vertex (designed for conversions). Retrieve from auxdata if available and <reuse> is true **/
   virtual Amg::Vector3D getMomentumAtVertex(const xAOD::Vertex&, bool reuse = true) const = 0;
 
diff --git a/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IegammaClusterOverlapMarker.h b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IegammaClusterOverlapMarker.h
new file mode 100644
index 0000000000000..e42ba11a19cd0
--- /dev/null
+++ b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/IegammaClusterOverlapMarker.h
@@ -0,0 +1,50 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EGAMMAINTERFACES_IEGAMMACLUSTEROVERLAPMARKER_H
+#define EGAMMAINTERFACES_IEGAMMACLUSTEROVERLAPMARKER_H
+
+/** @class IEGAMMASUPERCLUSTERTRACKMATCH
+  Interface for the tool Reconstruction/egamma/egammaTools/egammaSuperClusterTrackMatch
+
+  @author David Di Valentino david.di.valentino@cern.ch
+
+CREATED  : 21/12/2013
+MODIFIED : 
+*/
+
+// INCLUDE HEADER FILES:
+#include "GaudiKernel/IAlgTool.h"
+#include <vector>
+
+//EGAMMA INCLUDES
+#include "xAODCaloEvent/CaloClusterFwd.h"
+
+static const InterfaceID IID_IegammaClusterOverlapMarker("IegammaClusterOverlapMarker", 1, 0);
+
+class IegammaClusterOverlapMarker : virtual public IAlgTool
+{
+
+ public:
+
+  /** @brief Virtual destructor*/
+  virtual ~IegammaClusterOverlapMarker() {};
+	
+  /** @brief AlgTool interface methods */
+  static const InterfaceID& interfaceID();
+
+  /** @brief initialize method*/
+  virtual StatusCode initialize() = 0;
+  virtual StatusCode finalize()   = 0;
+  //virtual StatusCode execute()    = 0;
+  virtual StatusCode execute(const xAOD::CaloCluster*) = 0;
+
+};
+
+inline const InterfaceID& IegammaClusterOverlapMarker::interfaceID()
+{
+  return IID_IegammaClusterOverlapMarker;
+}
+
+#endif
diff --git a/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/egammaInterfacesDict.h b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/egammaInterfacesDict.h
index 2df57bc871748..a31548332d5d1 100644
--- a/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/egammaInterfacesDict.h
+++ b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/egammaInterfacesDict.h
@@ -44,5 +44,6 @@
 #include "egammaInterfaces/Iegammaqweta2c.h"
 #include "egammaInterfaces/IegammaTopoClusterMap.h"
 #include "egammaInterfaces/IegammaSuperClusterBuilder.h"
+#include "egammaInterfaces/IegammaClusterOverlapMarker.h"
 
 #endif // EGAMMAINTERFACES_EGAMMAINTERFACESDICT_H
diff --git a/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/selection.xml b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/selection.xml
index bb676cf5bae2a..bee80ad98e167 100644
--- a/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/selection.xml
+++ b/Reconstruction/egamma/egammaInterfaces/egammaInterfaces/selection.xml
@@ -25,5 +25,6 @@
   <class name="Iegammaqweta2c" />
   <class name="IegammaTopoClusterMap" />
   <class name="IegammaSuperClusterBuilder" />
+  <class name="IegammaClusterOverlapMarker" />
 </lcgdict>
 
-- 
GitLab