@@ -159,7 +159,7 @@ struct FlowGfwOmegaXi {
159159 O2_DEFINE_CONFIGURABLE (cfgDoTVXinTRD, bool , true , " check kTVXinTRD" )
160160 O2_DEFINE_CONFIGURABLE (cfgDoNoTimeFrameBorder, bool , true , " check kNoTimeFrameBorder" )
161161 O2_DEFINE_CONFIGURABLE (cfgDoNoITSROFrameBorder, bool , true , " check kNoITSROFrameBorder" )
162- O2_DEFINE_CONFIGURABLE (cfgDoNoSameBunchPileup, bool , true , " check kNoITSROFrameBorder " )
162+ O2_DEFINE_CONFIGURABLE (cfgDoNoSameBunchPileup, bool , true , " rejects collisions which are associated with the same found-by-T0 bunch crossing " )
163163 O2_DEFINE_CONFIGURABLE (cfgDoIsGoodZvtxFT0vsPV, bool , true , " check kIsGoodZvtxFT0vsPV" )
164164 O2_DEFINE_CONFIGURABLE (cfgDoNoCollInTimeRangeStandard, bool , true , " check kNoCollInTimeRangeStandard" )
165165 O2_DEFINE_CONFIGURABLE (cfgDoIsGoodITSLayersAll, bool , true , " check kIsGoodITSLayersAll" )
@@ -190,6 +190,7 @@ struct FlowGfwOmegaXi {
190190 O2_DEFINE_CONFIGURABLE (cfgOutputrunbyrun, bool , false , " Fill and output NUA weights run by run" )
191191 O2_DEFINE_CONFIGURABLE (cfgOutputLocDenWeights, bool , false , " Fill and output local density weights" )
192192 O2_DEFINE_CONFIGURABLE (cfgOutputQA, bool , false , " do QA" )
193+ O2_DEFINE_CONFIGURABLE (cfgUseT0MCent, bool , false , " Use T0M cent" )
193194
194195 ConfigurableAxis cfgaxisVertex{" cfgaxisVertex" , {20 , -10 , 10 }, " vertex axis for histograms" };
195196 ConfigurableAxis cfgaxisPhi{" cfgaxisPhi" , {60 , 0.0 , constants::math::TwoPI}, " phi axis for histograms" };
@@ -205,6 +206,7 @@ struct FlowGfwOmegaXi {
205206 ConfigurableAxis cfgaxisLambdaMassforflow{" cfgaxisLambdaMassforflow" , {32 , 1 .08f , 1 .16f }, " Inv. Mass (GeV)" };
206207 ConfigurableAxis cfgaxisNch{" cfgaxisNch" , {3000 , 0.5 , 3000.5 }, " Nch" };
207208 ConfigurableAxis cfgaxisLocalDensity{" cfgaxisLocalDensity" , {200 , 0 , 600 }, " local density" };
209+ ConfigurableAxis cfgaxisRun{" cfgaxisRun" , {7 , 0 , 7 }, " axis of runs in the data" };
208210
209211 AxisSpec axisMultiplicity{{0 , 5 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }, " Centrality (%)" };
210212
@@ -213,7 +215,7 @@ struct FlowGfwOmegaXi {
213215
214216 using TracksPID = soa::Join<aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFKa, aod::pidTOFPr>;
215217 using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, o2::aod::TrackSelectionExtension, aod::TracksExtra, TracksPID, aod::TracksIU>>; // tracks filter
216- using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::MultsRun3>>; // collisions filter
218+ using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::CentFT0Ms, aod:: MultsRun3>>; // collisions filter
217219 using DaughterTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, TracksPID, aod::TrackSelection, o2::aod::TrackSelectionExtension>;
218220
219221 // Connect to ccdb
@@ -385,14 +387,19 @@ struct FlowGfwOmegaXi {
385387 histosPhi[hPhiOmegacorr] = registry.add <TH1>(Form (" %d/hPhiOmegacorr" , runNumber), " " , {HistType::kTH1D , {cfgaxisPhi}});
386388 th1sList.insert (std::make_pair (runNumber, histosPhi));
387389 }
388-
389- std::vector<std::shared_ptr<TH3>> nuaTH3 (kCount_TH3Names );
390- nuaTH3[hPhiEtaVtxz] = registry.add <TH3>(Form (" %d/hPhiEtaVtxz" , runNumber), " ;#varphi;#eta;v_{z}" , {HistType::kTH3D , {cfgaxisPhi, {64 , -1.6 , 1.6 }, cfgaxisVertex}});
391- nuaTH3[hPhiEtaVtxzK0s] = registry.add <TH3>(Form (" %d/hPhiEtaVtxzK0s" , runNumber), " ;#varphi;#eta;v_{z}" , {HistType::kTH3D , {cfgaxisPhi, {64 , -1.6 , 1.6 }, cfgaxisVertex}});
392- nuaTH3[hPhiEtaVtxzLambda] = registry.add <TH3>(Form (" %d/hPhiEtaVtxzLambda" , runNumber), " ;#varphi;#eta;v_{z}" , {HistType::kTH3D , {cfgaxisPhi, {64 , -1.6 , 1.6 }, cfgaxisVertex}});
393- nuaTH3[hPhiEtaVtxzXi] = registry.add <TH3>(Form (" %d/hPhiEtaVtxzXi" , runNumber), " ;#varphi;#eta;v_{z}" , {HistType::kTH3D , {cfgaxisPhi, {64 , -1.6 , 1.6 }, cfgaxisVertex}});
394- nuaTH3[hPhiEtaVtxzOmega] = registry.add <TH3>(Form (" %d/hPhiEtaVtxzOmega" , runNumber), " ;#varphi;#eta;v_{z}" , {HistType::kTH3D , {cfgaxisPhi, {64 , -1.6 , 1.6 }, cfgaxisVertex}});
395- th3sList.insert (std::make_pair (runNumber, nuaTH3));
390+ }
391+ // hist for NUA
392+ registry.add (" correction/hRunNumberPhiEtaVertex" , " " , {HistType::kTHnSparseF , {cfgaxisRun, cfgaxisPhi, cfgaxisEta, cfgaxisVertex}});
393+ registry.add (" correction/hRunNumberPhiEtaVertexK0s" , " " , {HistType::kTHnSparseF , {cfgaxisRun, cfgaxisPhi, cfgaxisEta, cfgaxisVertex}});
394+ registry.add (" correction/hRunNumberPhiEtaVertexLambda" , " " , {HistType::kTHnSparseF , {cfgaxisRun, cfgaxisPhi, cfgaxisEta, cfgaxisVertex}});
395+ registry.add (" correction/hRunNumberPhiEtaVertexXi" , " " , {HistType::kTHnSparseF , {cfgaxisRun, cfgaxisPhi, cfgaxisEta, cfgaxisVertex}});
396+ registry.add (" correction/hRunNumberPhiEtaVertexOmega" , " " , {HistType::kTHnSparseF , {cfgaxisRun, cfgaxisPhi, cfgaxisEta, cfgaxisVertex}});
397+ for (uint64_t idx = 1 ; idx <= runNumbers.size (); idx++) {
398+ registry.get <THnSparse>(HIST (" correction/hRunNumberPhiEtaVertex" ))->GetAxis (0 )->SetBinLabel (idx, std::to_string (runNumbers[idx - 1 ]).c_str ());
399+ registry.get <THnSparse>(HIST (" correction/hRunNumberPhiEtaVertexK0s" ))->GetAxis (0 )->SetBinLabel (idx, std::to_string (runNumbers[idx - 1 ]).c_str ());
400+ registry.get <THnSparse>(HIST (" correction/hRunNumberPhiEtaVertexLambda" ))->GetAxis (0 )->SetBinLabel (idx, std::to_string (runNumbers[idx - 1 ]).c_str ());
401+ registry.get <THnSparse>(HIST (" correction/hRunNumberPhiEtaVertexXi" ))->GetAxis (0 )->SetBinLabel (idx, std::to_string (runNumbers[idx - 1 ]).c_str ());
402+ registry.get <THnSparse>(HIST (" correction/hRunNumberPhiEtaVertexOmega" ))->GetAxis (0 )->SetBinLabel (idx, std::to_string (runNumbers[idx - 1 ]).c_str ());
396403 }
397404 }
398405
@@ -1006,18 +1013,32 @@ struct FlowGfwOmegaXi {
10061013 auto bc = collision.bc_as <aod::BCsWithTimestamps>();
10071014 int runNumber = bc.runNumber ();
10081015 double interactionRate = rateFetcher.fetch (ccdb.service , bc.timestamp (), runNumber, " ZNC hadronic" ) * 1 .e -3 ;
1016+ runNumber = 544122 ;
10091017
10101018 registry.fill (HIST (" hEventCount" ), 0.5 );
10111019 if (nTot < 1 )
10121020 return ;
10131021 fGFW ->Clear ();
1014- const auto cent = collision.centFT0C ();
1022+ auto cent = collision.centFT0C ();
1023+ if (cfgUseT0MCent)
1024+ cent = collision.centFT0M ();
10151025 if (!collision.sel8 ())
10161026 return ;
10171027 registry.fill (HIST (" hEventCount" ), 1.5 );
10181028
10191029 if (!eventSelected (collision, cent, interactionRate))
10201030 return ;
1031+ int matchedPosition = -1 ;
1032+ for (uint64_t idxPosition = 0 ; idxPosition < this ->runNumbers .size (); idxPosition++) {
1033+ if (this ->runNumbers [idxPosition] == runNumber) {
1034+ matchedPosition = idxPosition;
1035+ break ;
1036+ }
1037+ }
1038+ if (matchedPosition == -1 ) {
1039+ return ;
1040+ }
1041+
10211042 TH1D* hLocalDensity = new TH1D (" hphi" , " hphi" , 400 , -constants::math::TwoPI, constants::math::TwoPI);
10221043 loadCorrections (bc.timestamp ());
10231044 float vtxz = collision.posZ ();
@@ -1036,6 +1057,8 @@ struct FlowGfwOmegaXi {
10361057 if (!setCurrentParticleWeights (weff, wacc, track, vtxz, 0 ))
10371058 continue ;
10381059 }
1060+ if ((track.tpcNClsFound () <= trkQualityOpts.cfgTPCNCls .value ) || (track.tpcNClsCrossedRows () <= trkQualityOpts.cfgTPCCrossedRows .value ) || (track.itsNCls () <= trkQualityOpts.cfgITSNCls .value ))
1061+ continue ;
10391062 registry.fill (HIST (" hPhi" ), track.phi ());
10401063 registry.fill (HIST (" hPhicorr" ), track.phi (), wacc);
10411064 registry.fill (HIST (" hEta" ), track.eta ());
@@ -1060,7 +1083,7 @@ struct FlowGfwOmegaXi {
10601083 th1sList[runNumber][hPhi]->Fill (track.phi ());
10611084 th1sList[runNumber][hPhicorr]->Fill (track.phi (), wacc);
10621085 }
1063- th3sList[runNumber][hPhiEtaVtxz]-> Fill ( track.phi (), track.eta (), vtxz);
1086+ registry. fill ( HIST ( " correction/hRunNumberPhiEtaVertex " ), matchedPosition, track.phi (), track.eta (), vtxz);
10641087 }
10651088 }
10661089 if (cfgDoLocDenCorr) {
@@ -1190,14 +1213,16 @@ struct FlowGfwOmegaXi {
11901213 registry.fill (HIST (" hPhiK0s" ), v0.phi ());
11911214 registry.fill (HIST (" hPhiK0scorr" ), v0.phi (), wacc);
11921215 fGFW ->Fill (v0.eta (), fK0sPtAxis ->FindBin (v0.pt ()) - 1 + ((fK0sMass ->FindBin (v0.mK0Short ()) - 1 ) * nK0sPtBins), v0.phi (), wacc * weff * wloc, 8 );
1216+ if (fK0sPtAxis ->FindBin (v0.pt ()) - 1 == 6 )
1217+ fGFW ->Fill (v0.eta (), (fK0sMass ->FindBin (v0.mK0Short ()) - 1 ), v0.phi (), wacc * weff * wloc, 2048 );
11931218 if (cfgOutputNUAWeights)
11941219 fWeightsK0s ->fill (v0.phi (), v0.eta (), vtxz, v0.pt (), cent, 0 );
11951220 if (cfgOutputrunbyrun) {
11961221 if (cfgOutputQA) {
11971222 th1sList[runNumber][hPhiK0s]->Fill (v0.phi ());
11981223 th1sList[runNumber][hPhiK0scorr]->Fill (v0.phi (), wacc);
11991224 }
1200- th3sList[runNumber][hPhiEtaVtxzK0s]-> Fill ( v0.phi (), v0.eta (), vtxz);
1225+ registry. fill ( HIST ( " correction/hRunNumberPhiEtaVertexK0s " ), matchedPosition, v0.phi (), v0.eta (), vtxz);
12011226 }
12021227 }
12031228 if (isLambda) {
@@ -1224,7 +1249,7 @@ struct FlowGfwOmegaXi {
12241249 th1sList[runNumber][hPhiLambda]->Fill (v0.phi ());
12251250 th1sList[runNumber][hPhiLambdacorr]->Fill (v0.phi (), wacc);
12261251 }
1227- th3sList[runNumber][hPhiEtaVtxzLambda]-> Fill ( v0.phi (), v0.eta (), vtxz);
1252+ registry. fill ( HIST ( " correction/hRunNumberPhiEtaVertexLambda " ), matchedPosition, v0.phi (), v0.eta (), vtxz);
12281253 }
12291254 }
12301255 }
@@ -1401,7 +1426,7 @@ struct FlowGfwOmegaXi {
14011426 th1sList[runNumber][hPhiOmega]->Fill (casc.phi ());
14021427 th1sList[runNumber][hPhiOmegacorr]->Fill (casc.phi (), wacc);
14031428 }
1404- th3sList[runNumber][hPhiEtaVtxzOmega]-> Fill ( casc.phi (), casc.eta (), vtxz);
1429+ registry. fill ( HIST ( " correction/hRunNumberPhiEtaVertexOmega " ), matchedPosition, casc.phi (), casc.eta (), vtxz);
14051430 }
14061431 }
14071432 if (isXi) {
@@ -1430,7 +1455,7 @@ struct FlowGfwOmegaXi {
14301455 th1sList[runNumber][hPhiXi]->Fill (casc.phi ());
14311456 th1sList[runNumber][hPhiXicorr]->Fill (casc.phi (), wacc);
14321457 }
1433- th3sList[runNumber][hPhiEtaVtxzXi]-> Fill ( casc.phi (), casc.eta (), vtxz);
1458+ registry. fill ( HIST ( " correction/hRunNumberPhiEtaVertexXi " ), matchedPosition, casc.phi (), casc.eta (), vtxz);
14341459 }
14351460 }
14361461 }
0 commit comments