From Wikipedia:
Starting in 1999, CP runs a Holiday Train along its main line during the months of November and December. The Holiday Train celebrates the holiday season and collects donations for community food banks and hunger issues. The Holiday Train also provides publicity for CP and a few of its customers. Each train has a box car stage for entertainers who are travelling along with the train.
The train is a freight train, but also pulls vintage passenger cars which are used as lodging/transportation for the crew and entertainers. Only entertainers and CP employees are allowed to board the train aside from a coach car that takes employees and their families from one stop to the next. All donations collected in a community remain in that community for distribution.
There are two Holiday Trains that cover 150 stops in Canada and the United States Northeast and Midwest. Each train is roughly 1,000 feet (300 m) in length with brightly decorated railway cars, including a modified box car that has been turned into a travelling stage for performers. They are each decorated with hundred of thousands of LED Christmas lights. In 2013 to celebrate the program’s 15th year, three signature events were held in Hamilton, Ontario, Calgary, Alberta, and Cottage Grove, Minnesota, to further raise awareness for hunger issues.
The trains feature different entertainers each year; in 2016, one train featured Dallas Smith and the Odds, while the other featured Colin James and Kelly Prescott. After its 20th anniversary tour in 2018, which hosted Terri Clark, Sam Roberts Band, The Trews and Willy Porter, the tour reported to have raised more than CA$15.8 million and collected more than 4.5 million pounds (2,000 t) of food since 1999.