lookUpTable->SetRange() does not work?

I am a beginner and I am trying to visualize a .vtu file (test.vtu) and show the points’ Z direction displacement.
The follwing is my cxx and CMake code:

ReadUnstructuredGrid.cxx:

#include <vtkActor.h>
#include <vtkDataSetMapper.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkSmartPointer.h>
#include <vtkXMLUnstructuredGridReader.h>
#include <vtkDataset.h>
#include <vtkCellData.h>
#include <vtkLookupTable.h>
#include <vtkUnstructuredGrid.h>
#include <vtkPointData.h>
#include <vtkDataArray.h>
#include <vtkScalarBarActor.h>
#include <vtkCameraOrientationWidget.h>

int main(int argc, char *argv[])
{
  // parse command line arguments
  if (argc < 2)
  {
    std::cerr << "Usage: " << argv[0] << " Filename(.vtu) e.g. tetra.vtu"
              << std::endl;
    return EXIT_FAILURE;
  }

  std::string filename = argv[1];

  // read all the data from the file
  vtkNew<vtkXMLUnstructuredGridReader> reader;
  reader->SetFileName(filename.c_str());
  reader->Update();

  vtkNew<vtkNamedColors> colors;

  vtkSmartPointer<vtkLookupTable> lut = vtkSmartPointer<vtkLookupTable>::New();
  lut->SetRange(0.0, 0.03);  //the displacement ranges from 0 to 0.03
  lut->SetNumberOfColors(256);
  lut->Build();

  // Create a mapper and actor
  vtkNew<vtkDataSetMapper> mapper;
  vtkDataSet *dataSet = reader->GetOutputAsDataSet();
  dataSet->Print(std::cout);
  mapper->SetInputConnection(reader->GetOutputPort());
  mapper->ScalarVisibilityOn();

  mapper->SetLookupTable(lut);
  mapper->SetColorModeToMapScalars();
  mapper->SetScalarModeToUsePointFieldData();
  mapper->ColorByArrayComponent("Displacement", 2);

  vtkNew<vtkActor> actor;
  actor->SetMapper(mapper);
  actor->GetProperty()->SetOpacity(0.5);
  actor->GetProperty()->EdgeVisibilityOn();
  actor->GetProperty()->SetLineWidth(2.0);
  //   actor->GetProperty()->SetColor(colors->GetColor3d("MistyRose").GetData());

  //   vtkNew<vtkProperty> backFace;
  //   backFace->SetColor(colors->GetColor3d("Tomato").GetData());
  //   actor->SetBackfaceProperty(backFace);

  // add a scalarBar
  vtkNew<vtkScalarBarActor> colBar;
  colBar->SetMaximumHeightInPixels(500);
  colBar->SetLookupTable(lut);


  // Create a renderer, render window, and interactor
  vtkNew<vtkRenderer> renderer;
  vtkNew<vtkRenderWindow> renderWindow;
  renderWindow->AddRenderer(renderer);
  vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
  renderWindowInteractor->SetRenderWindow(renderWindow);

  // Add the actor to the scene
  renderer->AddActor(actor);
  renderer->SetBackground(colors->GetColor3d("Wheat").GetData());
  renderer->AddActor2D(colBar);

  
  //add a xyz
  vtkNew<vtkCameraOrientationWidget> widgetCam;
  widgetCam->SetParentRenderer(renderer);
  widgetCam->On();

  // Render and interact
  renderWindow->SetSize(640, 480);

  renderWindow->Render();
  renderWindowInteractor->Start();

  return EXIT_SUCCESS;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.12 FATAL_ERROR)

project(ReadUnstructuredGrid)

find_package(VTK COMPONENTS 
  CommonColor
  CommonCore
  IOXML
  InteractionStyle
  RenderingContextOpenGL2
  RenderingCore
  RenderingFreeType
  RenderingGL2PSOpenGL2
  RenderingOpenGL2
  RenderingAnnotation
  InteractionWidgets
)

if (NOT VTK_FOUND)
  message(FATAL_ERROR "ReadUnstructuredGrid: Unable to find the VTK build folder.")
endif()

# Prevent a "command line is too long" failure in Windows.
set(CMAKE_NINJA_FORCE_RESPONSE_FILE "ON" CACHE BOOL "Force Ninja to use response files.")
add_executable(ReadUnstructuredGrid MACOSX_BUNDLE ReadUnstructuredGrid.cxx )
  target_link_libraries(ReadUnstructuredGrid PRIVATE ${VTK_LIBRARIES}
)
# vtk_module_autoinit is needed
vtk_module_autoinit(
  TARGETS ReadUnstructuredGrid
  MODULES ${VTK_LIBRARIES}
)

The test.vtu file has been validated by paraview that its displacement is from 0 to 0.03, thus I set the lookupTable range from 0 to 0.03, However, the colorBar still shows the range from 0 to 1 as the screenshot shows:

I am not sure if my code is correct, I just googled the relative information and followed those examples. So if there’re any mistake in my code, please correct it. Thank you
test.7z (2.7 MB)

Make sure you call UseLookupTableScalarRangeOn() on your mapper.