diff --git a/DQM/Physics/src/ExoticaDQM.h b/DQM/Physics/src/ExoticaDQM.h
index f667876df9f87..e42f6691ee809 100644
--- a/DQM/Physics/src/ExoticaDQM.h
+++ b/DQM/Physics/src/ExoticaDQM.h
@@ -50,8 +50,6 @@
 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
 #include "DataFormats/EgammaCandidates/interface/Photon.h"
 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
-#include "DataFormats/TauReco/interface/CaloTauFwd.h"
 #include "DataFormats/TauReco/interface/PFTau.h"
 #include "DataFormats/JetReco/interface/PFJetCollection.h"
 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
diff --git a/DQMOffline/Trigger/interface/HLTTauRefProducer.h b/DQMOffline/Trigger/interface/HLTTauRefProducer.h
index 5036bc960e0c7..f4f0a51a58605 100644
--- a/DQMOffline/Trigger/interface/HLTTauRefProducer.h
+++ b/DQMOffline/Trigger/interface/HLTTauRefProducer.h
@@ -20,7 +20,6 @@
 // TAU includes
 #include "DataFormats/TauReco/interface/PFTau.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
 
 // ELECTRON includes
 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
diff --git a/DQMOffline/Trigger/plugins/HLTTauRefProducer.cc b/DQMOffline/Trigger/plugins/HLTTauRefProducer.cc
index e8cea59cdff02..d473ebf640eea 100644
--- a/DQMOffline/Trigger/plugins/HLTTauRefProducer.cc
+++ b/DQMOffline/Trigger/plugins/HLTTauRefProducer.cc
@@ -3,8 +3,6 @@
 // TAU includes
 #include "DataFormats/TauReco/interface/PFTau.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h"
 // ELECTRON includes
 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
diff --git a/DataFormats/PatCandidates/interface/Tau.h b/DataFormats/PatCandidates/interface/Tau.h
index 834a9daf05cce..20aa7cdc19348 100644
--- a/DataFormats/PatCandidates/interface/Tau.h
+++ b/DataFormats/PatCandidates/interface/Tau.h
@@ -7,7 +7,7 @@
 
    pat::Tau implements the analysis-level tau class within the 'pat' namespace.
    It inherits from reco::BaseTau, copies all the information from the source
-   reco::CaloTau or reco::PFTau, and adds some PAT-specific variables.
+   reco::PFTau, and adds some PAT-specific variables.
 
    Please post comments and questions to the Physics Tools hypernews:
    https://hypernews.cern.ch/HyperNews/CMS/get/physTools.html
@@ -25,7 +25,6 @@
 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
 
 #include "DataFormats/PatCandidates/interface/TauPFSpecific.h"
-#include "DataFormats/PatCandidates/interface/TauCaloSpecific.h"
 #include "DataFormats/PatCandidates/interface/TauJetCorrFactors.h"
 #include "DataFormats/PatCandidates/interface/TauPFEssential.h"
 
