@@ -112,14 +112,15 @@ struct FlowZdcTask {
112112 Configurable<float > minT0CcentCut{" minT0CcentCut" , 0.0 , " Min T0C Cent. cut" };
113113 Configurable<float > maxT0CcentCut{" maxT0CcentCut" , 90.0 , " Max T0C Cent. cut" };
114114
115+ using ColEvents = soa::Join<aod::Collisions, aod::EvSels>;
115116 Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
116117 Filter trackFilter = ((aod::track::eta > minEta) && (aod::track::eta < maxEta));
117118 using ColEvSels = soa::Join<aod::Collisions, aod::EvSels, o2::aod::CentFT0Cs, aod::TPCMults, o2::aod::BarrelMults, aod::FT0MultZeqs>;
118119 using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::Mults>>;
119120 using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::TracksDCA>>;
120121 Partition<AodTracks> tracksIUWithTPC = (aod::track::tpcNClsFindable > (uint8_t )0 );
121- using TracksSel = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCovIU, aod::TrackSelection, aod::TracksDCA>;
122122 using BCsRun3 = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;
123+ using TracksSel = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCovIU, aod::TrackSelection, aod::TracksDCA>;
123124 using CollisionDataTable = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms>;
124125 using TrackDataTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection>;
125126 using FilTrackDataTable = soa::Filtered<TrackDataTable>;
@@ -863,45 +864,77 @@ struct FlowZdcTask {
863864 histos.get <TH2>(HIST (" ZDC_energy_vs_ZEM" ))->Fill (sumZEM, sumZDC);
864865 }
865866
866- void processZdc (aod::Zdc const & zdc)
867+ void processZdc (
868+ ColEvents const & cols,
869+ BCsRun3 const & /* bcs*/ ,
870+ aod::Zdcs const & /* zdcs*/ )
867871 {
868- auto znA = zdc.amplitudeZNA () / cfgCollisionEnergy;
869- auto znC = zdc.amplitudeZNC () / cfgCollisionEnergy;
870- auto zpA = zdc.amplitudeZPA () / cfgCollisionEnergy;
871- auto zpC = zdc.amplitudeZPC () / cfgCollisionEnergy;
872- float sumZNC = ((zdc.energySectorZNC ())[0 ] + (zdc.energySectorZNC ())[1 ] + (zdc.energySectorZNC ())[2 ] + (zdc.energySectorZNC ())[3 ]) / cfgCollisionEnergy;
873- float sumZNA = ((zdc.energySectorZNA ())[0 ] + (zdc.energySectorZNA ())[1 ] + (zdc.energySectorZNA ())[2 ] + (zdc.energySectorZNA ())[3 ]) / cfgCollisionEnergy;
874- float sumZPC = ((zdc.energySectorZPC ())[0 ] + (zdc.energySectorZPC ())[1 ] + (zdc.energySectorZPC ())[2 ] + (zdc.energySectorZPC ())[3 ]) / cfgCollisionEnergy;
875- float sumZPA = ((zdc.energySectorZPA ())[0 ] + (zdc.energySectorZPA ())[1 ] + (zdc.energySectorZPA ())[2 ] + (zdc.energySectorZPA ())[3 ]) / cfgCollisionEnergy;
876- float commonSumZnc = zdc.energyCommonZNC () / cfgCollisionEnergy;
877- float commonSumZna = zdc.energyCommonZNA () / cfgCollisionEnergy;
878- float commonSumZpc = zdc.energyCommonZPC () / cfgCollisionEnergy;
879- float commonSumZpa = zdc.energyCommonZPA () / cfgCollisionEnergy;
880- float aZEM1 = zdc.amplitudeZEM1 ();
881- float aZEM2 = zdc.amplitudeZEM2 ();
882- float sumZEMs = aZEM1 + aZEM2;
883- if (sumZEMs > zemCut) {
884- histos.fill (HIST (" ampZna" ), znA);
885- histos.fill (HIST (" ampZnc" ), znC);
886- histos.fill (HIST (" ampZpa" ), zpA);
887- histos.fill (HIST (" ampZpc" ), zpC);
888- histos.fill (HIST (" ampZEM1" ), aZEM1);
889- histos.fill (HIST (" ampZEM2" ), aZEM2);
890- histos.fill (HIST (" ZnVsZem" ), sumZEMs, znC + znA);
891- histos.fill (HIST (" ZnaVsZnc" ), znA, znC);
892- histos.fill (HIST (" ZpaVsZpc" ), zpA, zpC);
893- histos.fill (HIST (" ZnaVsZpa" ), znA, zpA);
894- histos.fill (HIST (" ZncVsZpc" ), znC, zpC);
895- histos.fill (HIST (" ZnccVsZncSum" ), sumZNC, commonSumZnc);
896- histos.fill (HIST (" ZnacVsZnaSum" ), sumZNA, commonSumZna);
897- histos.fill (HIST (" ZpccVsZpcSum" ), sumZPC, commonSumZpc);
898- histos.fill (HIST (" ZpacVsZpaSum" ), sumZPA, commonSumZpa);
899- histos.fill (HIST (" ZncVsTdc" ), zdc.timeZNC (), znC);
900- histos.fill (HIST (" ZnaVsTdc" ), zdc.timeZNA (), znA);
901- histos.fill (HIST (" ZpcVsTdc" ), zdc.timeZPC (), zpC);
902- histos.fill (HIST (" ZpaVsTdc" ), zdc.timeZPA (), zpA);
903- histos.fill (HIST (" Zem1VsTdc" ), zdc.timeZEM1 (), aZEM1);
904- histos.fill (HIST (" Zem2VsTdc" ), zdc.timeZEM2 (), aZEM2);
872+ for (const auto & collision : cols) {
873+ const auto & foundBC = collision.foundBC_as <BCsRun3>();
874+ if (foundBC.has_zdc ()) {
875+ const auto & zdc = foundBC.zdc ();
876+ auto znA = zdc.amplitudeZNA () / cfgCollisionEnergy;
877+ auto znC = zdc.amplitudeZNC () / cfgCollisionEnergy;
878+ auto zpA = zdc.amplitudeZPA () / cfgCollisionEnergy;
879+ auto zpC = zdc.amplitudeZPC () / cfgCollisionEnergy;
880+ float sumZNC = ((zdc.energySectorZNC ())[0 ] + (zdc.energySectorZNC ())[1 ] + (zdc.energySectorZNC ())[2 ] + (zdc.energySectorZNC ())[3 ]) / cfgCollisionEnergy;
881+ float sumZNA = ((zdc.energySectorZNA ())[0 ] + (zdc.energySectorZNA ())[1 ] + (zdc.energySectorZNA ())[2 ] + (zdc.energySectorZNA ())[3 ]) / cfgCollisionEnergy;
882+ float sumZPC = ((zdc.energySectorZPC ())[0 ] + (zdc.energySectorZPC ())[1 ] + (zdc.energySectorZPC ())[2 ] + (zdc.energySectorZPC ())[3 ]) / cfgCollisionEnergy;
883+ float sumZPA = ((zdc.energySectorZPA ())[0 ] + (zdc.energySectorZPA ())[1 ] + (zdc.energySectorZPA ())[2 ] + (zdc.energySectorZPA ())[3 ]) / cfgCollisionEnergy;
884+ float commonSumZnc = zdc.energyCommonZNC () / cfgCollisionEnergy;
885+ float commonSumZna = zdc.energyCommonZNA () / cfgCollisionEnergy;
886+ float commonSumZpc = zdc.energyCommonZPC () / cfgCollisionEnergy;
887+ float commonSumZpa = zdc.energyCommonZPA () / cfgCollisionEnergy;
888+ float aZEM1 = zdc.amplitudeZEM1 ();
889+ float aZEM2 = zdc.amplitudeZEM2 ();
890+ float sumZEMs = aZEM1 + aZEM2;
891+ auto tZNA = zdc.timeZNA ();
892+ auto tZNC = zdc.timeZNC ();
893+ auto tZPA = zdc.timeZPA ();
894+ auto tZPC = zdc.timeZPC ();
895+ if (isTDCcut) {
896+ if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn))
897+ histos.fill (HIST (" ampZna" ), znA);
898+ if ((tZNC >= minTdcZn) && (tZNC <= minTdcZn))
899+ histos.fill (HIST (" ampZnc" ), znC);
900+ if ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp))
901+ histos.fill (HIST (" ampZpa" ), zpA);
902+ if ((tZPC >= minTdcZp) && (tZPC <= maxTdcZp))
903+ histos.fill (HIST (" ampZpc" ), zpC);
904+ if (((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) && ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)))
905+ histos.fill (HIST (" ZnVsZem" ), sumZEMs, znC + znA);
906+ if (((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) && ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)))
907+ histos.fill (HIST (" ZnaVsZnc" ), znA, znC);
908+ if (((tZPC >= minTdcZp) && (tZPC <= maxTdcZp)) && ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp)))
909+ histos.fill (HIST (" ZpaVsZpc" ), zpA, zpC);
910+ if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn))
911+ histos.fill (HIST (" ZnaVsZpa" ), znA, zpA);
912+ if ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn))
913+ histos.fill (HIST (" ZncVsZpc" ), znC, zpC);
914+ } else {
915+ histos.fill (HIST (" ampZna" ), znA);
916+ histos.fill (HIST (" ampZnc" ), znC);
917+ histos.fill (HIST (" ampZpa" ), zpA);
918+ histos.fill (HIST (" ampZpc" ), zpC);
919+ histos.fill (HIST (" ZnVsZem" ), sumZEMs, znC + znA);
920+ histos.fill (HIST (" ZnaVsZnc" ), znA, znC);
921+ histos.fill (HIST (" ZpaVsZpc" ), zpA, zpC);
922+ histos.fill (HIST (" ZnaVsZpa" ), znA, zpA);
923+ histos.fill (HIST (" ZncVsZpc" ), znC, zpC);
924+ }
925+ histos.fill (HIST (" ampZEM1" ), aZEM1);
926+ histos.fill (HIST (" ampZEM2" ), aZEM2);
927+ histos.fill (HIST (" ZnccVsZncSum" ), sumZNC, commonSumZnc);
928+ histos.fill (HIST (" ZnacVsZnaSum" ), sumZNA, commonSumZna);
929+ histos.fill (HIST (" ZpccVsZpcSum" ), sumZPC, commonSumZpc);
930+ histos.fill (HIST (" ZpacVsZpaSum" ), sumZPA, commonSumZpa);
931+ histos.fill (HIST (" ZncVsTdc" ), zdc.timeZNC (), znC);
932+ histos.fill (HIST (" ZnaVsTdc" ), zdc.timeZNA (), znA);
933+ histos.fill (HIST (" ZpcVsTdc" ), zdc.timeZPC (), zpC);
934+ histos.fill (HIST (" ZpaVsTdc" ), zdc.timeZPA (), zpA);
935+ histos.fill (HIST (" Zem1VsTdc" ), zdc.timeZEM1 (), aZEM1);
936+ histos.fill (HIST (" Zem2VsTdc" ), zdc.timeZEM2 (), aZEM2);
937+ }
905938 }
906939 }
907940
0 commit comments