CLHEP is a set of Class Libraries containing many basic classes for use in High Energy Physics.
CLHEP started in 1992 as a library for fundamental classes mostly needed for, and in fact derived from, the MC event generator MC++ written in C++. Since then various authors added classes to this package, including several contributions made by developers in the Geant4 Collaboration.
The Geant4 project contributed to the development of CLHEP. The random number package, physics units and constants, and some of the numeric and geometry classes had their origins in Geant4.
Geant4 also benefits from the development of CLHEP. In addition to the already mentioned classes for random numbers and numerics, we use the classes for points, vectors, and planes and their transformations in 3D space, and lorentz vectors and their transformations. Although these classes have Geant4 names like G4ThreeVector, these are just typedefs to the CLHEP classes.
Since release 9.5 of Geant4, the relevant classes of the CLHEP libraries are distributed as embedded module within Geant4. It is therefore no longer necessary to build and link against an external CLHEP installation (solution which is still supported as option).