1212// / \author Diana Krupova, diana.krupova@cern.ch
1313// / \since 04.06.2024
1414
15- #include " Framework/AnalysisDataModel.h"
16- #include " Framework/AnalysisTask.h"
17- #include " Framework/runDataProcessing.h"
15+ #include " PWGUD/DataModel/UDTables.h"
1816
1917#include " CCDB/BasicCCDBManager.h"
2018#include " DataFormatsParameters/GRPMagField.h"
21- #include " TGeoGlobalMagField.h"
22- #include " Field/MagneticField.h"
2319#include " DetectorsBase/Propagator.h"
20+ #include " Field/MagneticField.h"
21+ #include " Framework/AnalysisDataModel.h"
22+ #include " Framework/AnalysisTask.h"
23+ #include " Framework/DataTypes.h"
24+ #include " Framework/runDataProcessing.h"
2425#include " GlobalTracking/MatchGlobalFwd.h"
2526#include " MCHTracking/TrackExtrap.h"
2627#include " MCHTracking/TrackParam.h"
27- #include " Math/SMatrix.h"
2828#include " ReconstructionDataFormats/TrackFwd.h"
2929
30- #include " PWGUD/DataModel/UDTables.h"
30+ #include " Math/SMatrix.h"
31+ #include " TGeoGlobalMagField.h"
3132
3233using namespace o2 ::framework;
3334using namespace o2 ::framework::expressions;
35+ using o2::aod::fwdtrack::ForwardTrackTypeEnum;
3436
3537struct FwdTrackPropagation {
3638 using ForwardTracks = o2::soa::Join<o2::aod::FwdTracks, o2::aod::FwdTracksCov>;
@@ -67,7 +69,7 @@ struct FwdTrackPropagation {
6769 SMatrix55 tcovs (v1.begin (), v1.end ());
6870 o2::dataformats::GlobalFwdTrack propmuon;
6971
70- if (static_cast < int >( muon.trackType ()) > 2 ) {
72+ if (muon.trackType () > ForwardTrackTypeEnum::GlobalForwardTrack ) { // tracks without MFT
7173 o2::dataformats::GlobalFwdTrack track;
7274 track.setParameters (tpars);
7375 track.setZ (muon.z ());
@@ -78,7 +80,7 @@ struct FwdTrackPropagation {
7880 propmuon.setParameters (proptrack.getParameters ());
7981 propmuon.setZ (proptrack.getZ ());
8082 propmuon.setCovariances (proptrack.getCovariances ());
81- } else if (static_cast < int >( muon.trackType ()) < 2 ) {
83+ } else if (muon.trackType () <= ForwardTrackTypeEnum::GlobalForwardTrack ) { // tracks with MFT
8284 double centerMFT[3 ] = {0 , 0 , -61.4 };
8385 o2::track::TrackParCovFwd fwdtrack{muon.z (), tpars, tcovs, chi2};
8486 auto * field = dynamic_cast <o2::field::MagneticField*>(TGeoGlobalMagField::Instance ()->GetField ());
@@ -112,11 +114,12 @@ struct FwdTrackPropagation {
112114 propFwdTracks.reserve (fwdTracks.size ());
113115 propFwdTracksCov.reserve (fwdTracks.size ());
114116
117+ constexpr float zAbsorberFront = -90 .f ;
115118 for (const auto & t : fwdTracks) {
116- if (t.z () < - 90 . f ) {
119+ if (t.z () < zAbsorberFront ) {
117120 std::array<float , 3 > vtx = {0 .f , 0 .f , 0 .f };
118121 std::array<float , 2 > vtxCov = {0 .f , 0 .f };
119- if (t.has_collision () && static_cast < int >( t.trackType ()) < 2 ) { // propagate only global muon tracks to collision vtx
122+ if (t.has_collision () && t.trackType () < ForwardTrackTypeEnum::GlobalForwardTrack ) { // propagate only global muon tracks to collision vtx
120123 auto col = cols.iteratorAt (t.collisionId ());
121124 vtx[0 ] = col.posX ();
122125 vtx[1 ] = col.posY ();
0 commit comments