Talking about problem of GAS file, it's not a problem of parameter handling.
It's a problem that in PndTpcRiemannTrackingTask position of GAS file is taken not from parameters file but hardcoded value without path is used.
Calling PndTpcRiemannTrackingTask::Init at line 219
PndTpcDigiMapper is called.
If PndTpcDigiMapper was not properly initialised before, its constructor is called
and hardcoded file names are used without any path
// objects instantiated here may be replace with the init method!
fgas= new PndTpcGas("NEON-90_CO2-10_B2_PRES1013.asc",400);
//TODO: Get these things from Database!!!
fgem=new PndTpcGem(5000, // Gain
0.02); // Spread
fpadShapes = new PndTpcPadShapePool("2mmPads.dat",
0.5, // lookup range
0.02, // Lookup Step
0.01); // LookupIntegrationStep
fpadPlane= new PndTpcPadPlane("padplane.dat", fpadShapes);
When tpc reco macro contained PndTpcClusterFinderTask initialised before PndTpcRiemannTrackingTask
there at line 128 PndTpcDigiMapper was properly initialised with parameters from RTDB
and later in PndTpcRiemannTrackingTask this properly initialised instance was called.