ganga-devs / ganga

Ganga is an easy-to-use frontend for job definition and management
GNU General Public License v3.0
99 stars 158 forks source link

Support SMOG2 in LHCb bookkeping queries #2313

Closed chrisburr closed 4 months ago

chrisburr commented 6 months ago

We have a new option for Run 3 in bokkeeping queries to specify the state of SMOG2 see here for details.

Ganga should support this too, I think it's just a matter of extended ganga's BKQuery object to support a SMOG2 field.

In [1]: import DIRAC; DIRAC.initialize()
   ...: from LHCbDIRAC.BookkeepingSystem.Client.BKQuery import BKQuery
   ...: bkq = BKQuery(bkQuery="/LHCb/Lead23/Beam6800GeV-VeloClosed-MagDown-Excl-UT/Real Data/SprucingPbPb23/90800000/IFT.DST")
   ...: bkq.setDQFlag(["OK","UNCHECKED"])
   ...: bkq.setOption("SMOG2", ["Argon"])
   ...: print(len(bkq.getLFNs()))
   ...: print(bkq.getQueryDict())
   ...:
2024-03-23 15:34:46 UTC Framework NOTICE:
136 files (1.3 TB) in directories:
2024-03-23 15:34:46 UTC Framework NOTICE: /lhcb/LHCb/Lead23/IFT.DST/00208343/0002/ 136 files
136
{'ConfigName': 'LHCb', 'ConfigVersion': 'Lead23', 'ConditionDescription': 'Beam6800GeV-VeloClosed-MagDown-Excl-UT', 'ProcessingPass': '/Real Data/SprucingPbPb23', 'EventType': '90800000', 'FileType': 'IFT.DST', 'Visible': 'Yes', 'DataTakingConditions': 'Beam6800GeV-VeloClosed-MagDown-Excl-UT', 'DataQuality': ['OK', 'UNCHECKED'], 'SMOG2': ['Argon']}

In [2]: bkq.setOption("SMOG2", ["Argon", "ArgonUnstable"])
   ...: print(len(bkq.getLFNs()))
   ...: print(bkq.getQueryDict())
2024-03-23 15:34:57 UTC Framework NOTICE:
157 files (1.5 TB) in directories:
2024-03-23 15:34:57 UTC Framework NOTICE: /lhcb/LHCb/Lead23/IFT.DST/00208343/0002/ 157 files
157
{'ConfigName': 'LHCb', 'ConfigVersion': 'Lead23', 'ConditionDescription': 'Beam6800GeV-VeloClosed-MagDown-Excl-UT', 'ProcessingPass': '/Real Data/SprucingPbPb23', 'EventType': '90800000', 'FileType': 'IFT.DST', 'Visible': 'Yes', 'DataTakingConditions': 'Beam6800GeV-VeloClosed-MagDown-Excl-UT', 'DataQuality': ['OK', 'UNCHECKED'], 'SMOG2': ['Argon', 'ArgonUnstable']}
mesmith75 commented 6 months ago

This should be straightforward to do but I think the LHCbDirac API would benefit from being updated for the new option (e.g. here and the rest: https://gitlab.cern.ch/lhcb-dirac/LHCbDIRAC/-/blob/master/src/LHCbDIRAC/Interfaces/API/DiracLHCb.py?ref_type=heads#L394).

If you would prefer to leave it as is, I'll rejig what ganga uses.

chrisburr commented 6 months ago

I agree: https://gitlab.cern.ch/lhcb-dirac/LHCbDIRAC/-/issues/31