@@ -487,6 +487,40 @@ struct DalitzSelection {
487487 }
488488 }
489489 }
490+
491+ void initNewRun (long timestamp) {
492+
493+ VarManager::ResetValues (0 , VarManager::kNRunWiseVariables );
494+
495+ // We setup the magnetic field, because the conversion rejection cut might depend on it
496+ float magField = 0 .;
497+ if (fConfigOptions .fUseRemoteField .value ) {
498+ grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(fConfigOptions .grpmagPath , timestamp);
499+ if (grpmag != nullptr ) {
500+ magField = grpmag->getNominalL3Field ();
501+ } else {
502+ LOGF (fatal, " GRP object is not available in CCDB at timestamp=%llu" , timestamp);
503+ }
504+ } else {
505+ magField = fConfigOptions .fConfigMagField .value ;
506+ }
507+ LOGF (info, " setting mag field to %f" , magField);
508+ if (magField == 0 .) {
509+ LOGF (fatal, " magnetic field not set correctly, please check" );
510+ }
511+ VarManager::SetMagneticField (magField);
512+
513+ if (fConfigOptions .fConfigComputeTPCpostCalib ) {
514+ auto calibList = fCCDB ->getForTimeStamp <TList>(fConfigOptions .fConfigCcdbPathTPC .value , timestamp);
515+ VarManager::SetCalibrationObject (VarManager::kTPCElectronMean , calibList->FindObject (" mean_map_electron" ));
516+ VarManager::SetCalibrationObject (VarManager::kTPCElectronSigma , calibList->FindObject (" sigma_map_electron" ));
517+ VarManager::SetCalibrationObject (VarManager::kTPCPionMean , calibList->FindObject (" mean_map_pion" ));
518+ VarManager::SetCalibrationObject (VarManager::kTPCPionSigma , calibList->FindObject (" sigma_map_pion" ));
519+ VarManager::SetCalibrationObject (VarManager::kTPCProtonMean , calibList->FindObject (" mean_map_proton" ));
520+ VarManager::SetCalibrationObject (VarManager::kTPCProtonSigma , calibList->FindObject (" sigma_map_proton" ));
521+ }
522+
523+ }
490524
491525 void processFullTracks (MyEventsWithCent const & collisions, aod::BCsWithTimestamps const &, soa::Filtered<MyBarrelTracks> const & filteredTracks, MyBarrelTracks const & tracks)
492526 {
@@ -508,35 +542,7 @@ struct DalitzSelection {
508542 auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
509543
510544 if (fCurrentRun != bc.runNumber ()) {
511- VarManager::ResetValues (0 , VarManager::kNRunWiseVariables );
512-
513- // We setup the magnetic field, because the conversion rejection cut might depend on it
514- float magField = 0 .;
515- if (fConfigOptions .fUseRemoteField .value ) {
516- grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(fConfigOptions .grpmagPath , bc.timestamp ());
517- if (grpmag != nullptr ) {
518- magField = grpmag->getNominalL3Field ();
519- } else {
520- LOGF (fatal, " GRP object is not available in CCDB at timestamp=%llu" , bc.timestamp ());
521- }
522- } else {
523- magField = fConfigOptions .fConfigMagField .value ;
524- }
525- LOGF (info, " setting mag field to %f" , magField);
526- if (magField == 0 .) {
527- LOGF (fatal, " magnetic field not set correctly, please check" );
528- }
529- VarManager::SetMagneticField (magField);
530-
531- if (fConfigOptions .fConfigComputeTPCpostCalib ) {
532- auto calibList = fCCDB ->getForTimeStamp <TList>(fConfigOptions .fConfigCcdbPathTPC .value , bc.timestamp ());
533- VarManager::SetCalibrationObject (VarManager::kTPCElectronMean , calibList->FindObject (" mean_map_electron" ));
534- VarManager::SetCalibrationObject (VarManager::kTPCElectronSigma , calibList->FindObject (" sigma_map_electron" ));
535- VarManager::SetCalibrationObject (VarManager::kTPCPionMean , calibList->FindObject (" mean_map_pion" ));
536- VarManager::SetCalibrationObject (VarManager::kTPCPionSigma , calibList->FindObject (" sigma_map_pion" ));
537- VarManager::SetCalibrationObject (VarManager::kTPCProtonMean , calibList->FindObject (" mean_map_proton" ));
538- VarManager::SetCalibrationObject (VarManager::kTPCProtonSigma , calibList->FindObject (" sigma_map_proton" ));
539- }
545+ initNewRun (bc.timestamp ());
540546 fCurrentRun = bc.runNumber ();
541547 }
542548
@@ -575,35 +581,7 @@ struct DalitzSelection {
575581 auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
576582
577583 if (fCurrentRun != bc.runNumber ()) {
578- VarManager::ResetValues (0 , VarManager::kNRunWiseVariables );
579-
580- // We setup the magnetic field, because the conversion rejection cut might depend on it
581- float magField = 0 .;
582- if (fConfigOptions .fUseRemoteField .value ) {
583- grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(fConfigOptions .grpmagPath , bc.timestamp ());
584- if (grpmag != nullptr ) {
585- magField = grpmag->getNominalL3Field ();
586- } else {
587- LOGF (fatal, " GRP object is not available in CCDB at timestamp=%llu" , bc.timestamp ());
588- }
589- } else {
590- magField = fConfigOptions .fConfigMagField .value ;
591- }
592- LOGF (info, " setting mag field to %f" , magField);
593- if (magField == 0 .) {
594- LOGF (fatal, " magnetic field not set correctly, please check" );
595- }
596- VarManager::SetMagneticField (magField);
597-
598- if (fConfigOptions .fConfigComputeTPCpostCalib ) {
599- auto calibList = fCCDB ->getForTimeStamp <TList>(fConfigOptions .fConfigCcdbPathTPC .value , bc.timestamp ());
600- VarManager::SetCalibrationObject (VarManager::kTPCElectronMean , calibList->FindObject (" mean_map_electron" ));
601- VarManager::SetCalibrationObject (VarManager::kTPCElectronSigma , calibList->FindObject (" sigma_map_electron" ));
602- VarManager::SetCalibrationObject (VarManager::kTPCPionMean , calibList->FindObject (" mean_map_pion" ));
603- VarManager::SetCalibrationObject (VarManager::kTPCPionSigma , calibList->FindObject (" sigma_map_pion" ));
604- VarManager::SetCalibrationObject (VarManager::kTPCProtonMean , calibList->FindObject (" mean_map_proton" ));
605- VarManager::SetCalibrationObject (VarManager::kTPCProtonSigma , calibList->FindObject (" sigma_map_proton" ));
606- }
584+ initNewRun (bc.timestamp ());
607585 fCurrentRun = bc.runNumber ();
608586 }
609587
0 commit comments