Skip to content

Commit b79c076

Browse files
author
Sabrina Hernandez
committed
adjusted processzdc function
1 parent 46cce1a commit b79c076

File tree

1 file changed

+74
-40
lines changed

1 file changed

+74
-40
lines changed

PWGCF/Flow/Tasks/flowZdcTask.cxx

Lines changed: 74 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ using namespace o2::aod::mult;
4747
using namespace o2::constants::math;
4848
using namespace o2::aod::evsel;
4949

50+
5051
#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) Configurable<TYPE> NAME{#NAME, DEFAULT, HELP};
5152

5253
struct FlowZdcTask {
@@ -112,14 +113,15 @@ struct FlowZdcTask {
112113
Configurable<float> minT0CcentCut{"minT0CcentCut", 0.0, "Min T0C Cent. cut"};
113114
Configurable<float> maxT0CcentCut{"maxT0CcentCut", 90.0, "Max T0C Cent. cut"};
114115

116+
using ColEvent = soa::Join<aod::Collisions, aod::EvSels>;
115117
Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
116118
Filter trackFilter = ((aod::track::eta > minEta) && (aod::track::eta < maxEta));
117119
using ColEvSels = soa::Join<aod::Collisions, aod::EvSels, o2::aod::CentFT0Cs, aod::TPCMults, o2::aod::BarrelMults, aod::FT0MultZeqs>;
118120
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::Mults>>;
119121
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::TracksDCA>>;
120122
Partition<AodTracks> tracksIUWithTPC = (aod::track::tpcNClsFindable > (uint8_t)0);
121-
using TracksSel = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCovIU, aod::TrackSelection, aod::TracksDCA>;
122123
using BCsRun3 = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;
124+
using TracksSel = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCovIU, aod::TrackSelection, aod::TracksDCA>;
123125
using CollisionDataTable = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms>;
124126
using TrackDataTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection>;
125127
using FilTrackDataTable = soa::Filtered<TrackDataTable>;
@@ -863,46 +865,78 @@ struct FlowZdcTask {
863865
histos.get<TH2>(HIST("ZDC_energy_vs_ZEM"))->Fill(sumZEM, sumZDC);
864866
}
865867

866-
void processZdc(aod::Zdc const& zdc)
868+
void processZdc(
869+
ColEvent const& cols,
870+
BCsRun3 const& /*bcs*/,
871+
aod::Zdcs const& /*zdcs*/)
867872
{
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);
905-
}
873+
for (auto& collision : cols) {
874+
const auto& foundBC = collision.foundBC_as<BCsRun3>();
875+
if (foundBC.has_zdc()) {
876+
const auto& zdc = foundBC.zdc();
877+
auto znA = zdc.amplitudeZNA() / cfgCollisionEnergy;
878+
auto znC = zdc.amplitudeZNC() / cfgCollisionEnergy;
879+
auto zpA = zdc.amplitudeZPA() / cfgCollisionEnergy;
880+
auto zpC = zdc.amplitudeZPC() / cfgCollisionEnergy;
881+
float sumZNC = ((zdc.energySectorZNC())[0] + (zdc.energySectorZNC())[1] + (zdc.energySectorZNC())[2] + (zdc.energySectorZNC())[3]) / cfgCollisionEnergy;
882+
float sumZNA = ((zdc.energySectorZNA())[0] + (zdc.energySectorZNA())[1] + (zdc.energySectorZNA())[2] + (zdc.energySectorZNA())[3]) / cfgCollisionEnergy;
883+
float sumZPC = ((zdc.energySectorZPC())[0] + (zdc.energySectorZPC())[1] + (zdc.energySectorZPC())[2] + (zdc.energySectorZPC())[3]) / cfgCollisionEnergy;
884+
float sumZPA = ((zdc.energySectorZPA())[0] + (zdc.energySectorZPA())[1] + (zdc.energySectorZPA())[2] + (zdc.energySectorZPA())[3]) / cfgCollisionEnergy;
885+
float commonSumZnc = zdc.energyCommonZNC() / cfgCollisionEnergy;
886+
float commonSumZna = zdc.energyCommonZNA() / cfgCollisionEnergy;
887+
float commonSumZpc = zdc.energyCommonZPC() / cfgCollisionEnergy;
888+
float commonSumZpa = zdc.energyCommonZPA() / cfgCollisionEnergy;
889+
float aZEM1 = zdc.amplitudeZEM1();
890+
float aZEM2 = zdc.amplitudeZEM2();
891+
float sumZEMs = aZEM1 + aZEM2;
892+
auto tZNA = zdc.timeZNA();
893+
auto tZNC = zdc.timeZNC();
894+
auto tZPA = zdc.timeZPA();
895+
auto tZPC = zdc.timeZPC();
896+
if (isTDCcut) {
897+
if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn))
898+
histos.fill(HIST("ampZna"), znA);
899+
if ((tZNC >= minTdcZn) && (tZNC <= minTdcZn))
900+
histos.fill(HIST("ampZnc"), znC);
901+
if ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp))
902+
histos.fill(HIST("ampZpa"), zpA);
903+
if ((tZPC >= minTdcZp) && (tZPC <= maxTdcZp))
904+
histos.fill(HIST("ampZpc"), zpC);
905+
if (((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) && ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)))
906+
histos.fill(HIST("ZnVsZem"), sumZEMs, znC + znA);
907+
if (((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) && ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)))
908+
histos.fill(HIST("ZnaVsZnc"), znA, znC);
909+
if (((tZPC >= minTdcZp) && (tZPC <= maxTdcZp)) && ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp)))
910+
histos.fill(HIST("ZpaVsZpc"), zpA, zpC);
911+
if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn))
912+
histos.fill(HIST("ZnaVsZpa"), znA, zpA);
913+
if ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn))
914+
histos.fill(HIST("ZncVsZpc"), znC, zpC);
915+
} else {
916+
histos.fill(HIST("ampZna"), znA);
917+
histos.fill(HIST("ampZnc"), znC);
918+
histos.fill(HIST("ampZpa"), zpA);
919+
histos.fill(HIST("ampZpc"), zpC);
920+
histos.fill(HIST("ZnVsZem"), sumZEMs, znC + znA);
921+
histos.fill(HIST("ZnaVsZnc"), znA, znC);
922+
histos.fill(HIST("ZpaVsZpc"), zpA, zpC);
923+
histos.fill(HIST("ZnaVsZpa"), znA, zpA);
924+
histos.fill(HIST("ZncVsZpc"), znC, zpC);
925+
}
926+
histos.fill(HIST("ampZEM1"), aZEM1);
927+
histos.fill(HIST("ampZEM2"), aZEM2);
928+
histos.fill(HIST("ZnccVsZncSum"), sumZNC, commonSumZnc);
929+
histos.fill(HIST("ZnacVsZnaSum"), sumZNA, commonSumZna);
930+
histos.fill(HIST("ZpccVsZpcSum"), sumZPC, commonSumZpc);
931+
histos.fill(HIST("ZpacVsZpaSum"), sumZPA, commonSumZpa);
932+
histos.fill(HIST("ZncVsTdc"), zdc.timeZNC(), znC);
933+
histos.fill(HIST("ZnaVsTdc"), zdc.timeZNA(), znA);
934+
histos.fill(HIST("ZpcVsTdc"), zdc.timeZPC(), zpC);
935+
histos.fill(HIST("ZpaVsTdc"), zdc.timeZPA(), zpA);
936+
histos.fill(HIST("Zem1VsTdc"), zdc.timeZEM1(), aZEM1);
937+
histos.fill(HIST("Zem2VsTdc"), zdc.timeZEM2(), aZEM2);
938+
}
939+
}
906940
}
907941

908942
PROCESS_SWITCH(FlowZdcTask, processQA, "Process QA", true);

0 commit comments

Comments
 (0)