@@ -111,13 +111,6 @@ struct H2fromLbFilter {
111111 hProcessedEvents->GetXaxis ()->SetBinLabel (6 , o2::aod::filtering::H2fromLb::columnLabel ());
112112 }
113113
114- // Tables
115- using CollisionCandidates = o2::soa::Join<o2::aod::Collisions, o2::aod::EvSels>;
116- using TrackCandidates = o2::soa::Join<o2::aod::Tracks, o2::aod::TracksCov, o2::aod::TracksExtra,
117- o2::aod::TracksDCA, o2::aod::TrackSelection,
118- o2::aod::pidTPCFullDe, o2::aod::pidTOFFullDe,
119- o2::aod::TOFSignal, o2::aod::TOFEvTime>;
120-
121114 // Single-Track Selection
122115 template <typename T1>
123116 bool passedSingleTrackSelection (const T1& track)
@@ -154,9 +147,14 @@ struct H2fromLbFilter {
154147 table (keepEvent[0 ]);
155148 }
156149
150+ // Tables
151+ using CollisionCandidates = o2::soa::Join<o2::aod::Collisions, o2::aod::EvSels>;
152+ using TrackCandidates = o2::soa::Join<o2::aod::Tracks, o2::aod::TracksCov, o2::aod::TracksExtra,
153+ o2::aod::TracksDCA, o2::aod::TrackSelection,
154+ o2::aod::pidTPCFullDe, o2::aod::pidTOFFullDe,
155+ o2::aod::TOFSignal, o2::aod::TOFEvTime>;
157156 o2::framework::Preslice<o2::aod::TrackAssoc> trackIndicesPerCollision = o2::aod::track_association::collisionId;
158157 int mCurrentRun = -1 ;
159-
160158 void process (CollisionCandidates const & collisions,
161159 o2::aod::TrackAssoc const & trackIndices,
162160 TrackCandidates const & tracks,
@@ -235,8 +233,13 @@ struct H2fromLbFilter {
235233 }
236234 float recalculatedNSigmaTOFDe = 0 .f ;
237235 if (track.collisionId () != collision.globalIndex ()) {
238- recalculatedNSigmaTOFDe = tofResponse->nSigma <o2::track::PID::Deuteron>(track.tofSignalInAnotherBC (track.collision_as <CollisionCandidates>().bc_as <o2::aod::BCsWithTimestamps>().globalBC (), collision.bc_as <o2::aod::BCsWithTimestamps>().globalBC ()),
239- track.tofExpMom (), track.length (), track.p (), track.eta (), tofEventTime, tofEventTimeErr);
236+ if (track.has_collision ()) {
237+ const auto & trackCollision = collisions.iteratorAt (track.collisionId ());
238+ const auto & trackBC = trackCollision.bc_as <o2::aod::BCsWithTimestamps>();
239+ recalculatedNSigmaTOFDe = tofResponse->nSigma <o2::track::PID::Deuteron>(track.tofSignalInAnotherBC (trackBC.globalBC (),
240+ collision.bc_as <o2::aod::BCsWithTimestamps>().globalBC ()),
241+ track.tofExpMom (), track.length (), track.p (), track.eta (), tofEventTime, tofEventTimeErr);
242+ }
240243 }
241244 const bool isTOFDe = std::abs (track.tofNSigmaDe ()) < cfgTOFNsigma;
242245 const bool isTPCDe = std::abs (track.tpcNSigmaDe ()) < cfgTPCNsigma;
0 commit comments