@@ -117,39 +116,6 @@ namespace pat {
     /// set the matched GenJet
     void setGenJet(const reco::GenJetRef& ref);
 
-    // ---- CaloTau accessors (getters only) ----
-    /// Returns true if this pat::Tau was made from a reco::CaloTau
-    bool isCaloTau() const { return !caloSpecific_.empty(); }
-    /// return CaloTau info or throw exception 'not CaloTau'
-    const pat::tau::TauCaloSpecific& caloSpecific() const;
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    reco::CaloTauTagInfoRef caloTauTagInfoRef() const { return caloSpecific().CaloTauTagInfoRef_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float leadTracksignedSipt() const { return caloSpecific().leadTracksignedSipt_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float leadTrackHCAL3x3hitsEtSum() const { return caloSpecific().leadTrackHCAL3x3hitsEtSum_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float leadTrackHCAL3x3hottesthitDEta() const { return caloSpecific().leadTrackHCAL3x3hottesthitDEta_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float signalTracksInvariantMass() const { return caloSpecific().signalTracksInvariantMass_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float TracksInvariantMass() const { return caloSpecific().TracksInvariantMass_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float isolationTracksPtSum() const { return caloSpecific().isolationTracksPtSum_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float isolationECALhitsEtSum() const { return caloSpecific().isolationECALhitsEtSum_; }
-    /// Method copied from reco::CaloTau.
-    /// Throws an exception if this pat::Tau was not made from a reco::CaloTau
-    float maximumHCALhitEt() const { return caloSpecific().maximumHCALhitEt_; }
-
     // ---- PFTau accessors (getters only) ----
     /// Returns true if this pat::Tau was made from a reco::PFTau
     bool isPFTau() const { return !pfSpecific_.empty(); }
@@ -352,7 +318,7 @@ namespace pat {
     float emFraction_MVA() const { return pfEssential().emFraction_; }
 
     /// Methods copied from reco::Jet.
-    /// (accessible from reco::CaloTau/reco::PFTau via reco::CaloTauTagInfo/reco::PFTauTagInfo)
+    /// (accessible from reco::PFTau via reco::PFTauTagInfo)
     reco::Candidate::LorentzVector p4Jet() const;
     float etaetaMoment() const;
     float phiphiMoment() const;
@@ -502,10 +468,6 @@ namespace pat {
     /// holder for PFTau info, or empty vector if CaloTau
     std::vector<pat::tau::TauPFSpecific> pfSpecific_;
 
-    // ---- CaloTau specific variables  ----
-    /// holder for CaloTau info, or empty vector if PFTau
-    std::vector<pat::tau::TauCaloSpecific> caloSpecific_;
-
     // ---- energy scale correction factors ----
     // energy scale correction factors; the string carries a potential label if
     // more then one set of correction factors is embedded. The label corresponds
diff --git a/DataFormats/PatCandidates/interface/TauCaloSpecific.h b/DataFormats/PatCandidates/interface/TauCaloSpecific.h
deleted file mode 100644
index cb4a068a8caf4..0000000000000
--- a/DataFormats/PatCandidates/interface/TauCaloSpecific.h
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-//
-
-#ifndef DataFormats_PatCandidates_Tau_CaloSpecific_h
-#define DataFormats_PatCandidates_Tau_CaloSpecific_h
-
-/**
-  \class    pat::tau::CaloSpecific TauCaloSpecific.h "DataFormats/PatCandidates/interface/TauCaloSpecific.h"
-  \brief    Structure to hold information specific to a CaloTau inside a pat::Tau
-
-  \author   Giovanni Petrucciani
-*/
-
-#include "DataFormats/TauReco/interface/CaloTau.h"
-#include "DataFormats/Candidate/interface/Candidate.h"
-
-namespace pat {
-  namespace tau {
-
-    struct TauCaloSpecific {
-      // dummy constructor for ROOT I/O
-      TauCaloSpecific() {}
-      // constructor from CaloTau
-      TauCaloSpecific(const reco::CaloTau &tau);
-      // datamembers
-      reco::CaloTauTagInfoRef CaloTauTagInfoRef_;
-      float leadTracksignedSipt_;
-      float leadTrackHCAL3x3hitsEtSum_;
-      float leadTrackHCAL3x3hottesthitDEta_;
-      float signalTracksInvariantMass_;
-      float TracksInvariantMass_;
-      float isolationTracksPtSum_;
-      float isolationECALhitsEtSum_;
-      float maximumHCALhitEt_;
-      reco::Candidate::LorentzVector p4Jet_;
-      float etaetaMoment_;
-      float phiphiMoment_;
-      float etaphiMoment_;
-    };
-
-  }  // namespace tau
-}  // namespace pat
-
-#endif
diff --git a/DataFormats/PatCandidates/src/Tau.cc b/DataFormats/PatCandidates/src/Tau.cc
index 1b27ebd2ae7c2..4afa154b8e001 100644
--- a/DataFormats/PatCandidates/src/Tau.cc
+++ b/DataFormats/PatCandidates/src/Tau.cc
@@ -116,9 +116,6 @@ void Tau::initFromBaseTau(const reco::BaseTau& aTau) {
     }
     pfEssential_.push_back(pat::tau::TauPFEssential(*pfTau));
   }
-  const reco::CaloTau* caloTau = dynamic_cast<const reco::CaloTau*>(&aTau);
-  if (caloTau != nullptr)
-    caloSpecific_.push_back(pat::tau::TauCaloSpecific(*caloTau));
 }
 
 /// destructor
@@ -255,20 +252,11 @@ const pat::tau::TauPFEssential& Tau::pfEssential() const {
   return pfEssential_[0];
 }
 
-const pat::tau::TauCaloSpecific& Tau::caloSpecific() const {
-  if (!isCaloTau())
-    throw cms::Exception("Type Error")
-        << "Requesting a CaloTau-specific information from a pat::Tau which wasn't made from a CaloTau.\n";
-  return caloSpecific_[0];
-}
-
 reco::Candidate::LorentzVector Tau::p4Jet() const {
-  if (isCaloTau())
-    return caloSpecific().p4Jet_;
   if (isPFTau())
     return reco::Candidate::LorentzVector(pfEssential().p4Jet_);
-  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't "
-                                        "made from either a CaloTau or a PFTau.\n";
+  throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't "
+                                        "made from a PFTau.\n";
 }
 
 float Tau::dxy_Sig() const {
@@ -298,30 +286,24 @@ float Tau::ip3d_Sig() const {
 }
 
 float Tau::etaetaMoment() const {
-  if (isCaloTau())
-    return caloSpecific().etaetaMoment_;
   if (isPFTau())
     return pfSpecific().etaetaMoment_;
-  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't "
-                                        "made from either a CaloTau or a PFTau.\n";
+  throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't "
+                                        "made from a PFTau.\n";
 }
 
 float Tau::phiphiMoment() const {
-  if (isCaloTau())
-    return caloSpecific().phiphiMoment_;
   if (isPFTau())
     return pfSpecific().phiphiMoment_;
-  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't "
-                                        "made from either a CaloTau or a PFTau.\n";
+  throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't "
+                                        "made from a PFTau.\n";
 }
 
 float Tau::etaphiMoment() const {
-  if (isCaloTau())
-    return caloSpecific().etaphiMoment_;
   if (isPFTau())
     return pfSpecific().etaphiMoment_;
-  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't "
-                                        "made from either a CaloTau or a PFTau.\n";
+  throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't "
+                                        "made from a PFTau.\n";
 }
 
 void Tau::setDecayMode(int decayMode) {
diff --git a/DataFormats/PatCandidates/src/TauCaloSpecific.cc b/DataFormats/PatCandidates/src/TauCaloSpecific.cc
deleted file mode 100644
index e6773dc1fb8fd..0000000000000
--- a/DataFormats/PatCandidates/src/TauCaloSpecific.cc
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "DataFormats/PatCandidates/interface/TauCaloSpecific.h"
-
-pat::tau::TauCaloSpecific::TauCaloSpecific(const reco::CaloTau &tau)
-    : CaloTauTagInfoRef_(tau.caloTauTagInfoRef()),
-      leadTracksignedSipt_(tau.leadTracksignedSipt()),
-      leadTrackHCAL3x3hitsEtSum_(tau.leadTrackHCAL3x3hitsEtSum()),
-      leadTrackHCAL3x3hottesthitDEta_(tau.leadTrackHCAL3x3hottesthitDEta()),
-      signalTracksInvariantMass_(tau.signalTracksInvariantMass()),
-      TracksInvariantMass_(tau.TracksInvariantMass()),
-      isolationTracksPtSum_(tau.isolationTracksPtSum()),
-      isolationECALhitsEtSum_(tau.isolationECALhitsEtSum()),
-      maximumHCALhitEt_(tau.maximumHCALhitEt()) {
-  p4Jet_ = tau.caloTauTagInfoRef()->calojetRef()->p4();
-  reco::Jet::EtaPhiMoments etaPhiStatistics = tau.caloTauTagInfoRef()->calojetRef()->etaPhiStatistics();
-  etaetaMoment_ = etaPhiStatistics.etaEtaMoment;
-  phiphiMoment_ = etaPhiStatistics.phiPhiMoment;
-  etaphiMoment_ = etaPhiStatistics.etaPhiMoment;
-}
diff --git a/DataFormats/PatCandidates/src/classes_def_objects.xml b/DataFormats/PatCandidates/src/classes_def_objects.xml
index 3fb32a11d63ab..92b90b13869e8 100644
--- a/DataFormats/PatCandidates/src/classes_def_objects.xml
+++ b/DataFormats/PatCandidates/src/classes_def_objects.xml
@@ -97,7 +97,8 @@
     <![CDATA[ cachedIP_ = onfile.cachedIP_[1] + 2*onfile.cachedIP_[2] + 4*onfile.cachedIP_[3] + 8*onfile.cachedIP_[4]; ]]>
   </ioread>
 
-  <class name="pat::Tau"  ClassVersion="18">
+  <class name="pat::Tau"  ClassVersion="19">
+   <version ClassVersion="19" checksum="4141787547"/>
    <version ClassVersion="18" checksum="3279584614"/>
    <version ClassVersion="17" checksum="2561486007"/>
    <version ClassVersion="16" checksum="2793593983"/>
@@ -177,11 +178,6 @@
   </class>
   <class name="std::vector<pat::tau::TauPFSpecific>" />
 
-  <class name="pat::tau::TauCaloSpecific"  ClassVersion="11">
-   <version ClassVersion="11" checksum="943826557"/>
-   <version ClassVersion="10" checksum="2692173055"/>
-  </class>
-  <class name="std::vector<pat::tau::TauCaloSpecific>" />
   <class name="pat::tau::TauPFEssential" ClassVersion="14">
     <version ClassVersion="14" checksum="524735083" /> 
     <version ClassVersion="13" checksum="1052833547" />
diff --git a/DataFormats/TauReco/interface/CaloTau.h b/DataFormats/TauReco/interface/CaloTau.h
deleted file mode 100644
index 8c5270b00138c..0000000000000
--- a/DataFormats/TauReco/interface/CaloTau.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef DataFormats_TauReco_CaloTau_h
-#define DataFormats_TauReco_CaloTau_h
-
-/* class CaloTau
- * the object of this class is created by RecoTauTag/RecoTau CaloRecoTauProducer EDProducer starting from the CaloTauTagInfo object,
- *                          is a hadronic tau-jet candidate -built from a calo. jet- that analysts manipulate;
- * authors: Simone Gennai (simone.gennai@cern.ch), Ludovic Houchu (Ludovic.Houchu@cern.ch)
- * created: Jun 21 2007,
- * revised: Feb 20 2007
- */
-#include "DataFormats/Math/interface/LorentzVector.h"
-#include "DataFormats/TauReco/interface/BaseTau.h"
-#include "DataFormats/TauReco/interface/CaloTauFwd.h"
-#include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
-
-#include <limits>
-
-namespace reco {
-  class CaloTau : public BaseTau {
-  public:
-    CaloTau();
-    CaloTau(Charge q, const LorentzVector&, const Point& = Point(0, 0, 0));
-    ~CaloTau() override {}
-    CaloTau* clone() const override;
-
-    const CaloTauTagInfoRef& caloTauTagInfoRef() const;
-    void setcaloTauTagInfoRef(const CaloTauTagInfoRef);
-
-    const CaloJetRef rawJetRef() const;
-
-    // signed transverse impact parameter significance of leading Track ; NaN if no leading Track
-    float leadTracksignedSipt() const;
-    void setleadTracksignedSipt(const float&);
-
-    // sum of Et of HCAL hits inside a 3x3 calo. tower matrix centered on direction of propag. leading Track - ECAL inner surf. contact point ; NaN if no leading Track or if invalid propag. leading Track - ECAL inner surf. contact point
-    float leadTrackHCAL3x3hitsEtSum() const;
-    void setleadTrackHCAL3x3hitsEtSum(const float&);
-
-    // |DEta| between direction of propag. leading Track - ECAL inner surf. contact point and direction of highest Et hit among HCAL hits inside a 3x3 calo. tower matrix centered on direction of propag. leading Track - ECAL inner surf. contact point ; NaN if no leading Track or if invalid propag. leading Track - ECAL inner surf. contact point
-    float leadTrackHCAL3x3hottesthitDEta() const;
-    void setleadTrackHCAL3x3hottesthitDEta(const float&);
-
-    // invariant mass of the system of Tracks inside a signal cone around leading Track ; NaN if no leading Track
-    float signalTracksInvariantMass() const;
-    void setsignalTracksInvariantMass(const float&);
-
-    // invariant mass of the system of Tracks ; NaN if no Track
-    float TracksInvariantMass() const;
-    void setTracksInvariantMass(const float&);
-
-    // sum of Pt of the Tracks inside a tracker isolation annulus around leading Track ; NaN if no leading Track
-    float isolationTracksPtSum() const;
-    void setisolationTracksPtSum(const float&);
-
-    // sum of Et of ECAL RecHits inside an ECAL isolation annulus around leading Track ; NaN if no leading Track
-    float isolationECALhitsEtSum() const;
-    void setisolationECALhitsEtSum(const float&);
-
-    // Et of the highest Et HCAL hit
-    float maximumHCALhitEt() const;
-    void setmaximumHCALhitEt(const float&);
-
-  private:
-    // check overlap with another candidate
-    bool overlap(const Candidate& d) const override;
-    CaloTauTagInfoRef CaloTauTagInfoRef_;
-    float leadTracksignedSipt_;
-    float leadTrackHCAL3x3hitsEtSum_;
-    float leadTrackHCAL3x3hottesthitDEta_;
-    float signalTracksInvariantMass_;
-    float TracksInvariantMass_;
-    float isolationTracksPtSum_;
-    float isolationECALhitsEtSum_;
-    float maximumHCALhitEt_;
-  };
-}  // namespace reco
-#endif
diff --git a/DataFormats/TauReco/interface/CaloTauDiscriminator.h b/DataFormats/TauReco/interface/CaloTauDiscriminator.h
deleted file mode 100644
index 5f677c8f0ba35..0000000000000
--- a/DataFormats/TauReco/interface/CaloTauDiscriminator.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef DataFormats_TauReco_CaloTauDiscriminator_h
-#define DataFormats_TauReco_CaloTauDiscriminator_h
-#include "DataFormats/Common/interface/AssociationVector.h"
-#include "DataFormats/Common/interface/RefProd.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
-
-#include <vector>
-
-namespace reco {
-  typedef edm::AssociationVector<CaloTauRefProd, std::vector<float> > CaloTauDiscriminatorBase;
-
-  class CaloTauDiscriminator : public CaloTauDiscriminatorBase {
-  public:
-    CaloTauDiscriminator() : CaloTauDiscriminatorBase() {}
-
-    CaloTauDiscriminator(const reco::CaloTauRefProd &ref) : CaloTauDiscriminatorBase(ref) {}
-
-    CaloTauDiscriminator(const CaloTauDiscriminatorBase &v) : CaloTauDiscriminatorBase(v) {}
-  };
-
-  typedef CaloTauDiscriminator::value_type CaloTauDiscriminatorVT;
-  typedef edm::Ref<CaloTauDiscriminator> CaloTauDiscriminatorRef;
-  typedef edm::RefProd<CaloTauDiscriminator> CaloTauDiscriminatorRefProd;
-  typedef edm::RefVector<CaloTauDiscriminator> CaloTauDiscriminatorRefVector;
-}  // namespace reco
-#endif
diff --git a/DataFormats/TauReco/interface/CaloTauDiscriminatorAgainstElectron.h b/DataFormats/TauReco/interface/CaloTauDiscriminatorAgainstElectron.h
deleted file mode 100644
index 8d1a84320c63b..0000000000000
--- a/DataFormats/TauReco/interface/CaloTauDiscriminatorAgainstElectron.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef DataFormats_TauReco_CaloTauDiscriminatorAgainstElectron_h
-#define DataFormats_TauReco_CaloTauDiscriminatorAgainstElectron_h
-#include "DataFormats/Common/interface/AssociationVector.h"
-#include "DataFormats/Common/interface/RefProd.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
-
-#include <vector>
-
-namespace reco {
-  typedef edm::AssociationVector<CaloTauRefProd, std::vector<int> > CaloTauDiscriminatorAgainstElectronBase;
-
-  class CaloTauDiscriminatorAgainstElectron : public CaloTauDiscriminatorAgainstElectronBase {
-  public:
-    CaloTauDiscriminatorAgainstElectron() : CaloTauDiscriminatorAgainstElectronBase() {}
-
-    CaloTauDiscriminatorAgainstElectron(const reco::CaloTauRefProd &ref)
-        : CaloTauDiscriminatorAgainstElectronBase(ref) {}
-
-    CaloTauDiscriminatorAgainstElectron(const CaloTauDiscriminatorAgainstElectronBase &v)
-        : CaloTauDiscriminatorAgainstElectronBase(v) {}
-  };
-
-  typedef CaloTauDiscriminatorAgainstElectron::value_type CaloTauDiscriminatorAgainstElectronVT;
-  typedef edm::Ref<CaloTauDiscriminatorAgainstElectron> CaloTauDiscriminatorAgainstElectronRef;
-  typedef edm::RefProd<CaloTauDiscriminatorAgainstElectron> CaloTauDiscriminatorAgainstElectronRefProd;
-  typedef edm::RefVector<CaloTauDiscriminatorAgainstElectron> CaloTauDiscriminatorAgainstElectronRefVector;
-}  // namespace reco
-#endif
diff --git a/DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h b/DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h
deleted file mode 100644
index 9b5a86c1f8c35..0000000000000
--- a/DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef DataFormats_TauReco_CaloTauDiscriminatorByIsolation_h
-#define DataFormats_TauReco_CaloTauDiscriminatorByIsolation_h
-#include "DataFormats/Common/interface/AssociationVector.h"
-#include "DataFormats/Common/interface/RefProd.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
-
-#include <vector>
-
-namespace reco {
-  typedef edm::AssociationVector<CaloTauRefProd, std::vector<int> > CaloTauDiscriminatorByIsolationBase;
-
-  class CaloTauDiscriminatorByIsolation : public CaloTauDiscriminatorByIsolationBase {
-  public:
-    CaloTauDiscriminatorByIsolation() : CaloTauDiscriminatorByIsolationBase() {}
-
-    CaloTauDiscriminatorByIsolation(const reco::CaloTauRefProd &ref) : CaloTauDiscriminatorByIsolationBase(ref) {}
-
-    CaloTauDiscriminatorByIsolation(const CaloTauDiscriminatorByIsolationBase &v)
-        : CaloTauDiscriminatorByIsolationBase(v) {}
-  };
-
-  typedef CaloTauDiscriminatorByIsolation::value_type CaloTauDiscriminatorByIsolationVT;
-  typedef edm::Ref<CaloTauDiscriminatorByIsolation> CaloTauDiscriminatorByIsolationRef;
-  typedef edm::RefProd<CaloTauDiscriminatorByIsolation> CaloTauDiscriminatorByIsolationRefProd;
-  typedef edm::RefVector<CaloTauDiscriminatorByIsolation> CaloTauDiscriminatorByIsolationRefVector;
-}  // namespace reco
-#endif
diff --git a/DataFormats/TauReco/interface/CaloTauFwd.h b/DataFormats/TauReco/interface/CaloTauFwd.h
deleted file mode 100644
index e80b8bde64b93..0000000000000
--- a/DataFormats/TauReco/interface/CaloTauFwd.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef DataFormats_TauReco_CaloTauFwd_h
-#define DataFormats_TauReco_CaloTauFwd_h
-#include <vector>
-#include "DataFormats/Common/interface/Ref.h"
-#include "DataFormats/Common/interface/RefProd.h"
-#include "DataFormats/Common/interface/RefVector.h"
-
-namespace reco {
-  class CaloTau;
-  /// collection of CaloTau objects
-  typedef std::vector<CaloTau> CaloTauCollection;
-  /// presistent reference to a CaloTau
-  typedef edm::Ref<CaloTauCollection> CaloTauRef;
-  /// references to CaloTau collection
-  typedef edm::RefProd<CaloTauCollection> CaloTauRefProd;
-  /// vector of references to CaloTau objects all in the same collection
-  typedef edm::RefVector<CaloTauCollection> CaloTauRefVector;
-  /// iterator over a vector of references to CaloTau objects all in the same collection
-  typedef CaloTauRefVector::iterator calotau_iterator;
-}  // namespace reco
-
-#endif
diff --git a/DataFormats/TauReco/interface/CaloTauTagInfo.h b/DataFormats/TauReco/interface/CaloTauTagInfo.h
deleted file mode 100644
index d92b75a660db2..0000000000000
--- a/DataFormats/TauReco/interface/CaloTauTagInfo.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef DataFormats_TauReco_CaloTauTagInfo_h
-#define DataFormats_TauReco_CaloTauTagInfo_h
-
-/* class CaloTauTagInfo
- * the object of this class is created by RecoTauTag/RecoTau CaloRecoTauTagInfoProducer EDProducer starting from JetTrackAssociations <a CaloJet,a list of Tracks> object,
- *                          is the initial object for building a CaloTau object;
- * created: Sep 4 2007,
- * revised: Feb 20 2008,
- * authors: Ludovic Houchu
- */
-
-#include "DataFormats/EgammaReco/interface/BasicClusterFwd.h"
-#include "DataFormats/JetReco/interface/CaloJetCollection.h"
-#include "DataFormats/Math/interface/Point3D.h"
-#include "DataFormats/TauReco/interface/BaseTauTagInfo.h"
-#include "DataFormats/TauReco/interface/CaloTauTagInfoFwd.h"
-#include "DataFormats/JetReco/interface/JetCollection.h"
-
-namespace reco {
-  class CaloTauTagInfo : public BaseTauTagInfo {
-  public:
-    CaloTauTagInfo() {}
-    ~CaloTauTagInfo() override{};
-    virtual CaloTauTagInfo* clone() const;
-
-    //the reference to the CaloJet
-    const CaloJetRef& calojetRef() const;
-    void setcalojetRef(const CaloJetRef);
-
-    const JetBaseRef jetRef() const;
-    void setJetRef(const JetBaseRef);
-
-    const std::vector<std::pair<math::XYZPoint, float> > positionAndEnergyECALRecHits() const;
-    void setpositionAndEnergyECALRecHits(const std::vector<std::pair<math::XYZPoint, float> >&);
-
-    const std::vector<BasicClusterRef> neutralECALBasicClusters() const;
-    void setneutralECALBasicClusters(const std::vector<BasicClusterRef>&);
-
-  private:
-    CaloJetRef CaloJetRef_;
-    std::vector<std::pair<math::XYZPoint, float> > positionAndEnergyECALRecHits_;
-    std::vector<BasicClusterRef> neutralECALBasicClusters_;
-    JetBaseRef JetRef_;
-  };
-}  // namespace reco
-
-#endif
diff --git a/DataFormats/TauReco/interface/CaloTauTagInfoFwd.h b/DataFormats/TauReco/interface/CaloTauTagInfoFwd.h
deleted file mode 100644
index e267e9693c925..0000000000000
--- a/DataFormats/TauReco/interface/CaloTauTagInfoFwd.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef DataFormats_TauReco_CaloTauTagInfoFwd_h
-#define DataFormats_TauReco_CaloTauTagInfoFwd_h
-#include <vector>
-#include "DataFormats/Common/interface/Ref.h"
-#include "DataFormats/Common/interface/RefProd.h"
-#include "DataFormats/Common/interface/RefVector.h"
-
-namespace reco {
-  class CaloTauTagInfo;
-  /// collection of CaloTauTagInfo objects
-  typedef std::vector<CaloTauTagInfo> CaloTauTagInfoCollection;
-  /// presistent reference to a CaloTauTagInfo
-  typedef edm::Ref<CaloTauTagInfoCollection> CaloTauTagInfoRef;
-  /// references to CaloTauTagInfo collection
-  typedef edm::RefProd<CaloTauTagInfoCollection> CaloTauTagInfoRefProd;
-  /// vector of references to CaloTauTagInfo objects all in the same collection
-  typedef edm::RefVector<CaloTauTagInfoCollection> CaloTauTagInfoRefVector;
-  /// iterator over a vector of references to CaloTauTagInfo objects all in the same collection
-  typedef CaloTauTagInfoRefVector::iterator calotautaginfo_iterator;
-}  // namespace reco
-
-#endif
diff --git a/DataFormats/TauReco/src/CaloTau.cc b/DataFormats/TauReco/src/CaloTau.cc
deleted file mode 100644
index 373b1f835b9e2..0000000000000
--- a/DataFormats/TauReco/src/CaloTau.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "DataFormats/TauReco/interface/CaloTau.h"
-
-using namespace reco;
-
-CaloTau::CaloTau() {
-  maximumHCALhitEt_ = NAN;
-  leadTracksignedSipt_ = NAN;
-  leadTrackHCAL3x3hitsEtSum_ = NAN;
-  leadTrackHCAL3x3hottesthitDEta_ = NAN;
-  signalTracksInvariantMass_ = NAN;
-  TracksInvariantMass_ = NAN;
-  isolationTracksPtSum_ = NAN;
-  isolationECALhitsEtSum_ = NAN;
-}
-
-CaloTau::CaloTau(Charge q, const LorentzVector& p4, const Point& vtx) : BaseTau(q, p4, vtx) {
-  maximumHCALhitEt_ = NAN;
-  leadTracksignedSipt_ = NAN;
-  leadTrackHCAL3x3hitsEtSum_ = NAN;
-  leadTrackHCAL3x3hottesthitDEta_ = NAN;
-  signalTracksInvariantMass_ = NAN;
-  TracksInvariantMass_ = NAN;
-  isolationTracksPtSum_ = NAN;
-  isolationECALhitsEtSum_ = NAN;
-}
-
-CaloTau* CaloTau::clone() const { return new CaloTau(*this); }
-
-const CaloTauTagInfoRef& CaloTau::caloTauTagInfoRef() const { return CaloTauTagInfoRef_; }
-void CaloTau::setcaloTauTagInfoRef(const CaloTauTagInfoRef x) { CaloTauTagInfoRef_ = x; }
-
-const CaloJetRef CaloTau::rawJetRef() const { return this->caloTauTagInfoRef()->calojetRef(); }
-
-float CaloTau::leadTracksignedSipt() const { return leadTracksignedSipt_; }
-void CaloTau::setleadTracksignedSipt(const float& x) { leadTracksignedSipt_ = x; }
-
-float CaloTau::leadTrackHCAL3x3hitsEtSum() const { return leadTrackHCAL3x3hitsEtSum_; }
-void CaloTau::setleadTrackHCAL3x3hitsEtSum(const float& x) { leadTrackHCAL3x3hitsEtSum_ = x; }
-
-float CaloTau::leadTrackHCAL3x3hottesthitDEta() const { return leadTrackHCAL3x3hottesthitDEta_; }
-void CaloTau::setleadTrackHCAL3x3hottesthitDEta(const float& x) { leadTrackHCAL3x3hottesthitDEta_ = x; }
-
-float CaloTau::signalTracksInvariantMass() const { return signalTracksInvariantMass_; }
-void CaloTau::setsignalTracksInvariantMass(const float& x) { signalTracksInvariantMass_ = x; }
-
-float CaloTau::TracksInvariantMass() const { return TracksInvariantMass_; }
-void CaloTau::setTracksInvariantMass(const float& x) { TracksInvariantMass_ = x; }
-
-float CaloTau::isolationTracksPtSum() const { return isolationTracksPtSum_; }
-void CaloTau::setisolationTracksPtSum(const float& x) { isolationTracksPtSum_ = x; }
-
-float CaloTau::isolationECALhitsEtSum() const { return isolationECALhitsEtSum_; }
-void CaloTau::setisolationECALhitsEtSum(const float& x) { isolationECALhitsEtSum_ = x; }
-
-float CaloTau::maximumHCALhitEt() const { return maximumHCALhitEt_; }
-void CaloTau::setmaximumHCALhitEt(const float& x) { maximumHCALhitEt_ = x; }
-
-bool CaloTau::overlap(const reco::Candidate& theCand) const {
-  const reco::RecoCandidate* theRecoCand = dynamic_cast<const RecoCandidate*>(&theCand);
-  return (theRecoCand != nullptr && (checkOverlap(track(), theRecoCand->track())));
-}
diff --git a/DataFormats/TauReco/src/CaloTauTagInfo.cc b/DataFormats/TauReco/src/CaloTauTagInfo.cc
deleted file mode 100644
index 96ff119bb441f..0000000000000
--- a/DataFormats/TauReco/src/CaloTauTagInfo.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
-using namespace std;
-using namespace edm;
-using namespace reco;
-
-CaloTauTagInfo* CaloTauTagInfo::clone() const { return new CaloTauTagInfo(*this); }
-
-const CaloJetRef& CaloTauTagInfo::calojetRef() const { return CaloJetRef_; }
-void CaloTauTagInfo::setcalojetRef(const CaloJetRef x) { CaloJetRef_ = x; }
-
-const JetBaseRef CaloTauTagInfo::jetRef() const {
-  if (JetRef_.isNonnull()) {
-    return JetRef_;
-  } else
-    return JetBaseRef(CaloJetRef_);
-}
-
-#include "DataFormats/JetReco/interface/JPTJet.h"
-void CaloTauTagInfo::setJetRef(const JetBaseRef x) {
-  JetRef_ = x;
-  const reco::Jet* base = x.get();
-
-  if (dynamic_cast<const reco::CaloJet*>(base)) {
-    CaloJetRef_ = x.castTo<reco::CaloJetRef>();
-  } else if (dynamic_cast<const reco::JPTJet*>(base)) {
-    reco::JPTJetRef const theJPTJetRef = JetRef_.castTo<reco::JPTJetRef>();
-    reco::CaloJetRef const theCaloJetRef = (theJPTJetRef->getCaloJetRef()).castTo<reco::CaloJetRef>();
-    CaloJetRef_ = theCaloJetRef;
-  } else {
-    throw cms::Exception("LogicError") << "CaloTauTagInfo supports reco::CaloJet and reco::JPTJet, got "
-                                       << typeid(base).name();
-  }
-}
-
-const vector<pair<math::XYZPoint, float> > CaloTauTagInfo::positionAndEnergyECALRecHits() const {
-  return positionAndEnergyECALRecHits_;
-}
-void CaloTauTagInfo::setpositionAndEnergyECALRecHits(const std::vector<pair<math::XYZPoint, float> >& x) {
-  positionAndEnergyECALRecHits_ = x;
-}
-
-const vector<BasicClusterRef> CaloTauTagInfo::neutralECALBasicClusters() const { return neutralECALBasicClusters_; }
-void CaloTauTagInfo::setneutralECALBasicClusters(const std::vector<BasicClusterRef>& x) {
-  neutralECALBasicClusters_ = x;
-}
diff --git a/DataFormats/TauReco/src/classes_1.h b/DataFormats/TauReco/src/classes_1.h
index d9365f706beb8..7e29723f38b3e 100644
--- a/DataFormats/TauReco/src/classes_1.h
+++ b/DataFormats/TauReco/src/classes_1.h
@@ -1,17 +1,12 @@
 #include "DataFormats/Common/interface/Wrapper.h"
 #include "DataFormats/Common/interface/AssociationVector.h"
 #include "DataFormats/TauReco/interface/BaseTauTagInfo.h"
-#include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
 #include "DataFormats/TauReco/interface/PFTauTagInfo.h"
 #include "DataFormats/TauReco/interface/BaseTau.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
 #include "DataFormats/TauReco/interface/PFTau.h"
 #include "DataFormats/TauReco/interface/PFTauDecayMode.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZero.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZeroFwd.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminator.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorAgainstElectron.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminatorByIsolation.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
 #include "DataFormats/Common/interface/AssociationMap.h"
diff --git a/DataFormats/TauReco/src/classes_2.h b/DataFormats/TauReco/src/classes_2.h
index d9365f706beb8..7e29723f38b3e 100644
--- a/DataFormats/TauReco/src/classes_2.h
+++ b/DataFormats/TauReco/src/classes_2.h
@@ -1,17 +1,12 @@
 #include "DataFormats/Common/interface/Wrapper.h"
 #include "DataFormats/Common/interface/AssociationVector.h"
 #include "DataFormats/TauReco/interface/BaseTauTagInfo.h"
-#include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
 #include "DataFormats/TauReco/interface/PFTauTagInfo.h"
 #include "DataFormats/TauReco/interface/BaseTau.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
 #include "DataFormats/TauReco/interface/PFTau.h"
 #include "DataFormats/TauReco/interface/PFTauDecayMode.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZero.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZeroFwd.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminator.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorAgainstElectron.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminatorByIsolation.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
 #include "DataFormats/Common/interface/AssociationMap.h"
diff --git a/DataFormats/TauReco/src/classes_3.h b/DataFormats/TauReco/src/classes_3.h
index 71e11b7e6da13..27e6ce3a038e9 100644
--- a/DataFormats/TauReco/src/classes_3.h
+++ b/DataFormats/TauReco/src/classes_3.h
@@ -1,17 +1,12 @@
 #include "DataFormats/Common/interface/Wrapper.h"
 #include "DataFormats/Common/interface/AssociationVector.h"
 #include "DataFormats/TauReco/interface/BaseTauTagInfo.h"
-#include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
 #include "DataFormats/TauReco/interface/PFTauTagInfo.h"
 #include "DataFormats/TauReco/interface/BaseTau.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
 #include "DataFormats/TauReco/interface/PFTau.h"
 #include "DataFormats/TauReco/interface/PFTauDecayMode.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZero.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZeroFwd.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminator.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorAgainstElectron.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminatorByIsolation.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
 #include "DataFormats/Common/interface/AssociationMap.h"
diff --git a/DataFormats/TauReco/src/classes_def_1.xml b/DataFormats/TauReco/src/classes_def_1.xml
index 809ca1e05c138..af23c19ee38ec 100644
--- a/DataFormats/TauReco/src/classes_def_1.xml
+++ b/DataFormats/TauReco/src/classes_def_1.xml
@@ -18,17 +18,6 @@
   <class name="edm::RefProd<std::vector<reco::BaseTauTagInfo> >"/>
   <class name="edm::RefVector<std::vector<reco::BaseTauTagInfo>,reco::BaseTauTagInfo,edm::refhelper::FindUsingAdvance<std::vector<reco::BaseTauTagInfo>,reco::BaseTauTagInfo> >"/>
   
-  <class name="reco::CaloTauTagInfo" ClassVersion="12">
-   <version ClassVersion="10" checksum="3077166108"/>
-   <version ClassVersion="11" checksum="442155907"/>
-   <version ClassVersion="12" checksum="3608080402"/>
-  </class>
-  <class name="std::vector<reco::CaloTauTagInfo>"/>
-  <class name="edm::Wrapper<std::vector<reco::CaloTauTagInfo> >"/>
-  <class name="edm::Ref<std::vector<reco::CaloTauTagInfo>,reco::CaloTauTagInfo,edm::refhelper::FindUsingAdvance<std::vector<reco::CaloTauTagInfo>,reco::CaloTauTagInfo> >"/>
-  <class name="edm::RefProd<std::vector<reco::CaloTauTagInfo> >"/>
-  <class name="edm::RefVector<std::vector<reco::CaloTauTagInfo>,reco::CaloTauTagInfo,edm::refhelper::FindUsingAdvance<std::vector<reco::CaloTauTagInfo>,reco::CaloTauTagInfo> >"/>
-
   <class name="reco::PFTauTagInfo" ClassVersion="13">
    <version ClassVersion="13" checksum="1453697092"/>
    <version ClassVersion="12" checksum="3598523528"/>
@@ -129,17 +118,5 @@ for(auto const& ref : onfile.PFGammaCands_) {
   <class name="edm::RefVector<std::vector<reco::BaseTau>,reco::BaseTau,edm::refhelper::FindUsingAdvance<std::vector<reco::BaseTau>,reco::BaseTau> >"/>
   <class name="edm::reftobase::Holder<reco::Candidate, edm::Ref<std::vector<reco::BaseTau>,reco::BaseTau,edm::refhelper::FindUsingAdvance<std::vector<reco::BaseTau>,reco::BaseTau> > >" />
   
-  <class name="reco::CaloTau" ClassVersion="12">
-   <version ClassVersion="12" checksum="106193771"/>
-   <version ClassVersion="10" checksum="1329876375"/>
-   <version ClassVersion="11" checksum="1065337651"/>
-  </class>
-  <class name="std::vector<reco::CaloTau>"/>
-  <class name="edm::Wrapper<std::vector<reco::CaloTau> >"/>
-  <class name="edm::Ref<std::vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<std::vector<reco::CaloTau>,reco::CaloTau> >"/>
-  <class name="edm::RefProd<std::vector<reco::CaloTau> >"/>
-  <class name="edm::RefVector<std::vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<std::vector<reco::CaloTau>,reco::CaloTau> >"/>
-  <class name="edm::reftobase::Holder<reco::BaseTau, edm::Ref<std::vector<reco::CaloTau>,reco::CaloTau,edm::refhelper::FindUsingAdvance<std::vector<reco::CaloTau>,reco::CaloTau> > >" />
-  
 
 </lcgdict>
diff --git a/DataFormats/TauReco/src/classes_def_2.xml b/DataFormats/TauReco/src/classes_def_2.xml
index aa18dbb0f2d37..a900718fa2f3c 100644
--- a/DataFormats/TauReco/src/classes_def_2.xml
+++ b/DataFormats/TauReco/src/classes_def_2.xml
@@ -409,30 +409,4 @@ isolationTauChargedHadronCandidates_.reset();
   </ioread>
 
 
-  <class name="reco::CaloTauDiscriminatorByIsolationBase">
-    <field name="transientVector_" transient="true"/>
-  </class>
-  <class name="reco::CaloTauDiscriminatorByIsolation" ClassVersion="11">
-   <version ClassVersion="11" checksum="2337069537"/>
-   <version ClassVersion="10" checksum="2968502385"/>
-    <!-- <field name="transientVector_" transient="true"/> -->
-  </class>
-  <class name="reco::CaloTauDiscriminatorByIsolationRef"/>
-  <class name="reco::CaloTauDiscriminatorByIsolationRefProd"/>
-  <class name="reco::CaloTauDiscriminatorByIsolationRefVector"/>
-  <class name="edm::Wrapper<reco::CaloTauDiscriminatorByIsolation>"/>
-
-  <class name="reco::CaloTauDiscriminatorBase">
-    <field name="transientVector_" transient="true"/>
-  </class>
-  <class name="reco::CaloTauDiscriminator" ClassVersion="11">
-   <version ClassVersion="11" checksum="3173873463"/>
-   <version ClassVersion="10" checksum="1989330711"/>
-    <!-- <field name="transientVector_" transient="true"/> -->
-  </class>
-  <class name="reco::CaloTauDiscriminatorRef"/>
-  <class name="reco::CaloTauDiscriminatorRefProd"/>
-  <class name="reco::CaloTauDiscriminatorRefVector"/>
-  <class name="edm::Wrapper<reco::CaloTauDiscriminator>"/>
-
 </lcgdict>
diff --git a/DataFormats/TauReco/src/classes_def_3.xml b/DataFormats/TauReco/src/classes_def_3.xml
index c6ba555d75946..410bc2afbf30c 100644
--- a/DataFormats/TauReco/src/classes_def_3.xml
+++ b/DataFormats/TauReco/src/classes_def_3.xml
@@ -1,25 +1,4 @@
 <lcgdict>
-  <!-- Duplicate of CaloTauDiscriminatorByIsolationBase
-  causes duplicate definition link error in ROOT6
-  <class name="reco::CaloTauDiscriminatorAgainstElectronBase">
-    <field name="transientVector_" transient="true"/>
-  </class>
-  -->
-  <class name="reco::CaloTauDiscriminatorAgainstElectron" ClassVersion="11">
-   <version ClassVersion="10" checksum="3692008801"/>
-   <version ClassVersion="11" checksum="212621489"/>
-    <!-- <field name="transientVector_" transient="true"/> -->
-  </class>
-  <class name="reco::CaloTauDiscriminatorAgainstElectronRef"/>
-  <class name="reco::CaloTauDiscriminatorAgainstElectronRefProd"/>
-  <class name="reco::CaloTauDiscriminatorAgainstElectronRefVector"/>
-  <class name="edm::Wrapper<reco::CaloTauDiscriminatorAgainstElectron>"/>
-  
-  <class name="std::pair<reco::CaloTauRef, int>"/>
-  <class name="std::vector<std::pair<reco::CaloTauRef, int> >" />
-
-  <class name="std::pair<reco::CaloTauRef, float>"/>
-  <class name="std::vector<std::pair<reco::CaloTauRef, float> >" />
 
   <class name="reco::PFTauDiscriminatorByIsolationBase">
     <field name="transientVector_" transient="true"/>
diff --git a/DataFormats/TauReco/src/classes_hlt.h b/DataFormats/TauReco/src/classes_hlt.h
index aa43cea2bbd7d..32e9518655ce0 100644
--- a/DataFormats/TauReco/src/classes_hlt.h
+++ b/DataFormats/TauReco/src/classes_hlt.h
@@ -1,17 +1,12 @@
 #include "DataFormats/Common/interface/Wrapper.h"
 #include "DataFormats/Common/interface/AssociationVector.h"
 #include "DataFormats/TauReco/interface/BaseTauTagInfo.h"
-#include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
 #include "DataFormats/TauReco/interface/PFTauTagInfo.h"
 #include "DataFormats/TauReco/interface/BaseTau.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
 #include "DataFormats/TauReco/interface/PFTau.h"
 #include "DataFormats/TauReco/interface/PFTauDecayMode.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZero.h"
 #include "DataFormats/TauReco/interface/RecoTauPiZeroFwd.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorByIsolation.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminator.h"
-#include "DataFormats/TauReco/interface/CaloTauDiscriminatorAgainstElectron.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminatorByIsolation.h"
 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
 #include "DataFormats/Common/interface/AssociationMap.h"
diff --git a/Documentation/DataFormats/python/RecoTauTag_dataformats.py b/Documentation/DataFormats/python/RecoTauTag_dataformats.py
index c10ef63fa40b3..5d5e27dd5d196 100755
--- a/Documentation/DataFormats/python/RecoTauTag_dataformats.py
+++ b/Documentation/DataFormats/python/RecoTauTag_dataformats.py
@@ -32,11 +32,6 @@
       "container": "reco::PFTauTagInfo ",
       "desc": "contains treated informations from JetTracksAssociation < a PFJet,a list of Tracks > object which are used for PFTau object elaboration ;  in the RECO and AOD content since CMSSW_1_7_0."
      },
-     {
-      "instance": "caloRecoTauDiscriminationByIsolation",
-      "container": "reco::CaloTauDiscriminatorByIsolation ",
-      "desc": "associates to each CaloTau object the response of a hadr. tau-jet / q/g-jet discrimination procedure based on tracker isolation ; in the RECO and AOD content since CMSSW_1_7_0."
-     },
      {
       "instance": "pfRecoTauDiscriminationByIsolation",
       "container": "reco::PFTauDiscriminatorByIsolation ",
@@ -102,16 +97,6 @@
       "container": "*",
       "desc": "No documentation"
      },
-     {
-      "instance": "caloRecoTauProducer",
-      "container": "reco::CaloTau ",
-      "desc": "corresponds to the hadronic tau-jet cand. -starting from a CaloJet object- that the analysts would use ; in the RECO and AOD content since CMSSW_1_7_0."
-     },
-     {
-      "instance": "caloRecoTauTagInfoProducer",
-      "container": "reco::CaloTauTagInfo ",
-      "desc": "contains treated informations from JetTracksAssociation < a CaloJet,a list of Tracks > and Island ECAL BasicCluster objects which are used for CaloTau object elaboration ;  in the RECO and AOD content since CMSSW_1_7_0."
-     }
     ]
   },
   "aod": {
@@ -186,16 +171,6 @@
       "instance": "hpsTancTausDiscrimination*",
       "container": "*",
       "desc": "No documentation"
-     },
-     {
-      "instance": "caloRecoTauProducer",
-      "container": "reco::CaloTau ",
-      "desc": "corresponds to the hadronic tau-jet cand. -starting from a CaloJet object- that the analysts would use ; in the RECO and AOD content since CMSSW_1_7_0."
-     },
-     {
-      "instance": "caloRecoTauTagInfoProducer",
-      "container": "reco::CaloTauTagInfo ",
-      "desc": "contains treated informations from JetTracksAssociation < a CaloJet,a list of Tracks > and Island ECAL BasicCluster objects which are used for CaloTau object elaboration ;  in the RECO and AOD content since CMSSW_1_7_0."
      }
     ]
   }
diff --git a/Fireworks/Calo/plugins/FWCaloTauProxyBuilder.cc b/Fireworks/Calo/plugins/FWCaloTauProxyBuilder.cc
deleted file mode 100644
index 4f32278eabda4..0000000000000
--- a/Fireworks/Calo/plugins/FWCaloTauProxyBuilder.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-// -*- C++ -*-
-//
-// Package:     Calo
-// Class  :     FWCaloTauProxyBuilder
-//
-// Implementation:
-//     <Notes on implementation>
-//
-// Original Author:
-//         Created:  Sun Jan  6 23:57:00 EST 2008
-//
-
-// system include files
-#include "TEveCompound.h"
-#include "TGeoTube.h"
-#include "TEveGeoNode.h"
-#include "TEveStraightLineSet.h"
-#include "TEveTrack.h"
-
-// user include files
-#include "Fireworks/Calo/interface/FWTauProxyBuilderBase.h"
-#include "Fireworks/Core/interface/FWEventItem.h"
-#include "Fireworks/Core/interface/FWViewType.h"
-#include "Fireworks/Core/interface/BuilderUtils.h"
-#include "Fireworks/Core/interface/fwLog.h"
-
-#include "Fireworks/Calo/interface/thetaBins.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
-#include "DataFormats/TauReco/interface/CaloTauFwd.h"
-
-class FWViewContext;
-
-class FWCaloTauProxyBuilder : public FWTauProxyBuilderBase {
-public:
-  FWCaloTauProxyBuilder() {}
-  ~FWCaloTauProxyBuilder() override {}
-
-  REGISTER_PROXYBUILDER_METHODS();
-
-private:
-  FWCaloTauProxyBuilder(const FWCaloTauProxyBuilder&) = delete;                   // stop default
-  const FWCaloTauProxyBuilder& operator=(const FWCaloTauProxyBuilder&) = delete;  // stop default
-
-  using FWTauProxyBuilderBase::buildViewType;
-  void buildViewType(const FWEventItem* iItem,
-                     TEveElementList* product,
-                     FWViewType::EType viewType,
-                     const FWViewContext* vc) override;
-};
-
-void FWCaloTauProxyBuilder::buildViewType(const FWEventItem* iItem,
-                                          TEveElementList* product,
-                                          FWViewType::EType viewType,
-                                          const FWViewContext* vc) {
-  reco::CaloTauCollection const* caloTaus = nullptr;
-  iItem->get(caloTaus);
-  if (caloTaus == nullptr)
-    return;
-
-  Int_t idx = 0;
-  for (reco::CaloTauCollection::const_iterator it = caloTaus->begin(), itEnd = caloTaus->end(); it != itEnd;
-       ++it, ++idx) {
-    TEveCompound* comp = createCompound();
-
-    if (viewType == FWViewType::kLego) {
-      fireworks::addCircle((*it).eta(), (*it).phi(), 0.5, 20, comp, this);
-    } else {
-      try {
-        const reco::CaloTauTagInfo* tauTagInfo =
-            dynamic_cast<const reco::CaloTauTagInfo*>(((*it).caloTauTagInfoRef().get()));
-        const reco::CaloJet* jet = dynamic_cast<const reco::CaloJet*>((tauTagInfo->calojetRef().get()));
-
-        int min = 100;
-        int max = -100;
-        std::vector<double> phis;
-        std::vector<CaloTowerPtr> towers = jet->getCaloConstituents();
-        for (std::vector<CaloTowerPtr>::const_iterator tower = towers.begin(), towerEnd = towers.end();
-             tower != towerEnd;
-             ++tower) {
-          unsigned int ieta = 41 + (*tower)->id().ieta();
-          if (ieta > 40)
-            --ieta;
-          assert(ieta <= 82);
-
-          if (int(ieta) > max)
-            max = ieta;
-          if (int(ieta) < min)
-            min = ieta;
-          m_phis.push_back((*tower)->phi());
-        }
-        if (min > max) {
-          min = 0;
-          max = 0;
-        }
-        const std::vector<std::pair<double, double> > thetaBins = fireworks::thetaBins();
-        m_minTheta = thetaBins[min].first;
-        m_maxTheta = thetaBins[max].second;
-
-        buildBaseTau(*it, jet, comp, viewType, vc);
-        m_phis.clear();
-      } catch (std::exception& e) {
-        fwLog(fwlog::kInfo) << "FWPFTauProxyBuilder missing PFTauTagInfo. Skip drawing of jets.\n";
-        buildBaseTau(*it, nullptr, comp, viewType, vc);
-      }
-    }
-    setupAddElement(comp, product);
-  }
-}
-
-REGISTER_FWPROXYBUILDER(FWCaloTauProxyBuilder,
-                        reco::CaloTauCollection,
-                        "CaloTau",
-                        FWViewType::kAll3DBits | FWViewType::kAllRPZBits);
diff --git a/HLTrigger/HLTfilters/plugins/plugins.cc b/HLTrigger/HLTfilters/plugins/plugins.cc
index 3b12ca477e00e..ca137aa8d5c25 100644
--- a/HLTrigger/HLTfilters/plugins/plugins.cc
+++ b/HLTrigger/HLTfilters/plugins/plugins.cc
@@ -24,8 +24,6 @@
 #include "DataFormats/METReco/interface/CaloMETFwd.h"
 #include "DataFormats/METReco/interface/MET.h"
 #include "DataFormats/METReco/interface/METFwd.h"
-#include "DataFormats/TauReco/interface/CaloTau.h"
-#include "DataFormats/TauReco/interface/CaloTauFwd.h"
 #include "DataFormats/TauReco/interface/HLTTau.h"
 #include "DataFormats/TauReco/interface/HLTTauFwd.h"
 #include "DataFormats/TauReco/interface/PFTau.h"
@@ -98,8 +96,6 @@ typedef HLTDoublet<PFJet, PFMET> HLT2PFJetPFMET;
 typedef HLTDoublet<Electron, CaloJet> HLT2ElectronTau;
 typedef HLTDoublet<RecoEcalCandidate, CaloJet> HLT2PhotonTau;
 typedef HLTDoublet<RecoChargedCandidate, CaloJet> HLT2MuonTau;
-typedef HLTDoublet<Electron, CaloTau> HLT2ElectronCaloTau;
-typedef HLTDoublet<RecoChargedCandidate, CaloTau> HLT2MuonCaloTau;
 typedef HLTDoublet<Electron, HLTTau> HLT2ElectronHLTTau;
 typedef HLTDoublet<RecoChargedCandidate, HLTTau> HLT2MuonHLTTau;
 typedef HLTDoublet<Electron, PFTau> HLT2ElectronPFTau;