@@ -342,7 +342,6 @@ struct TreeWriterTpcV0 {
342342
343343 void init (o2::framework::InitContext&)
344344 {
345- std::cout << " tpcSkimsTableCreator::TreeWriterTpcV0::init()3e14964" ;
346345 ccdb->setURL (" http://alice-ccdb.cern.ch" );
347346 ccdb->setCaching (true );
348347 ccdb->setFatalWhenNull (false );
@@ -980,7 +979,10 @@ struct TreeWriterTPCTOF {
980979 PROCESS_SWITCH (TreeWriterTPCTOF, processStandard2, " Standard Samples for PID with corrected dEdx" , false );
981980
982981 Preslice<Trks> perCollisionTracks = aod::track::collisionId;
983- void processWithdEdxTrQA (Colls const & collisions, Trks const & myTracks, aod::BCsWithTimestamps const &, aod::TracksQAVersion const & tracksQA)
982+ Preslice<TrksWithDEdxCorrection> perCollisionTracksWithCorrecteddEdx = aod::track::collisionId;
983+
984+ template <bool IsCorrecteddEdx, typename TrksType>
985+ void runWithdEdxTrQA (Colls const & collisions, TrksType const & myTracks, aod::TracksQAVersion const & tracksQA, Preslice<TrksType> const & perCollisionTracksType)
984986 {
985987 std::vector<int64_t > labelTrack2TrackQA;
986988 labelTrack2TrackQA.clear ();
@@ -991,8 +993,8 @@ struct TreeWriterTPCTOF {
991993 labelTrack2TrackQA[trackId] = trackQAIndex;
992994 }
993995 for (const auto & collision : collisions) {
994- auto tracks = myTracks.sliceBy (perCollisionTracks , collision.globalIndex ());
995- auto tracksWithITSPid = soa::Attach<Trks ,
996+ auto tracks = myTracks.sliceBy (perCollisionTracksType , collision.globalIndex ());
997+ auto tracksWithITSPid = soa::Attach<TrksType ,
996998 aod::pidits::ITSNSigmaEl, aod::pidits::ITSNSigmaMu, aod::pidits::ITSNSigmaPi,
997999 aod::pidits::ITSNSigmaKa, aod::pidits::ITSNSigmaPr, aod::pidits::ITSNSigmaDe,
9981000 aod::pidits::ITSNSigmaTr, aod::pidits::ITSNSigmaHe, aod::pidits::ITSNSigmaAl>(tracks);
@@ -1025,115 +1027,47 @@ struct TreeWriterTPCTOF {
10251027 }
10261028 // / Fill tree for tritons
10271029 if (trk.tpcInnerParam () < maxMomHardCutOnlyTr && trk.tpcInnerParam () <= maxMomTPCOnlyTr && std::abs (trk.tpcNSigmaTr ()) < nSigmaTPCOnlyTr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassTriton)) {
1028- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaTr (), trk.tofNSigmaTr (), trk.itsNSigmaTr (), trk.tpcExpSignalTr (trk. tpcSignal ( )), PidTriton, runnumber, dwnSmplFactor_Tr, hadronicRate);
1030+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaTr (), trk.tofNSigmaTr (), trk.itsNSigmaTr (), trk.tpcExpSignalTr (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidTriton, runnumber, dwnSmplFactor_Tr, hadronicRate);
10291031 } else if (trk.tpcInnerParam () < maxMomHardCutOnlyTr && trk.tpcInnerParam () > maxMomTPCOnlyTr && std::abs (trk.tofNSigmaTr ()) < nSigmaTOF_TPCTOF_Tr && std::abs (trk.tpcNSigmaTr ()) < nSigmaTPC_TPCTOF_Tr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassTriton)) {
1030- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaTr (), trk.tofNSigmaTr (), trk.itsNSigmaTr (), trk.tpcExpSignalTr (trk. tpcSignal ( )), PidTriton, runnumber, dwnSmplFactor_Tr, hadronicRate);
1032+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaTr (), trk.tofNSigmaTr (), trk.itsNSigmaTr (), trk.tpcExpSignalTr (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidTriton, runnumber, dwnSmplFactor_Tr, hadronicRate);
10311033 }
10321034 // / Fill tree for deuterons
10331035 if (trk.tpcInnerParam () < maxMomHardCutOnlyDe && trk.tpcInnerParam () <= maxMomTPCOnlyDe && std::abs (trk.tpcNSigmaDe ()) < nSigmaTPCOnlyDe && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassDeuteron)) {
1034- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaDe (), trk.tofNSigmaDe (), trk.itsNSigmaDe (), trk.tpcExpSignalDe (trk. tpcSignal ( )), PidDeuteron, runnumber, dwnSmplFactor_De, hadronicRate);
1036+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaDe (), trk.tofNSigmaDe (), trk.itsNSigmaDe (), trk.tpcExpSignalDe (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidDeuteron, runnumber, dwnSmplFactor_De, hadronicRate);
10351037 } else if (trk.tpcInnerParam () < maxMomHardCutOnlyDe && trk.tpcInnerParam () > maxMomTPCOnlyDe && std::abs (trk.tofNSigmaDe ()) < nSigmaTOF_TPCTOF_De && std::abs (trk.tpcNSigmaDe ()) < nSigmaTPC_TPCTOF_De && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassDeuteron)) {
1036- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaDe (), trk.tofNSigmaDe (), trk.itsNSigmaDe (), trk.tpcExpSignalDe (trk. tpcSignal ( )), PidDeuteron, runnumber, dwnSmplFactor_De, hadronicRate);
1038+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaDe (), trk.tofNSigmaDe (), trk.itsNSigmaDe (), trk.tpcExpSignalDe (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidDeuteron, runnumber, dwnSmplFactor_De, hadronicRate);
10371039 }
10381040 // / Fill tree for protons
10391041 if (trk.tpcInnerParam () <= maxMomTPCOnlyPr && std::abs (trk.tpcNSigmaPr ()) < nSigmaTPCOnlyPr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassProton)) {
1040- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPr (), trk.tofNSigmaPr (), trk.itsNSigmaPr (), trk.tpcExpSignalPr (trk. tpcSignal ( )), PidProton, runnumber, dwnSmplFactor_Pr, hadronicRate);
1042+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPr (), trk.tofNSigmaPr (), trk.itsNSigmaPr (), trk.tpcExpSignalPr (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidProton, runnumber, dwnSmplFactor_Pr, hadronicRate);
10411043 } else if (trk.tpcInnerParam () > maxMomTPCOnlyPr && std::abs (trk.tofNSigmaPr ()) < nSigmaTOF_TPCTOF_Pr && std::abs (trk.tpcNSigmaPr ()) < nSigmaTPC_TPCTOF_Pr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassProton)) {
1042- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPr (), trk.tofNSigmaPr (), trk.itsNSigmaPr (), trk.tpcExpSignalPr (trk. tpcSignal ( )), PidProton, runnumber, dwnSmplFactor_Pr, hadronicRate);
1044+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPr (), trk.tofNSigmaPr (), trk.itsNSigmaPr (), trk.tpcExpSignalPr (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidProton, runnumber, dwnSmplFactor_Pr, hadronicRate);
10431045 }
10441046 // / Fill tree for kaons
10451047 if (trk.tpcInnerParam () < maxMomHardCutOnlyKa && trk.tpcInnerParam () <= maxMomTPCOnlyKa && std::abs (trk.tpcNSigmaKa ()) < nSigmaTPCOnlyKa && downsampleTsalisCharged (trk.pt (), downsamplingTsalisKaons, MassKaon)) {
1046- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaKa (), trk.tofNSigmaKa (), trk.itsNSigmaKa (), trk.tpcExpSignalKa (trk. tpcSignal ( )), PidKaon, runnumber, dwnSmplFactor_Ka, hadronicRate);
1048+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaKa (), trk.tofNSigmaKa (), trk.itsNSigmaKa (), trk.tpcExpSignalKa (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidKaon, runnumber, dwnSmplFactor_Ka, hadronicRate);
10471049 } else if (trk.tpcInnerParam () < maxMomHardCutOnlyKa && trk.tpcInnerParam () > maxMomTPCOnlyKa && std::abs (trk.tofNSigmaKa ()) < nSigmaTOF_TPCTOF_Ka && std::abs (trk.tpcNSigmaKa ()) < nSigmaTPC_TPCTOF_Ka && downsampleTsalisCharged (trk.pt (), downsamplingTsalisKaons, MassKaon)) {
1048- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaKa (), trk.tofNSigmaKa (), trk.itsNSigmaKa (), trk.tpcExpSignalKa (trk. tpcSignal ( )), PidKaon, runnumber, dwnSmplFactor_Ka, hadronicRate);
1050+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaKa (), trk.tofNSigmaKa (), trk.itsNSigmaKa (), trk.tpcExpSignalKa (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidKaon, runnumber, dwnSmplFactor_Ka, hadronicRate);
10491051 }
10501052 // / Fill tree pions
10511053 if (trk.tpcInnerParam () <= maxMomTPCOnlyPi && std::abs (trk.tpcNSigmaPi ()) < nSigmaTPCOnlyPi && downsampleTsalisCharged (trk.pt (), downsamplingTsalisPions, MassPion)) {
1052- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPi (), trk.tofNSigmaPi (), trk.itsNSigmaPi (), trk.tpcExpSignalPi (trk. tpcSignal ( )), PidPion, runnumber, dwnSmplFactor_Pi, hadronicRate);
1054+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPi (), trk.tofNSigmaPi (), trk.itsNSigmaPi (), trk.tpcExpSignalPi (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidPion, runnumber, dwnSmplFactor_Pi, hadronicRate);
10531055 } else if (trk.tpcInnerParam () > maxMomTPCOnlyPi && std::abs (trk.tofNSigmaPi ()) < nSigmaTOF_TPCTOF_Pi && std::abs (trk.tpcNSigmaPi ()) < nSigmaTPC_TPCTOF_Pi && downsampleTsalisCharged (trk.pt (), downsamplingTsalisPions, MassPion)) {
1054- fillSkimmedTPCTOFTableWithdEdxTrkQA (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPi (), trk.tofNSigmaPi (), trk.itsNSigmaPi (), trk.tpcExpSignalPi (trk. tpcSignal ( )), PidPion, runnumber, dwnSmplFactor_Pi, hadronicRate);
1056+ fillSkimmedTPCTOFTableWithdEdxTrkQA<IsCorrecteddEdx> (trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPi (), trk.tofNSigmaPi (), trk.itsNSigmaPi (), trk.tpcExpSignalPi (tpcSignalGeneric<IsCorrecteddEdx>(trk )), PidPion, runnumber, dwnSmplFactor_Pi, hadronicRate);
10551057 }
10561058 } // / Loop tracks
10571059 }
1060+ }
1061+
1062+ void processWithdEdxTrQA (Colls const & collisions, Trks const & myTracks, aod::BCsWithTimestamps const &, aod::TracksQAVersion const & tracksQA)
1063+ {
1064+ runWithdEdxTrQA<false , Trks>(collisions, myTracks, tracksQA, perCollisionTracks);
10581065 } // / process
10591066 PROCESS_SWITCH (TreeWriterTPCTOF, processWithdEdxTrQA, " Samples for PID with TrackQA info" , false );
10601067
1061- Preslice<TrksWithDEdxCorrection> perCollisionTracksWithCorrecteddEdx = aod::track::collisionId;
10621068 void processWithdEdxTrQAWithCorrecteddEdx (Colls const & collisions, TrksWithDEdxCorrection const & myTracks, aod::BCsWithTimestamps const &, aod::TracksQAVersion const & tracksQA)
10631069 {
1064- std::vector<int64_t > labelTrack2TrackQA;
1065- labelTrack2TrackQA.clear ();
1066- labelTrack2TrackQA.resize (myTracks.size (), -1 );
1067- for (const auto & trackQA : tracksQA) {
1068- int64_t trackId = trackQA.trackId ();
1069- int64_t trackQAIndex = trackQA.globalIndex ();
1070- labelTrack2TrackQA[trackId] = trackQAIndex;
1071- }
1072- for (const auto & collision : collisions) {
1073- auto tracks = myTracks.sliceBy (perCollisionTracksWithCorrecteddEdx, collision.globalIndex ());
1074- auto tracksWithITSPid = soa::Attach<TrksWithDEdxCorrection,
1075- aod::pidits::ITSNSigmaEl, aod::pidits::ITSNSigmaMu, aod::pidits::ITSNSigmaPi,
1076- aod::pidits::ITSNSigmaKa, aod::pidits::ITSNSigmaPr, aod::pidits::ITSNSigmaDe,
1077- aod::pidits::ITSNSigmaTr, aod::pidits::ITSNSigmaHe, aod::pidits::ITSNSigmaAl>(tracks);
1078- // / Check event selection
1079- if (!isEventSelected (collision, tracks)) {
1080- continue ;
1081- }
1082- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
1083- const int runnumber = bc.runNumber ();
1084- float hadronicRate = mRateFetcher .fetch (ccdb.service , bc.timestamp (), runnumber, irSource) * 1 .e -3 ;
1085- rowTPCTOFTreeWithTrkQA.reserve (tracks.size ());
1086- for (auto const & trk : tracksWithITSPid) {
1087- if (!((trackSelection == 0 ) ||
1088- ((trackSelection == 1 ) && trk.isGlobalTrack ()) ||
1089- ((trackSelection == 2 ) && trk.isGlobalTrackWoPtEta ()) ||
1090- ((trackSelection == 3 ) && trk.isGlobalTrackWoDCA ()) ||
1091- ((trackSelection == 4 ) && trk.isQualityTrack ()) ||
1092- ((trackSelection == 5 ) && trk.isInAcceptanceTrack ()))) {
1093- continue ;
1094- }
1095- // get the corresponding trackQA using labelTracks2TracKQA and get variables of interest
1096- aod::TracksQA trackQA;
1097- bool existTrkQA;
1098- if (labelTrack2TrackQA[trk.globalIndex ()] != -1 ) {
1099- trackQA = tracksQA.iteratorAt (labelTrack2TrackQA[trk.globalIndex ()]);
1100- existTrkQA = true ;
1101- } else {
1102- trackQA = tracksQA.iteratorAt (0 );
1103- existTrkQA = false ;
1104- }
1105- // / Fill tree for tritons
1106- if (trk.tpcInnerParam () < maxMomHardCutOnlyTr && trk.tpcInnerParam () <= maxMomTPCOnlyTr && std::abs (trk.tpcNSigmaTr ()) < nSigmaTPCOnlyTr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassTriton)) {
1107- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaTr (), trk.tofNSigmaTr (), trk.itsNSigmaTr (), trk.tpcExpSignalTr (trk.tpcSignalCorrected ()), PidTriton, runnumber, dwnSmplFactor_Tr, hadronicRate);
1108- } else if (trk.tpcInnerParam () < maxMomHardCutOnlyTr && trk.tpcInnerParam () > maxMomTPCOnlyTr && std::abs (trk.tofNSigmaTr ()) < nSigmaTOF_TPCTOF_Tr && std::abs (trk.tpcNSigmaTr ()) < nSigmaTPC_TPCTOF_Tr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassTriton)) {
1109- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaTr (), trk.tofNSigmaTr (), trk.itsNSigmaTr (), trk.tpcExpSignalTr (trk.tpcSignalCorrected ()), PidTriton, runnumber, dwnSmplFactor_Tr, hadronicRate);
1110- }
1111- // / Fill tree for deuterons
1112- if (trk.tpcInnerParam () < maxMomHardCutOnlyDe && trk.tpcInnerParam () <= maxMomTPCOnlyDe && std::abs (trk.tpcNSigmaDe ()) < nSigmaTPCOnlyDe && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassDeuteron)) {
1113- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaDe (), trk.tofNSigmaDe (), trk.itsNSigmaDe (), trk.tpcExpSignalDe (trk.tpcSignalCorrected ()), PidDeuteron, runnumber, dwnSmplFactor_De, hadronicRate);
1114- } else if (trk.tpcInnerParam () < maxMomHardCutOnlyDe && trk.tpcInnerParam () > maxMomTPCOnlyDe && std::abs (trk.tofNSigmaDe ()) < nSigmaTOF_TPCTOF_De && std::abs (trk.tpcNSigmaDe ()) < nSigmaTPC_TPCTOF_De && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassDeuteron)) {
1115- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaDe (), trk.tofNSigmaDe (), trk.itsNSigmaDe (), trk.tpcExpSignalDe (trk.tpcSignalCorrected ()), PidDeuteron, runnumber, dwnSmplFactor_De, hadronicRate);
1116- }
1117- // / Fill tree for protons
1118- if (trk.tpcInnerParam () <= maxMomTPCOnlyPr && std::abs (trk.tpcNSigmaPr ()) < nSigmaTPCOnlyPr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassProton)) {
1119- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPr (), trk.tofNSigmaPr (), trk.itsNSigmaPr (), trk.tpcExpSignalPr (trk.tpcSignalCorrected ()), PidProton, runnumber, dwnSmplFactor_Pr, hadronicRate);
1120- } else if (trk.tpcInnerParam () > maxMomTPCOnlyPr && std::abs (trk.tofNSigmaPr ()) < nSigmaTOF_TPCTOF_Pr && std::abs (trk.tpcNSigmaPr ()) < nSigmaTPC_TPCTOF_Pr && downsampleTsalisCharged (trk.pt (), downsamplingTsalisProtons, MassProton)) {
1121- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPr (), trk.tofNSigmaPr (), trk.itsNSigmaPr (), trk.tpcExpSignalPr (trk.tpcSignalCorrected ()), PidProton, runnumber, dwnSmplFactor_Pr, hadronicRate);
1122- }
1123- // / Fill tree for kaons
1124- if (trk.tpcInnerParam () < maxMomHardCutOnlyKa && trk.tpcInnerParam () <= maxMomTPCOnlyKa && std::abs (trk.tpcNSigmaKa ()) < nSigmaTPCOnlyKa && downsampleTsalisCharged (trk.pt (), downsamplingTsalisKaons, MassKaon)) {
1125- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaKa (), trk.tofNSigmaKa (), trk.itsNSigmaKa (), trk.tpcExpSignalKa (trk.tpcSignalCorrected ()), PidKaon, runnumber, dwnSmplFactor_Ka, hadronicRate);
1126- } else if (trk.tpcInnerParam () < maxMomHardCutOnlyKa && trk.tpcInnerParam () > maxMomTPCOnlyKa && std::abs (trk.tofNSigmaKa ()) < nSigmaTOF_TPCTOF_Ka && std::abs (trk.tpcNSigmaKa ()) < nSigmaTPC_TPCTOF_Ka && downsampleTsalisCharged (trk.pt (), downsamplingTsalisKaons, MassKaon)) {
1127- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaKa (), trk.tofNSigmaKa (), trk.itsNSigmaKa (), trk.tpcExpSignalKa (trk.tpcSignalCorrected ()), PidKaon, runnumber, dwnSmplFactor_Ka, hadronicRate);
1128- }
1129- // / Fill tree pions
1130- if (trk.tpcInnerParam () <= maxMomTPCOnlyPi && std::abs (trk.tpcNSigmaPi ()) < nSigmaTPCOnlyPi && downsampleTsalisCharged (trk.pt (), downsamplingTsalisPions, MassPion)) {
1131- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPi (), trk.tofNSigmaPi (), trk.itsNSigmaPi (), trk.tpcExpSignalPi (trk.tpcSignalCorrected ()), PidPion, runnumber, dwnSmplFactor_Pi, hadronicRate);
1132- } else if (trk.tpcInnerParam () > maxMomTPCOnlyPi && std::abs (trk.tofNSigmaPi ()) < nSigmaTOF_TPCTOF_Pi && std::abs (trk.tpcNSigmaPi ()) < nSigmaTPC_TPCTOF_Pi && downsampleTsalisCharged (trk.pt (), downsamplingTsalisPions, MassPion)) {
1133- fillSkimmedTPCTOFTableWithdEdxTrkQA<true >(trk, trackQA, existTrkQA, collision, trk.tpcNSigmaPi (), trk.tofNSigmaPi (), trk.itsNSigmaPi (), trk.tpcExpSignalPi (trk.tpcSignalCorrected ()), PidPion, runnumber, dwnSmplFactor_Pi, hadronicRate);
1134- }
1135- } // / Loop tracks
1136- }
1070+ runWithdEdxTrQA<true , TrksWithDEdxCorrection>(collisions, myTracks, tracksQA, perCollisionTracksWithCorrecteddEdx);
11371071 } // / process
11381072 PROCESS_SWITCH (TreeWriterTPCTOF, processWithdEdxTrQAWithCorrecteddEdx, " Samples for PID with TrackQA info with corrected dEdx" , false );
11391073
0 commit comments