@@ -261,7 +261,9 @@ struct HfCandidateCreatorXic0Omegac0Qa {
261261 int pdgIdOfV0DauPos{}, pdgIdOfV0DauNeg{}, pdgIdOfBach{}, pdgIdOfCharmBach{};
262262 int pdgIdOfV0{}, pdgIdOfCascade{}, pdgIdOfCharmBaryon{};
263263
264- // Track PID - Used in DCAFitter
264+ // Track PID: PID value of tracks defined under o2::track::PID namespace
265+ int trackPidOfV0DauPos{}, trackPidOfV0DauNeg{};
266+ int trackPidOfBach{}, trackPidOfCharmBach{};
265267 int trackPidOfCascade{};
266268
267269 // Mass of daughter tracks & V0s & cascades & charm baryons;
@@ -320,6 +322,10 @@ struct HfCandidateCreatorXic0Omegac0Qa {
320322 pdgIdOfCascade = kXiMinus ;
321323 pdgIdOfCharmBaryon = kXiC0 ;
322324
325+ trackPidOfV0DauPos = o2::track::PID::Proton;
326+ trackPidOfV0DauNeg = o2::track::PID::Pion;
327+ trackPidOfBach = o2::track::PID::Pion;
328+ trackPidOfCharmBach = o2::track::PID::Pion;
323329 trackPidOfCascade = o2::track::PID::XiMinus;
324330
325331 massOfCharmBach = o2::constants::physics::MassPiPlus;
@@ -337,6 +343,10 @@ struct HfCandidateCreatorXic0Omegac0Qa {
337343 pdgIdOfCascade = kOmegaMinus ;
338344 pdgIdOfCharmBaryon = kOmegaC0 ;
339345
346+ trackPidOfV0DauPos = o2::track::PID::Proton;
347+ trackPidOfV0DauNeg = o2::track::PID::Pion;
348+ trackPidOfBach = o2::track::PID::Kaon;
349+ trackPidOfCharmBach = o2::track::PID::Pion;
340350 trackPidOfCascade = o2::track::PID::OmegaMinus;
341351
342352 massOfCharmBach = o2::constants::physics::MassPiPlus;
@@ -354,6 +364,10 @@ struct HfCandidateCreatorXic0Omegac0Qa {
354364 pdgIdOfCascade = kOmegaMinus ;
355365 pdgIdOfCharmBaryon = kOmegaC0 ;
356366
367+ trackPidOfV0DauPos = o2::track::PID::Proton;
368+ trackPidOfV0DauNeg = o2::track::PID::Pion;
369+ trackPidOfBach = o2::track::PID::Kaon;
370+ trackPidOfCharmBach = o2::track::PID::Kaon;
357371 trackPidOfCascade = o2::track::PID::OmegaMinus;
358372
359373 massOfCharmBach = o2::constants::physics::MassKPlus;
@@ -362,20 +376,28 @@ struct HfCandidateCreatorXic0Omegac0Qa {
362376 massOfV0 = o2::constants::physics::MassLambda;
363377 massOfCascade = o2::constants::physics::MassOmegaMinus;
364378 }
365- LOGF (info, " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
366- LOGF (info, " PDG ID of V0 positive daughter: %d" , pdgIdOfV0DauPos);
367- LOGF (info, " PDG ID of V0 negative daughter: %d" , pdgIdOfV0DauNeg);
368- LOGF (info, " PDG ID of Bachelor: %d" , pdgIdOfBach);
369- LOGF (info, " PDG ID of Charm Bachelor: %d" , pdgIdOfCharmBach);
370- LOGF (info, " -------------------------------------------" );
371- LOGF (info, " PDG ID of V0: %d" , pdgIdOfV0);
372- LOGF (info, " PDG ID of Cascade: %d" , pdgIdOfCascade);
373- LOGF (info, " PDG ID of Charm Baryon: %d" , pdgIdOfCharmBaryon);
374- LOGF (info, " -------------------------------------------" );
375- LOGF (info, " Mass of V0 set as: %f" , massOfV0);
376- LOGF (info, " Mass of CharmBach set as: %f" , massOfCharmBach);
377- LOGF (info, " Mass of Casc as: %f" , massOfCascade);
378- LOGF (info, " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
379+ LOGF (info, " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
380+ LOGF (info, " Chosen reconstruction info: ToXiPi(%d)/ ToOmegaPi(%d)/ ToOmegaKa(%d)" , xipiEnabledDca+xipiEnabledKf, omegapiEnabledDca+omegapiEnabledKf, omegakaEnabledDca+omegakaEnabledKf);
381+ LOGF (info, " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
382+ LOGF (info, " PDG ID of V0 positive daughter: %d" , pdgIdOfV0DauPos);
383+ LOGF (info, " PDG ID of V0 negative daughter: %d" , pdgIdOfV0DauNeg);
384+ LOGF (info, " PDG ID of Bachelor: %d" , pdgIdOfBach);
385+ LOGF (info, " PDG ID of Charm Bachelor: %d" , pdgIdOfCharmBach);
386+ LOGF (info, " -----------------------------------------------------------------------" );
387+ LOGF (info, " Track PID of V0 Dau Pos: %d" , trackPidOfV0DauPos);
388+ LOGF (info, " Track PID of V0 Dau Neg: %d" , trackPidOfV0DauNeg);
389+ LOGF (info, " Track PID of Bach: %d" , trackPidOfBach);
390+ LOGF (info, " Track PID of Charm Bach: %d" , trackPidOfCharmBach);
391+ LOGF (info, " Track PID of Cascade: %d" , trackPidOfCascade);
392+ LOGF (info, " -----------------------------------------------------------------------" );
393+ LOGF (info, " PDG ID of V0: %d" , pdgIdOfV0);
394+ LOGF (info, " PDG ID of Cascade: %d" , pdgIdOfCascade);
395+ LOGF (info, " PDG ID of Charm Baryon: %d" , pdgIdOfCharmBaryon);
396+ LOGF (info, " -----------------------------------------------------------------------" );
397+ LOGF (info, " Mass of V0 set as: %f" , massOfV0);
398+ LOGF (info, " Mass of CharmBach set as: %f" , massOfCharmBach);
399+ LOGF (info, " Mass of Casc as: %f" , massOfCascade);
400+ LOGF (info, " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
379401
380402 // Add histogram to indicate which sv method was used
381403 registry.add (" hVertexerType" , " Use KF or DCAFitterN;Vertexer type;entries" , {kTH1F , {{2 , 0.0 , 2.0 }}});
@@ -1082,6 +1104,26 @@ struct HfCandidateCreatorXic0Omegac0Qa {
10821104 kfCharmBaryonToPv.SetProductionVertex (kfPv);
10831105
10841106 // ----------Reconstruct information after vertex fit----------
1107+
1108+ // auto trackParCovV0DauPos = getTrackParCovFromKFP(kfPos, kfPos.GetPDG(), 1);
1109+ // auto trackParCovV0DauNeg = getTrackParCovFromKFP(kfNeg, kfNeg.GetPDG(), -1);
1110+ // auto trackParCovBach = getTrackParCovFromKFP(kfBachToCasc, kfBachToCasc.GetPDG(), (isAnti ? 1 : -1));
1111+ // auto trackParCovCharmBach = getTrackParCovFromKFP(kfCharmBachToCharmBaryon, kfCharmBachToCharmBaryon.GetPDG(), (isAnti ? -1 : 1));
1112+ // auto trackParCovCasc = getTrackParCovFromKFP(kfCascToCharmBaryon, kfCascToCharmBaryon.GetPDG(), (isAnti ? 1 : -1));
1113+ auto trackParCovV0DauPos = getTrackParCovFromKFP (kfPos, (isAnti ? trackPidOfV0DauNeg : trackPidOfV0DauPos), 1 );
1114+ auto trackParCovV0DauNeg = getTrackParCovFromKFP (kfNeg, (isAnti ? trackPidOfV0DauPos : trackPidOfV0DauNeg), -1 );
1115+ auto trackParCovBach = getTrackParCovFromKFP (kfBachToCasc, trackPidOfBach, (isAnti ? 1 : -1 ));
1116+ auto trackParCovCharmBach = getTrackParCovFromKFP (kfCharmBachToCharmBaryon, trackPidOfCharmBach, (isAnti ? -1 : 1 ));
1117+ auto trackParCovCasc = getTrackParCovFromKFP (kfCascToCharmBaryon, trackPidOfCascade, (isAnti ? 1 : -1 ));
1118+
1119+ trackParCovV0DauPos.setAbsCharge (1 );
1120+ trackParCovV0DauNeg.setAbsCharge (1 );
1121+ trackParCovBach.setAbsCharge (1 );
1122+ trackParCovCharmBach.setAbsCharge (1 );
1123+ trackParCovCasc.setAbsCharge (1 );
1124+
1125+ LOGF (info, " V0DauPos(%d) V0DauNeg(%d) Bach(%d) CharmBach(%d)" , kfPos.GetPDG (), kfNeg.GetPDG (), kfBachToCasc.GetPDG (), kfCharmBachToCharmBaryon.GetPDG ());
1126+
10851127 std::array<float , 3 > vertexV0 = {kfV0.GetX (), kfV0.GetY (), kfV0.GetZ ()};
10861128 std::array<float , 3 > vertexCasc = {kfCasc.GetX (), kfCasc.GetY (), kfCasc.GetZ ()};
10871129
@@ -1098,17 +1140,6 @@ struct HfCandidateCreatorXic0Omegac0Qa {
10981140
10991141 std::array<float , 3 > pvCoord = {collision.posX (), collision.posY (), collision.posZ ()};
11001142
1101- auto trackParCovV0DauPos = getTrackParCovFromKFP (kfPos, kfPos.GetPDG (), 1 );
1102- auto trackParCovV0DauNeg = getTrackParCovFromKFP (kfNeg, kfNeg.GetPDG (), -1 );
1103- auto trackParCovBach = getTrackParCovFromKFP (kfBachToCasc, kfBachToCasc.GetPDG (), (isAnti ? 1 : -1 ));
1104- auto trackParCovCharmBach = getTrackParCovFromKFP (kfCharmBachToCharmBaryon, kfCharmBachToCharmBaryon.GetPDG (), (isAnti ? -1 : 1 ));
1105- auto trackParCovCasc = getTrackParCovFromKFP (kfCascToCharmBaryon, kfCascToCharmBaryon.GetPDG (), (isAnti ? 1 : -1 ));
1106- trackParCovV0DauPos.setAbsCharge (1 );
1107- trackParCovV0DauNeg.setAbsCharge (1 );
1108- trackParCovBach.setAbsCharge (1 );
1109- trackParCovCharmBach.setAbsCharge (1 );
1110- trackParCovCasc.setAbsCharge (1 );
1111-
11121143 // ----------Calculate physical quantities and fill candidate table----------
11131144
11141145 // impact parameters
@@ -1117,7 +1148,7 @@ struct HfCandidateCreatorXic0Omegac0Qa {
11171148 std::array<float , 2 > impactParameterBach;
11181149 o2::base::Propagator::Instance ()->propagateToDCABxByBz ({collision.posX (), collision.posY (), collision.posZ ()}, trackParCovV0DauPos, 2 .f , matCorr, &impactParameterV0DauPos);
11191150 o2::base::Propagator::Instance ()->propagateToDCABxByBz ({collision.posX (), collision.posY (), collision.posZ ()}, trackParCovV0DauNeg, 2 .f , matCorr, &impactParameterV0DauNeg);
1120- o2::base::Propagator::Instance ()->propagateToDCABxByBz ({collision.posX (), collision.posY (), collision.posZ ()}, trackParCovBach, 2 .f , matCorr, &impactParameterBach);
1151+ o2::base::Propagator::Instance ()->propagateToDCABxByBz ( {collision.posX (), collision.posY (), collision.posZ ()},trackParCovBach, 2 .f , matCorr, &impactParameterBach);
11211152 float dcaxyV0DauPos = impactParameterV0DauPos[0 ];
11221153 float dcaxyV0DauNeg = impactParameterV0DauNeg[0 ];
11231154 float dcaxyBach = impactParameterBach[0 ];
0 commit comments