JeffersonLab / gluex_MCwrapper

1 stars 4 forks source link

Confusion from two ambiguous MCWrapper versions #113

Closed lihaoahil closed 1 month ago

lihaoahil commented 7 months ago

I am submitting jobs using my (older, 2.7.0) version of MCWrapper on the farm, with config setting env=recon-2018_01-ver02_31.xml (where MCwrapper-v2.8.0 included). In the log one could get confused by the two versions of MCWrapper when trying to debug:

=======SOFTWARE USED=======
MCwrapper version v2.7.0
MCwrapper location /group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/gluex_MCwrapper/gluex_MCwrapper-v2.8.0
Streaming via xrootd? 1 Event Count: 835369
BC /usr/bin/bc
python /apps/bin/python
/group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/halld_sim/halld_sim-4.49.0^rec180129/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/mc_gen
/group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/hdgeant4/hdgeant4-2.39.0^rec180129/bin/Linux-g++/hdgeant4
/group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/halld_sim/halld_sim-4.49.0^rec180129/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/mcsmear
/group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/halld_recon/halld_recon-recon-2018_01-ver02.9/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/hd_root

As far as I understand, what happened is that the job-submission script gluex_MC.py uploads the MakeMC.csh/sh from its local repo to the farm node but the variable $MCWRAPPER_CENTRAL is defined by ENV in the config. The scripts in $MCWRAPPER_CENTRAL actually has nothing to do with the job, but the fact its path being mentioned in the log may result in confusion.

This issue doesn't need a fix other than making the printed message more clear to avoid confusion. In addition, it actually provides more flexibility to allow using local MCWrapper repo for the job.

T-Britton commented 7 months ago

I guess I am a little confused. Yes the MakeMC from MCWRAPPER_CENTRAL is used but there is no requirement as to where that points. Thus allowing you to flexibly use a local copy or whatever you want. It is possible that I neglected to increment the version in gluex_mc.py….it is merely hard coded I don’t have any fancy system to extract a version number (this allows for the above flexibility).

I am unsure on how to make it more clear; “the hard coded string in the gluex_mc.py at the time of running is xxxxx”?

If I neglected to increment my bad, sorry for the confusion. Thomas Britton

On Apr 16, 2024, at 4:00 PM, Hao Li @.***> wrote:



I am submitting jobs using my (older, 2.7.0) version of MCWrapper on the farm, with config setting env=recon-2018_01-ver02_31.xml (where MCwrapper-v2.8.0 included). In the log one could get confused by the two versions of MCWrapper when trying to debug:

=======SOFTWARE USED======= MCwrapper version v2.7.0 MCwrapper location /group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/gluex_MCwrapper/gluex_MCwrapper-v2.8.0 Streaming via xrootd? 1 Event Count: 835369 BC /usr/bin/bc python /apps/bin/python /group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/halld_sim/halld_sim-4.49.0^rec180129/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/mc_gen /group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/hdgeant4/hdgeant4-2.39.0^rec180129/bin/Linux-g++/hdgeant4 /group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/halld_sim/halld_sim-4.49.0^rec180129/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/mcsmear /group/halld/Software/builds/Linux_CentOS7.7-x86_64-gcc4.8.5/halld_recon/halld_recon-recon-2018_01-ver02.9/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/hd_root

As far as I understand, what happened is that the job-submission script gluex_MC.py uploads the MakeMC.csh/sh from its local repo to the farm node but the variable $MCWRAPPER_CENTRAL is defined by ENV in the config. The scripts in $MCWRAPPER_CENTRAL actually has nothing to do with the job, but the fact its path being mentioned in the log may result in confusion.

This issue doesn't need a fix other than making the printed message more clear to avoid confusion. In addition, it actually provides more flexibility to allow using local MCWrapper repo for the job.

— Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_JeffersonLab_gluex-5FMCwrapper_issues_113&d=DwMCaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=ccFffx721N71hPpKcJGvJIqY9RM4gBTuzp9ir7rze5Q&m=XyxqgbqTf9xf6F9KKbkTxwP0LDYUvnw1QvXMT_tAPAu_mC2YZMD4x227Jj6DNlmh&s=2Q6GALP7CGb2LEFYsZ26oDaBlaJMjKBASZNlooNDWpE&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AFRO2BEKLMWXO6DCE7FONXDY5V7LXAVCNFSM6AAAAABGJ73MNKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2DMNZZGE3TKOA&d=DwMCaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=ccFffx721N71hPpKcJGvJIqY9RM4gBTuzp9ir7rze5Q&m=XyxqgbqTf9xf6F9KKbkTxwP0LDYUvnw1QvXMT_tAPAu_mC2YZMD4x227Jj6DNlmh&s=AaPgD4koUr306u03Nd9-xXOl_PjCH5P2coDVAboe2YM&e=. You are receiving this because you are subscribed to this thread.Message ID: @.***>

lihaoahil commented 7 months ago

Sorry for the confusion.

I think I was confused by this line https://github.com/JeffersonLab/gluex_MCwrapper/blob/a91545357a552db09e322e6f50574a74721ac2e1/MakeMC.csh#L504, where in log it printed out that the variable $MCWRAPPER_VERSION has value v2.7.0, which is the local version I used when running glueX_MC.py. It seems that it did extract the local tag number but it appears that this variable should get the version number from the arg $1 (as in line 106) which is the configured ENV file.

s6pepaul commented 1 month ago

I guess this is resolved and can be closed.