FairRootGroup / FairRoot

C++ simulation, reconstruction and analysis framework for particle physics experiments
http://fairroot.gsi.de
Other
59 stars 96 forks source link

setFirstInput vs setSecondInput in a class FairRuntimeDb #1185

Closed kurbatov-lang closed 1 year ago

kurbatov-lang commented 2 years ago

What is the difference between them? When an each one to use

in a macro? Why two similar(?) methods were defined in principle?

Thank you

fuhlig1 commented 1 year ago

@kurbatov-lang,

the reason behind the two very similar versions of the functions are different sources of the parameter information. The main idea is that one only needs one of them getting all parameters from a database as single source of information. But even in such a setup it may become necessary for testing to overwrite an existing parameter or to add a new one. This is where the second source (normally a local file) comes into play. If you want to overwrite an already existing parameter you add the local file as first input and the database as second. Whatever parameter container is found in the local file has precedence and will overwrite the parameter container from the database. If you only want to add a new parameter container the order of the inputs isn't important.

Since I don't know your exact example I can only guess. Assuming that you did transport simulation using FairRoot you create during this step ROOT file which contains several parameter containers which are necessary for FairRoot, e.g. the ROOT file contains the GeoManager which is needed in later stets like digitisation (detector response simulation) and reconstruction. For this later steps normally additional parameter containers are needed (e.g. parameters which describes detector response for a specific detector) which are read from a different input (ASCII or ROOT file) and written normally to the same ROOT parameter file (if specified in the macro).

I hope that helps to understand the idea behind the two different inputs.

kurbatov-lang commented 1 year ago

Dear Colleague!

Thank you for the answer,due to my bad english, i should

spend some time to fully understand it.

Thank you again, Vladimir

On 2023-02-13 14:22, fuhlig1 wrote:

@kurbatov-lang [1],

the reason behind the two very similar versions of the functions are different sources of the parameter information. The main idea is that one only needs one of them getting all parameters from a database as single source of information. But even in such a setup it may become necessary for testing to overwrite an existing parameter or to add a new one. This is where the second source (normally a local file) comes into play. If you want to overwrite an already existing parameter you add the local file as first input and the database as second. Whatever parameter container is found in the local file has precedence and will overwrite the parameter container from the database. If you only want to add a new parameter container the order of the inputs isn't important.

Since I don't know your exact example I can only guess. Assuming that you did transport simulation using FairRoot you create during this step ROOT file which contains several parameter containers which are necessary for FairRoot, e.g. the ROOT file contains the GeoManager which is needed in later stets like digitisation (detector response simulation) and reconstruction. For this later steps normally additional parameter containers are needed (e.g. parameters which describes detector response for a specific detector) which are read from a different input (ASCII or ROOT file) and written normally to the same ROOT parameter file (if specified in the macro).

I hope that helps to understand the idea behind the two different inputs.

-- Reply to this email directly, view it on GitHub [2], or unsubscribe [3]. You are receiving this because you were mentioned.Message ID: @.***>

Links:

[1] https://github.com/kurbatov-lang [2] https://github.com/FairRootGroup/FairRoot/issues/1185#issuecomment-1427775380 [3] https://github.com/notifications/unsubscribe-auth/AQQ2QXMXHFK4ZUWMG2H3NJ3WXIKQLANCNFSM5WOXL74Q

karabowi commented 1 year ago

Reopen if needed.