The signal and background are mixed at digitization level, and when you do that you have to use:
FairRunAna::SetSignalFile(TString name, UInt_t identifier )
you can add as many signals as you like as long as they have different identifiers, if you add two different files with the same identifier it will be simply chained.
This will set the background file and chain the added files.
In fact your code should exit immediately when you call "fRun->SetBackgroundFile(inSimFile_bg);" but it is a bug which we should correct!