@@ -539,6 +539,7 @@ struct DptDptFilter {
539539 Produces<aod::DptDptCFGenCollisionsInfo> gencollisionsinfo;
540540
541541 Multiplicity multiplicity;
542+ Preslice<DptDptFullTracksDetLevel> perCollision = aod::track::collisionId;
542543
543544 void init (InitContext const &)
544545 {
@@ -737,29 +738,33 @@ struct DptDptFilter {
737738 template <typename CollisionObject, typename ParticlesList>
738739 bool processGenerated (CollisionObject const & mccollision, ParticlesList const & mcparticles, float centormult);
739740
740- template <typename CollisionsGroup, typename AllCollisions>
741+ template <typename CollisionsGroup, typename AllCollisions, typename AllTracks >
741742 void processGeneratorLevel (aod::McCollision const & mccollision,
742743 CollisionsGroup const & collisions,
743744 aod::McParticles const & mcparticles,
744745 AllCollisions const & allcollisions,
746+ AllTracks const & alltracks,
745747 float defaultcent);
746748
747749 void processWithCentGeneratorLevel (aod::McCollision const & mccollision,
748750 soa::SmallGroups<soa::Join<aod::CollisionsEvSelCent, aod::McCollisionLabels>> const & collisions,
749751 aod::McParticles const & mcparticles,
750- aod::CollisionsEvSelCent const & allcollisions);
752+ aod::CollisionsEvSelCent const & allcollisions,
753+ DptDptFullTracksDetLevel const & alltracks);
751754 PROCESS_SWITCH (DptDptFilter, processWithCentGeneratorLevel, " Process generated with centrality" , false );
752755
753756 void processWithRun2CentGeneratorLevel (aod::McCollision const & mccollision,
754757 soa::SmallGroups<soa::Join<aod::CollisionsEvSelRun2Cent, aod::McCollisionLabels>> const & collisions,
755758 aod::McParticles const & mcparticles,
756- aod::CollisionsEvSelRun2Cent const & allcollisions);
759+ aod::CollisionsEvSelRun2Cent const & allcollisions,
760+ DptDptFullTracksDetLevel const & alltracks);
757761 PROCESS_SWITCH (DptDptFilter, processWithRun2CentGeneratorLevel, " Process generated with centrality" , false );
758762
759763 void processWithoutCentGeneratorLevel (aod::McCollision const & mccollision,
760764 soa::SmallGroups<soa::Join<aod::CollisionsEvSel, aod::McCollisionLabels>> const & collisions,
761765 aod::McParticles const & mcparticles,
762- aod::CollisionsEvSel const & allcollisions);
766+ aod::CollisionsEvSel const & allcollisions,
767+ DptDptFullTracksDetLevel const & alltracks);
763768 PROCESS_SWITCH (DptDptFilter, processWithoutCentGeneratorLevel, " Process generated without centrality" , false );
764769
765770 void processOnTheFlyGeneratorLevel (aod::McCollision const & mccollision,
@@ -908,11 +913,12 @@ bool DptDptFilter::processGenerated(CollisionObject const& mccollision, Particle
908913 return static_cast <bool >(acceptedevent);
909914}
910915
911- template <typename CollisionsGroup, typename AllCollisions>
916+ template <typename CollisionsGroup, typename AllCollisions, typename AllTracks >
912917void DptDptFilter::processGeneratorLevel (aod::McCollision const & mccollision,
913918 CollisionsGroup const & collisions,
914919 aod::McParticles const & mcparticles,
915920 AllCollisions const & allcollisions,
921+ AllTracks const & alltracks,
916922 float defaultcent)
917923{
918924 using namespace dptdptfilter ;
@@ -928,6 +934,8 @@ void DptDptFilter::processGeneratorLevel(aod::McCollision const& mccollision,
928934 if (tmpcollision.has_mcCollision ()) {
929935 if (tmpcollision.mcCollisionId () == mccollision.globalIndex ()) {
930936 typename AllCollisions::iterator const & collision = allcollisions.iteratorAt (tmpcollision.globalIndex ());
937+ auto collisionTracks = alltracks.sliceBy (perCollision, collision.globalIndex ());
938+ storeMultiplicitiesAndCentralities (collision, collisionTracks);
931939 if (isEventSelected (collision, defaultcent)) {
932940 if (processGenerated (mccollision, mcparticles, defaultcent)) {
933941 fhTrueVertexZAA->Fill ((mccollision.posZ ()));
@@ -946,25 +954,28 @@ void DptDptFilter::processGeneratorLevel(aod::McCollision const& mccollision,
946954void DptDptFilter::processWithCentGeneratorLevel (aod::McCollision const & mccollision,
947955 soa::SmallGroups<soa::Join<aod::CollisionsEvSelCent, aod::McCollisionLabels>> const & collisions,
948956 aod::McParticles const & mcparticles,
949- aod::CollisionsEvSelCent const & allcollisions)
957+ aod::CollisionsEvSelCent const & allcollisions,
958+ DptDptFullTracksDetLevel const & alltracks)
950959{
951- processGeneratorLevel (mccollision, collisions, mcparticles, allcollisions, 50.0 );
960+ processGeneratorLevel (mccollision, collisions, mcparticles, allcollisions, alltracks, 50.0 );
952961}
953962
954963void DptDptFilter::processWithRun2CentGeneratorLevel (aod::McCollision const & mccollision,
955964 soa::SmallGroups<soa::Join<aod::CollisionsEvSelRun2Cent, aod::McCollisionLabels>> const & collisions,
956965 aod::McParticles const & mcparticles,
957- aod::CollisionsEvSelRun2Cent const & allcollisions)
966+ aod::CollisionsEvSelRun2Cent const & allcollisions,
967+ DptDptFullTracksDetLevel const & alltracks)
958968{
959- processGeneratorLevel (mccollision, collisions, mcparticles, allcollisions, 50.0 );
969+ processGeneratorLevel (mccollision, collisions, mcparticles, allcollisions, alltracks, 50.0 );
960970}
961971
962972void DptDptFilter::processWithoutCentGeneratorLevel (aod::McCollision const & mccollision,
963973 soa::SmallGroups<soa::Join<aod::CollisionsEvSel, aod::McCollisionLabels>> const & collisions,
964974 aod::McParticles const & mcparticles,
965- aod::CollisionsEvSel const & allcollisions)
975+ aod::CollisionsEvSel const & allcollisions,
976+ DptDptFullTracksDetLevel const & alltracks)
966977{
967- processGeneratorLevel (mccollision, collisions, mcparticles, allcollisions, 50.0 );
978+ processGeneratorLevel (mccollision, collisions, mcparticles, allcollisions, alltracks, 50.0 );
968979}
969980
970981void DptDptFilter::processOnTheFlyGeneratorLevel (aod::McCollision const & mccollision,
@@ -1016,7 +1027,6 @@ T computeRMS(std::vector<T>& vec)
10161027}
10171028
10181029struct DptDptFilterTracks {
1019-
10201030 Produces<aod::ScannedTracks> scannedtracks;
10211031 Produces<aod::DptDptCFTracksInfo> tracksinfo;
10221032 Produces<aod::ScannedTrueTracks> scannedgentracks;
0 commit comments