Hi Felix,
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
fnsectors= PndTpcDigiMapper::getInstance()->getPadPlane()->GetNSectors();
PndTpcDigiMapper is called.
If PndTpcDigiMapper was not properly initialised before, its constructor is called
PndTpcDigiMapper::PndTpcDigiMapper(bool autoinit)
with autoinit=true
and hardcoded file names are used without any path
if(autoinit){
// 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
fzGem=0.;
fpadShapes = new PndTpcPadShapePool("2mmPads.dat",
*fgem,
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
PndTpcDigiMapper::getInstance(false)->init(fpadplane,fgem,fgas,fpar->getPadShapes(),fzGem,t0,sf);
and later in PndTpcRiemannTrackingTask this properly initialised instance was called.
Dima