@@ -182,14 +182,17 @@ struct NonPromptCascadeTask {
182182 Produces<o2::aod::NPCascTableNT> NPCTableNT;
183183 Produces<o2::aod::NPCascTableMCNT> NPCTableMCNT;
184184 Produces<o2::aod::NPCascTableGen> NPCTableGen;
185- Produces<o2::aod::NPPileUpTable> NPPUTable;
186- Produces<o2::aod::NPMCNegativesTable> NPMCNTable;
185+ //
186+ Produces<o2::aod::NPCollisionTable> NPCollsTable;
187+ Produces<o2::aod::NPMCChargedTable> NPMCNTable;
188+ Produces<o2::aod::NPRecoChargedCandidate> NPRecoCandTable;
187189
188190 using TracksExtData = soa::Join<aod::TracksIU, aod::TracksCovIU, aod::TracksExtra, aod::pidTPCFullKa, aod::pidTPCFullPi, aod::pidTPCFullPr, aod::pidTOFFullKa, aod::pidTOFFullPi, aod::pidTOFFullPr>;
189191 using TracksExtMC = soa::Join<aod::TracksIU, aod::TracksCovIU, aod::TracksExtra, aod::McTrackLabels, aod::pidTPCFullKa, aod::pidTPCFullPi, aod::pidTPCFullPr, aod::pidTOFFullKa, aod::pidTOFFullPi, aod::pidTOFFullPr>;
190192 using CollisionCandidatesRun3 = soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::FV0Mults, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0Ms, aod::MultsGlobal>;
191193 using CollisionCandidatesRun3MC = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::EvSels, aod::FT0Mults, aod::FV0Mults, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0Ms, aod::MultsGlobal>;
192194 using TracksWithLabel = soa::Join<aod::Tracks, aod::McTrackLabels>;
195+ using TracksWithSel = soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection>;
193196
194197 Preslice<TracksExtData> perCollision = aod::track::collisionId;
195198 Preslice<TracksExtMC> perCollisionMC = aod::track::collisionId;
@@ -417,12 +420,10 @@ struct NonPromptCascadeTask {
417420 for (const auto & coll : collisions) {
418421 float centFT0M = coll.centFT0M ();
419422 float multFT0M = coll.multFT0M ();
420- // float centFV0A = coll.centFV0A();
421- // float multFV0A = coll.multFV0A();
422423 float multNTracks = coll.multNTracksGlobal ();
423- float run = mRunNumber ;
424+ float runNumber = mRunNumber ;
424425 float numContrib = coll.numContrib ();
425- mRegistryMults .fill (HIST (" hCentMultsRuns" ), centFT0M, multFT0M, numContrib, multNTracks, run );
426+ mRegistryMults .fill (HIST (" hCentMultsRuns" ), centFT0M, multFT0M, numContrib, multNTracks, runNumber );
426427 }
427428 };
428429
@@ -981,6 +982,50 @@ struct NonPromptCascadeTask {
981982 }
982983
983984 PROCESS_SWITCH (NonPromptCascadeTask, processdNdetaMC, " process mc dN/deta" , false );
985+ //
986+ void processdNdeta (CollisionCandidatesRun3 const & collisions, TracksWithSel const & tracks)
987+ {
988+ int ds = 1 ;
989+ uint32_t orbitO = 0 ;
990+ bool writeFlag = 0 ;
991+ for (const auto & coll : collisions) {
992+ auto bc = coll.template bc_as <aod::BCsWithTimestamps>();
993+ uint64_t globalBC = bc.globalBC ();
994+ uint32_t orbit = globalBC / 3564 ;
995+ if (orbitO != orbit) {
996+ orbitO = orbit;
997+ if ((ds % cfgDownscaleMB) == 0 ) {
998+ writeFlag = 1 ;
999+ } else {
1000+ writeFlag = 0 ;
1001+ }
1002+ ds++;
1003+ }
1004+ if (writeFlag) {
1005+ if (mRunNumber != bc.runNumber ()) {
1006+ mRunNumber = bc.runNumber ();
1007+ }
1008+ NPCollsTable (mRunNumber ,
1009+ coll.bc ().globalBC (),
1010+ coll.numContrib (),
1011+ coll.multNTracksGlobal (),
1012+ coll.centFT0M (),
1013+ coll.multFT0M ());
1014+
1015+ auto collIdx = NPCollsTable.lastIndex ();
1016+ auto tracksThisColl = tracks.sliceBy (perCollision, coll.globalIndex ());
1017+ for (auto const & track : tracksThisColl) {
1018+ if (std::fabs (track.eta ()) < 0.8 && track.tpcNClsFound () >= 80 && track.tpcNClsCrossedRows () >= 100 ) {
1019+ if (track.isGlobalTrack ()) {
1020+ // mults.multGlobalTracks++;
1021+ NPRecoCandTable (collIdx, track.pt ());
1022+ }
1023+ }
1024+ }
1025+ }
1026+ }
1027+ }
1028+ PROCESS_SWITCH (NonPromptCascadeTask, processdNdeta, " process dN/deta" , false );
9841029
9851030 void processPileUp (CollisionCandidatesRun3 const & collisions, aod::BCsWithTimestamps const &)
9861031 {
@@ -1007,7 +1052,7 @@ struct NonPromptCascadeTask {
10071052 }
10081053 float centFT0M = coll.centFT0M ();
10091054 float multFT0M = coll.multFT0M ();
1010- NPPUTable (mRunNumber , globalBC, coll.numContrib (), coll.multNTracksGlobal (), centFT0M, multFT0M);
1055+ NPCollsTable (mRunNumber , globalBC, coll.numContrib (), coll.multNTracksGlobal (), centFT0M, multFT0M);
10111056 }
10121057 }
10131058 };
0 commit comments