Do not get B field from external file anymore, but from CCDB - QualityControl#1692
Conversation
|
Hello @iravasen , @IsakovAD , @tomas-herman , The change is to allow to remove the use of external files for Geom and B field. Note that if these tasks are used at P2, you will need to update the json in consul as done for O2DPG as soon as a new tag will be deployed there. Chiara |
|
Hi @chiarazampolli, We need the geometry information because we are using a method to access additional information about the clusters: https://github.com/AliceO2Group/AliceO2/blob/346604524e24649cf599da2d0757759234bcaca1/Detectors/ITSMFT/MFT/alignment/src/AlignPointHelper.cxx#L206 And this helper needs the geometry information. As far as I understand the geometry needs to be available in the QC task for the helper to be able to work. I will comment in the O2DPG about the second PR. Cheers, |
|
Hello @tomas-herman , |
|
I will try to do a local test but I need to rebuild first as I have old versions of the repositories. Just from looking at the code it seems to me that the Geometry Request in the json i.e. needs to be added here: https://github.com/AliceO2Group/QualityControl/blob/master/Modules/MFT/mft-clusters.json |
|
|
||
| mGeom = o2::its::GeometryTGeo::Instance(); | ||
| mGeom->fillMatrixCache(o2::math_utils::bit2Mask(o2::math_utils::TransformType::L2G)); | ||
|
|
There was a problem hiding this comment.
is there a reason to move these two lines in monitorData instead of initialize (where they were before)? The same for the ITSFhrTask.cxx
There was a problem hiding this comment.
good point, that does not seem optimal
There was a problem hiding this comment.
The geometry is passed only when the task calls "run", which for the QC is the monitorData. Unfortunately, I don't see a better way. You can protect this: if already done, don't redo it. Assuming the geometry does not change.
I would let you take care once the PR is merged.
There was a problem hiding this comment.
Note that with the DPL CCDB fetcher the geometry will not be loaded until the 1st TF processing. And the methods above to need TGeometry loaded.
As far as I understand, this means that they should be executed in the monitor.
Another question is that they should be executed only once in the beginning of the run, i.e. should be changed to
if (pc.services().get<o2::framework::TimingInfo>().globalRunNumberChanged) {
mGeom = o2::its::GeometryTGeo::Instance();
mGeom->fillMatrixCache(o2::math_utils::bit2Mask(o2::math_utils::TransformType::L2G));
}
There was a problem hiding this comment.
Hello @shahor02 ,
Exactly, this is what I meant. I did not know about the way to check that the run number is changed, I would have checked with a bool :-)
Implemented now, please check.
For the B field, it is different though, since for that the DP processing is continuously ongoing.
Chiara
There was a problem hiding this comment.
@chiarazampolli can you please apply the same also for the ITSClusterTask.cxx?
There was a problem hiding this comment.
I did actually, but I forgot to add it :-) Now done.
|
@chiarazampolli thanks! I only have the comment above, the rest is fine! I will take care of modifying the ITS jsons at P2 once this will be there. |
Ciao @tomas-herman , |
31184ba to
bed84ff
Compare
|
@tomas-herman do you sign off the changes ? |
|
merging as people have approved and only 1 check is missing |
…yControl (AliceO2Group#1692) * Do not get B field from external file anymore, but from CCDB * also for TOF PID * Also for ITS and MFT * Also for TOF digits QC * Request by Ivan * Another json * Update geometry only at the beginning of the run
@knopers8 , @shahor02 , goes with
AliceO2Group/O2DPG#977
AliceO2Group/AliceO2#11044