text: // HardwareSortingMethods.h
  // Authors: R. Alex Barbieri
  //          Ben Kreis
  //
  // This file should contain the C++ equivalents of the sorting
  // algorithms used in Hardware. Most C++ methods originally written by
  // Ben Kries.
  
  #ifndef HARDWARESORTINGMETHODS_H
  #define HARDWARESORTINGMETHODS_H
  
  #include "DataFormats/L1Trigger/interface/Jet.h"
  #include "DataFormats/L1Trigger/interface/EGamma.h"
  #include "DataFormats/L1Trigger/interface/Tau.h"
  #include <vector>
  
  namespace l1t {
    void SortJets(std::vector<l1t::Jet>* input, std::vector<l1t::Jet>* output);
  
    void SortEGammas(std::vector<l1t::EGamma>* input, std::vector<l1t::EGamma>* output);
  
    void SortTaus(std::vector<l1t::Tau>* input, std::vector<l1t::Tau>* output);
  
    unsigned int pack15bits(int pt, int eta, int phi);
    unsigned int pack16bits(int pt, int eta, int phi);
    unsigned int pack16bitsEgammaSpecial(int pt, int eta, int phi);
  }  // namespace l1t
  
  #endif
  