Skip to content

Conversation

@mfaggin
Copy link
Collaborator

@mfaggin mfaggin commented Oct 28, 2024

With this PR I add a user-friendly interface to configure the TrackTuner object in the Common/TableProducer/trackPropagation.cxx workflow.

Inspired by the PR #6311 , I'm now proposing to make the struct TrackTuner to inherit from o2::framework::ConfigurableGroup. In this way:

  • Configurables data members can be defined for the struct TrackTuner;
  • they appear automatically in the list of Configurables of the workflow in which the instance of the TrackTuner is declared. In particular, the TrackTuner configurations appear now in the Configurable list of Common/TableProducer/trackPropagation.cxx in a trackTuner block, i.e.:
"track-propagation": {
        "trackTuner": {
            "debugInfo": "false",
            "updateTrackDCAs": "true",
            "updateTrackCovMat": "true",
            "updateCurvature": "false",
            "updateCurvatureIU": "false",
            "updatePulls": "true",
            "isInputFileFromCCDB": "true",
            "pathInputFile": "Users\/m\/mfaggin\/test\/inputsTrackTuner\/pp2023\/pass4\/correct_names",
            "nameInputFile": "trackTuner_DataLHC23hPass4_McLHC23k4g.root",
            "pathFileQoverPt": "Users\/h\/hsharma\/qOverPtGraphs",
            "nameFileQoverPt": "D0sigma_Data_removal_itstps_MC_LHC22b1b.root",
            "usePvRefitCorrections": "false",
            "qOverPtMC": "-1",
            "qOverPtData": "-1"
        },
       ...
}

With this PR I keep the possibility to configure the TrackTuner via std::string, to grant backwards compatibility. However, I think that at a certain point we can make this option obsolete, and in case one can consider deprecating this option already in this PR.
What do you think?
I leave the PR in draft for the time being.

Tagging @phymanshu and @arossi81 for their knowledge (just a technical development, that does not touch at all the TrackTuner working principles).

The same approach can be utilized wherever a custom TrackTuner instance is present.
Hoping to tag all interested people: @njacazio , @mpuccio , @fmazzasc , @ivorobye , @lbariogl , @nepeivodaRS, @fcatalan92 @fgrosa @fcolamar

@mfaggin mfaggin marked this pull request as ready for review October 29, 2024 16:30
@mfaggin
Copy link
Collaborator Author

mfaggin commented Oct 31, 2024

@jgrosseo @ddobrigk @iarsene @ktf can you please have a look? Thank you.

/// @return String with the values of all parameters after configurations are listed, to cross check that everything worked well
std::string configParams(std::string inputString)
{

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you really need such a banner?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ktf , it's just a debug LOG(info) done once in the full execution.
I implemented it to have a reference in the log about which configParams function is used (with or w/o input std::string), since this is related to which source is used for the configuration.

@mfaggin
Copy link
Collaborator Author

mfaggin commented Nov 4, 2024

@jgrosseo @ktf @ddobrigk @iarsene a gentle reminder

@ddobrigk
Copy link
Collaborator

ddobrigk commented Nov 4, 2024

hi everyone, in case of no objection I will merge later tonight so that it is in tomorrow's tag. Please stop me if not ok! Thanks!

@ddobrigk ddobrigk merged commit ef87bfe into AliceO2Group:master Nov 5, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants