1. Preheat the oven to 300°F. In a bowl, combine the coriander, cumin, and mustard seeds, paprika, chili powder, 1 tablespoon each of salt and pepper and the ginger. Set the brisket in a large enameled cast iron casserole and rub the spices all over the meat.
2. Heat the olive oil in a large sauce pan. Add the onions and garlic and cook over moderate heat, stirring often, until softened, about 5 min. Stir in vinegar, brown sugar, Worcestershire and soy sauces; simmer for 5 minutes. Add the tomatoes and bring the sauce to a simmer.
3. Pour the sauce over the brisket. Cover with foil or a tight fitting lid and bake for 4 hours, turning twice, until the meat is very tender and the sauce is thickened. Transfer the brisket to a platter. Pour the sauce into a medium saucepan and let stand 10 minutes, and then skim off the fat.
4. Light the grill. If using charcoal, scatter the hickory chips over the coals. If using a gas grill, place the chips in the smoker box or scatter them over the heat bars. Lightly oil the grate. Grill the brisket, covered, over a moderately low fire for 45 minutes, turning once, until nicely charred. Transfer to a cutting board.
5. Meanwhile, boil the sauce over moderately high heat until reduced to 4 cups, about 20 minutes. Transfer the sauce to a blender or food processor and puree until smooth, and then pour into a bowl. Season with salt and pepper.
6. Thinly slice the brisket across the grain on the diagonal; arrange on the rolls. Top with the lettuce, tomatoes and red onion, drizzle with some of the barbecue sauce and serve.