text: #ifndef EstimatorTool_RecSegment_h
  #define EstimatorTool_RecSegment_h
  
  /**
   *  Class: ChamberSegmentUtility
   *
   *  Description:
   *  utility class for the dynamical truncation algorithm
   *
   *
   *  Authors :
   *  D. Pagano & G. Bruno - UCL Louvain
   *
   **/
  
  #include "Geometry/DTGeometry/interface/DTGeometry.h"
  #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
  #include "DataFormats/GeometrySurface/interface/LocalError.h"
  #include "DataFormats/GeometryVector/interface/LocalPoint.h"
  #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
  #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
  #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
  #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h"
  #include "Geometry/DTGeometry/interface/DTChamber.h"
  #include "DataFormats/DTRecHit/interface/DTRecSegment4D.h"
  #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h"
  #include "DataFormats/CSCRecHit/interface/CSCSegment.h"
  #include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h"
  
  class ChamberSegmentUtility {
  public:
    ChamberSegmentUtility();
  
    void initCSU(const edm::Handle<DTRecSegment4DCollection>&, const edm::Handle<CSCSegmentCollection>&);
  
    // Get the 4D segments in a CSC chamber
    std::vector<CSCSegment> getCSCSegmentsInChamber(CSCDetId);
  
    // Get the 4D segments in a DT chamber
    std::vector<DTRecSegment4D> getDTSegmentsInChamber(DTChamberId);
  
  private:
    edm::Handle<CSCSegmentCollection> CSCSegments;
    edm::Handle<DTRecSegment4DCollection> all4DSegments;
    std::vector<DTRecSegment4D> dtseg;
    std::vector<CSCSegment> cscseg;
  };
  
  #endif
  