Skip to content

Commit 095c464

Browse files
authored
fix
1 parent 6a979a6 commit 095c464

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

PWGHF/TableProducer/treeCreatorOmegacSt.cxx

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ struct HfTreeCreatorOmegacSt {
391391
setLabelHistoCands(hCandidatesCascPiOrK);
392392

393393
// init HF event selection helper (centrality, event cuts, monitoring)
394-
hfEvSel.init(registry, &zorroSummary);
394+
hfEvSel.init(registry, nullptr);
395395
}
396396

397397
// processMC: loop over MC objects
@@ -504,18 +504,31 @@ struct HfTreeCreatorOmegacSt {
504504
const auto bc = collision.template bc_as<aod::BCsWithTimestamps>();
505505

506506
// Update CCDB-based magnetic field only when run changes to avoid redundant lookups
507-
if (runNumber != bc.runNumber()) {
507+
if (runNumber != bc.runNumber()) {
508+
if (skimmedProcessing) {
509+
if (runNumber == 0) {
510+
zorroSummary.setObject(zorro.getZorroSummary());
511+
}
512+
zorro.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), cfgTriggersOfInterest.value);
513+
zorro.populateHistRegistry(registry, bc.runNumber());
514+
}
508515
runNumber = bc.runNumber();
509516
auto timestamp = bc.timestamp();
510517

518+
bool fieldLoaded = false;
511519
if (auto* grpo = ccdb->getForTimeStamp<o2::parameters::GRPObject>(grpPath, timestamp)) {
512520
o2::base::Propagator::initFieldFromGRP(grpo);
513521
bz = grpo->getNominalL3Field();
522+
fieldLoaded = true;
514523
} else if (auto* grpmag = ccdb->getForTimeStamp<o2::parameters::GRPMagField>(grpMagPath, timestamp)) {
515524
o2::base::Propagator::initFieldFromGRP(grpmag);
516525
bz = std::lround(5.f * grpmag->getL3Current() / 30000.f);
526+
fieldLoaded = true;
517527
} else {
518-
LOG(fatal) << "Got nullptr from CCDB for path " << grpMagPath << " of object GRPMagField and " << grpPath << " of object GRPObject for timestamp " << timestamp;
528+
LOG(error) << "CCDB miss for GRP/field (" << grpMagPath << ", " << grpPath << ") at timestamp " << timestamp << "; skipping collision to avoid bad B field.";
529+
}
530+
if (!fieldLoaded) {
531+
continue; // skip this collision if CCDB does not provide field
519532
}
520533
df2.setBz(bz);
521534
}

0 commit comments

Comments
 (0)