The cleanest and correct way is to delegate that responsibility to the constructor of the base class:
public B(string[] differentSetOfTokens, string connectionID, ContractIDMap contractIDMap, OrderStatus currentStatus /* ... */)
: base(differentSetOfTokens, connectionID, ContractIDMap contractIDMap, OrderStatus currentStatus)
{
...
Basically, you add:
: base(...)
and pass parameters to the base constructor and let it handle setting those fields. Then, in the constructor in the derived class, you set the fields of the derived class.
Note that whether you want to or not, a constructor of the base class will be called when you call the constructor of a derived class. As such, either you will have a parameterless constructor in the base class, or you need to pass the arguments to the base constructor.
To run the parameters for the derived class through a method in order to "fix" them before passing them to the base class, make separate static methods in the derived class for each parameter, and then you can do:
: base(ReformatTokens(differentSetOfTokens), ...