Street Kings

Tom Ludlow (Keanu Reeves) is a disillusioned LAPD Vice detective working for a unit known as Vice Special and haunted by the death of his wife. Working undercover, he meets with Korean gangsters (whom he believes have kidnapped two Korean schoolgirls) in a parking lot, who are looking to buy a machine gun from him. After a vicious beatdown, the Koreans then proceed to steal his car but this was however planned and he has the cops locate the vehicle via GPS. Upon arrival at their hideout, Ludlow storms in and kills the four inside before he then locates the missing children after the shootout and making out that he killed the gangsters by returning fire. While the other officers in his unit congratulate him, he is confronted by his former partner, Detective Terrence Washington (Terry Crews), who no longer approves of the corruption as well as the deception and has gone straight, reporting the problems to Captain James Biggs (Hugh Laurie), of internal affairs, who apparently starts an investigation against Ludlow.
Believing that Washington was "snitching" on him, Ludlow follows him to a convenience store to beat him up. However, Washington is executed in the store in an apparent gangland hit albeit with heavy fire by two gangbangers under the pretense of a robbery. Though Ludlow is innocent and the two were working together to fight back, the surveillance video of the shootout shows him to have accidentally shot Washington while trying to protect him with his .38 revolver, which can heavily implicate him in the murder. The DNA of two criminals known as Fremont and Coates is found at the scene, as well as a large amount of cash in Washington's possession. It is assumed that Washington himself was corrupt, despite his seemingly changed attitude, and that he had been stealing drugs from the department's evidence room and selling them to Fremont and Coates. Ludlow teams up with Detective Paul "Disco" Diskant (Chris Evans), who has been assigned to the case to join him in his personal investigation.
Their search for the two involves some tough interrogation of a Latino gang member named Quiks (Noel Gugliemi), a Crips gang member named Grill (The Game), and a drug addict/dealer named Winston "Scribble" (Cedric the Entertainer), which eventually leads them to a house in the hills where they discover the bodies of the real Fremont and Coates buried in a shallow grave. The condition of the bodies makes it apparent that they were killed well before Washington's murder. Ludlow and Disco, posing as dirty cops who are willing to take over Washington's supposed activity of stealing and selling drugs, are able to set up a meeting through Winston with the two criminals masquerading as Fremont (Cle Shaheed Sloan) and Coates (Common). Freemont and Coats then recognize Ludlow as the cop that was present at the convenience store robbery, prompting Ludlow to question who Freemont and Coats really are, and in turn Disco quickly states he recognizes the two, and he is shot and killed immediately, along with Winston. Ludlow manages to kill both men and escapes back to his girlfriend's house, where a news report reveals the killers were undercover LASD deputies (Wander later states that the two had been in deep cover for so long that they "lost their fucking minds" and had become corrupt cops).
Shortly afterward, Ludlow is subdued at his girlfriend's house by Detective Cosmo Santos (Amaury Nolasco) and Detective Dante Demille (John Corbett), two fellow officers from his unit who admit that they planted Fremont and Coates' DNA and the drugs at the scene of Washington's murder, and Ludlow learns that it was their captain, Jack Wander (Forest Whitaker), not Ludlow, that Washington was giving up to Biggs, and they were the ones that were stealing drugs from the department's evidence. The two cops take Ludlow out to the house where the two bodies were found earlier for execution. However, Ludlow manages to kill both of them. He then heads to Washington's house to take care of their supervisor, Sergeant Mike Clady (Jay Mohr), who was about to kill Washington's widow, whom he later captures and places in the trunk of his car.
Ludlow eventually learns that he has been a pawn in a plan masterminded by Captain Wander. He shows up at his house intending to kill him and after a brief struggle, he finds out that Wander has incriminating evidence against almost all in the department, as well as judges, councilmen and politicians. With so many people in Wander's pocket, he has been able to quickly move up the department's ranks as well as conceal his unit's corruption. He then tries to convince Ludlow that he is his friend and best officer before trying to bribe him with a large amount of stolen money and incriminating documents hidden in a wall of his home. Angry with all that he has been made privy to and how it has come about, Ludlow shoots and kills Wander.
Captain Biggs and Sergeant Green arrive at the scene, and he reveals to Ludlow that they used him to bring down Wander and get access to his files by opening his eyes to the real corruption going on within his unit. As he leaves, Biggs tells Ludlow that the department does need him.

Question: What haunts Tom?
Answer: The death of his wife