Skip to content

Commit 12fb16c

Browse files
committed
improving correlation analysis
1 parent d2b88de commit 12fb16c

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

PWGUD/Tasks/upcPhotonuclearAnalysisJMG.cxx

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ struct upcPhotonuclearAnalysisJMG {
100100
HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject};
101101

102102
// Declare configurables on events/collisions
103+
Configurable<int> nEvenstMixed{"nEvenstMixed", 3, {"Events to be Mixed"}};
103104
Configurable<float> myZVtxCut{"myZVtxCut", 10., {"My collision cut"}};
104105
Configurable<float> myTimeZNACut{"myTimeZNACut", 2., {"My collision cut"}};
105106
Configurable<float> myTimeZNCCut{"myTimeZNCCut", 2., {"My collision cut"}};
@@ -275,14 +276,15 @@ struct upcPhotonuclearAnalysisJMG {
275276
}
276277

277278
std::vector<double> vtxBinsEdges{VARIABLE_WIDTH, -10.0f, -5.0f, 0.0f, 5.0f, 10.0f};
278-
// std::vector<double> multBinsEdges{VARIABLE_WIDTH, 0.0f, 50.0f, 400.0f};
279+
std::vector<double> gapSideBinsEdges{VARIABLE_WIDTH, -0.5, 0.5, 1.5};
279280

280281
SliceCache cache;
281282

282283
// Binning only on PosZ without multiplicity
283-
using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
284-
BinningType bindingOnVtx{{vtxBinsEdges}, true};
285-
SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, 5, -1, &cache};
284+
// using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
285+
using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::udcollision::GapSide>;
286+
BinningType bindingOnVtx{{vtxBinsEdges, {gapSideBinsEdges}}, true};
287+
SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, nEvenstMixed, -1, &cache};
286288

287289
// ColumnBinningPolicy<aod::collision::PosZ, aod::udcollision::TotalFT0AmplitudeC> bindingOnVtx{{vtxBinsEdges, multBinsEdges}, true};
288290

@@ -376,7 +378,7 @@ struct upcPhotonuclearAnalysisJMG {
376378
template <typename TTracks>
377379
void fillQAUD(const TTracks tracks)
378380
{
379-
for (auto& track : tracks) {
381+
for (const auto& track : tracks) {
380382
histos.fill(HIST("yields"), tracks.size(), track.pt(), eta(track.px(), track.py(), track.pz()));
381383
histos.fill(HIST("etaphi"), tracks.size(), eta(track.px(), track.py(), track.pz()), phi(track.px(), track.py()));
382384
}
@@ -394,12 +396,12 @@ struct upcPhotonuclearAnalysisJMG {
394396
void fillCorrelationsUD(TTarget target, const TTracks tracks1, const TTracks tracks2, float multiplicity, float posZ)
395397
{
396398
multiplicity = tracks1.size();
397-
for (auto& track1 : tracks1) {
399+
for (const auto& track1 : tracks1) {
398400
if (isTrackCut(track1) == false) {
399401
continue;
400402
}
401403
target->getTriggerHist()->Fill(CorrelationContainer::kCFStepReconstructed, track1.pt(), multiplicity, posZ, 1.0);
402-
for (auto& track2 : tracks2) {
404+
for (const auto& track2 : tracks2) {
403405
if (track1 == track2) {
404406
continue;
405407
}
@@ -448,7 +450,7 @@ struct upcPhotonuclearAnalysisJMG {
448450
histos.fill(HIST("Events/SGsideA/hZVtx"), reconstructedCollision.posZ());
449451
histos.fill(HIST("Events/SGsideA/hAmplitudFT0A"), reconstructedCollision.totalFT0AmplitudeA());
450452
histos.fill(HIST("Events/SGsideA/hAmplitudFT0C"), reconstructedCollision.totalFT0AmplitudeC());
451-
for (auto& track : reconstructedTracks) {
453+
for (const auto& track : reconstructedTracks) {
452454
if (track.sign() == 1 || track.sign() == -1) {
453455
if (isTrackCut(track) == false) {
454456
continue;
@@ -504,7 +506,7 @@ struct upcPhotonuclearAnalysisJMG {
504506
histos.fill(HIST("Events/SGsideC/hZVtx"), reconstructedCollision.posZ());
505507
histos.fill(HIST("Events/SGsideC/hAmplitudFT0A"), reconstructedCollision.totalFT0AmplitudeA());
506508
histos.fill(HIST("Events/SGsideC/hAmplitudFT0C"), reconstructedCollision.totalFT0AmplitudeC());
507-
for (auto& track : reconstructedTracks) {
509+
for (const auto& track : reconstructedTracks) {
508510
if (track.sign() == 1 || track.sign() == -1) {
509511
if (isTrackCut(track) == false) {
510512
continue;
@@ -593,12 +595,13 @@ struct upcPhotonuclearAnalysisJMG {
593595

594596
PROCESS_SWITCH(upcPhotonuclearAnalysisJMG, processSame, "Process same event", true);
595597

596-
void processMixed()
598+
void processMixed(FullSGUDCollision::iterator const& reconstructedCollision)
597599
{
600+
(void)reconstructedCollision;
598601
// int sgSide = reconstructedCollision.gapSide();
599602
// int sgSide = 0;
600603

601-
for (auto& [collision1, tracks1, collision2, tracks2] : pairs) {
604+
for (const auto& [collision1, tracks1, collision2, tracks2] : pairs) {
602605
if (collision1.size() == 0 || collision2.size() == 0) {
603606
LOGF(info, "One or both collisions are empty.");
604607
continue;
@@ -614,7 +617,8 @@ struct upcPhotonuclearAnalysisJMG {
614617
if (fillCollisionUD(mixedGapSideA, multiplicity) == false) {
615618
return;
616619
}
617-
histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
620+
// histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
621+
histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ(), collision1.gapSide()}));
618622
fillCorrelationsUD(mixedGapSideA, tracks1, tracks2, multiplicity, collision1.posZ());
619623
LOGF(info, "Filling mixedGapSideA events, Gap for side A");
620624
}
@@ -628,7 +632,6 @@ struct upcPhotonuclearAnalysisJMG {
628632
if (fillCollisionUD(mixedGapSideC, multiplicity) == false) {
629633
return;
630634
}
631-
histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
632635
fillCorrelationsUD(mixedGapSideC, tracks1, tracks2, multiplicity, collision1.posZ());
633636
LOGF(info, "Filling mixedGapSideC events, Gap for side C");
634637
} else {

0 commit comments

Comments
 (0)