Skip to content

Commit 607f451

Browse files
committed
Removed global ZEM cut
1 parent f7f3381 commit 607f451

File tree

1 file changed

+54
-73
lines changed

1 file changed

+54
-73
lines changed

PWGLF/Tasks/GlobalEventProperties/uccZdc.cxx

Lines changed: 54 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ struct UccZdc {
115115
Configurable<bool> isOccupancyCut{"isOccupancyCut", true, "Occupancy cut?"};
116116
Configurable<bool> isApplyFT0CbasedOccupancy{"isApplyFT0CbasedOccupancy", false, "T0C Occu cut"};
117117
Configurable<bool> isTDCcut{"isTDCcut", false, "Use TDC cut"};
118-
Configurable<bool> isZEMcut{"isZEMcut", true, "Use ZEM cut"};
119118
Configurable<bool> useMidRapNchSel{"useMidRapNchSel", true, "Use mid-rapidit Nch selection"};
120119
Configurable<bool> applyEff{"applyEff", true, "Apply track-by-track efficiency correction"};
121120
Configurable<bool> applyFD{"applyFD", false, "Apply track-by-track feed down correction"};
@@ -147,6 +146,7 @@ struct UccZdc {
147146
Configurable<float> minNch{"minNch", 0, "Min Nch (|eta|<0.8)"};
148147
Configurable<float> minZN{"minZN", -0.5, "Min ZN signal"};
149148
Configurable<float> minTdc{"minTdc", -15.0, "minimum TDC"};
149+
Configurable<float> arbScale{"arbScale", 100.0, "Scale factor for forward multiplicity"};
150150

151151
Configurable<float> maxNch{"maxNch", 3000, "Max Nch (|eta|<0.8)"};
152152
Configurable<float> maxITSTrack{"maxITSTrack", 6000., "Min ITS tracks"};
@@ -498,8 +498,8 @@ struct UccZdc {
498498
if (occuValue < minOccCut || occuValue > maxOccCut) {
499499
return false;
500500
}
501+
registry.fill(HIST("hEventCounter"), EvCutLabel::OccuCut);
501502
}
502-
registry.fill(HIST("hEventCounter"), EvCutLabel::OccuCut);
503503

504504
if (col.centFT0C() < minT0CcentCut || col.centFT0C() > maxT0CcentCut) {
505505
return false;
@@ -530,8 +530,8 @@ struct UccZdc {
530530
registry.fill(HIST("hEventCounter"), EvCutLabel::Zdc);
531531
auto zdc = foundBC.zdc();
532532

533-
double aT0A{-999.};
534-
double aT0C{-999.};
533+
double aT0A{0.};
534+
double aT0C{0.};
535535
if (foundBC.has_ft0()) {
536536
for (const auto& amplitude : foundBC.ft0().amplitudeA()) {
537537
aT0A += amplitude;
@@ -544,18 +544,18 @@ struct UccZdc {
544544
}
545545
registry.fill(HIST("hEventCounter"), EvCutLabel::TZero);
546546

547-
double aV0A{-999.};
547+
double aV0A{0.};
548548
if (foundBC.has_fv0a()) {
549549
for (const auto& amplitude : foundBC.fv0a().amplitude()) {
550550
aV0A += amplitude;
551551
}
552552
}
553553

554554
const double nPV{collision.multNTracksPVeta1() / 1.};
555-
const double normT0M{(aT0A + aT0C) / 100.};
556-
const double normV0A{aV0A / 100.};
557-
const double normT0A{aT0A / 100.};
558-
const double normT0C{aT0C / 100.};
555+
const double normT0M{(aT0A + aT0C) / arbScale};
556+
const double normV0A{aV0A / arbScale};
557+
const double normT0A{aT0A / arbScale};
558+
const double normT0C{aT0C / arbScale};
559559
float znA{zdc.amplitudeZNA()};
560560
float znC{zdc.amplitudeZNC()};
561561
float zpA{zdc.amplitudeZPA()};
@@ -582,14 +582,6 @@ struct UccZdc {
582582
registry.fill(HIST("hEventCounter"), EvCutLabel::Tdc);
583583
}
584584

585-
// ZEM cut
586-
if (isZEMcut) {
587-
if (sumZEMs < zemCut) {
588-
return;
589-
}
590-
registry.fill(HIST("hEventCounter"), EvCutLabel::Zem);
591-
}
592-
593585
int itsTracks = 0, glbTracks = 0;
594586
for (const auto& track : tracks) {
595587
if (track.hasITS() && ((track.eta() > minEta) && (track.eta() < maxEta))) {
@@ -667,19 +659,7 @@ struct UccZdc {
667659

668660
registry.fill(HIST("zPos"), collision.posZ());
669661
registry.fill(HIST("T0Ccent"), collision.centFT0C());
670-
registry.fill(HIST("ZNAamp"), znA);
671-
registry.fill(HIST("ZNCamp"), znC);
672-
registry.fill(HIST("ZPAamp"), zpA);
673-
registry.fill(HIST("ZPCamp"), zpC);
674-
registry.fill(HIST("ZNAVsZNC"), znC, znA);
675-
registry.fill(HIST("ZNAVsZPA"), zpA, znA);
676-
registry.fill(HIST("ZNCVsZPC"), zpC, znC);
677-
registry.fill(HIST("ZPAVsZPC"), zpC, zpA);
678-
registry.fill(HIST("ZNVsZEM"), sumZEMs, sumZNs);
679662
registry.fill(HIST("Debunch"), tZDCdif, tZDCsum);
680-
registry.fill(HIST("ZNVsFT0A"), normT0A, sumZNs);
681-
registry.fill(HIST("ZNVsFT0C"), normT0C, sumZNs);
682-
registry.fill(HIST("ZNVsFT0M"), normT0M, sumZNs);
683663
registry.fill(HIST("NchVsFV0A"), normV0A, glbTracks);
684664
registry.fill(HIST("NchVsFT0A"), normT0A, glbTracks);
685665
registry.fill(HIST("NchVsFT0C"), normT0C, glbTracks);
@@ -688,12 +668,29 @@ struct UccZdc {
688668
registry.fill(HIST("Nch"), glbTracks);
689669
registry.fill(HIST("NchVsNPV"), collision.multNTracksPVeta1(), glbTracks);
690670
registry.fill(HIST("NchVsITStracks"), itsTracks, glbTracks);
691-
registry.fill(HIST("ZNAVsNch"), glbTracks, znA);
692-
registry.fill(HIST("ZNCVsNch"), glbTracks, znC);
693-
registry.fill(HIST("ZNVsNch"), glbTracks, sumZNs);
694-
registry.fill(HIST("ZNDifVsNch"), glbTracks, znA - znC);
695671
if (glbTracks >= minNchSel)
696672
registry.fill(HIST("NchVsOneParCorr"), glbTracks, sumpt / glbTracks);
673+
674+
// ZEM cut
675+
if (sumZEMs > zemCut) {
676+
registry.fill(HIST("hEventCounter"), EvCutLabel::Zem);
677+
registry.fill(HIST("ZNAamp"), znA);
678+
registry.fill(HIST("ZNCamp"), znC);
679+
registry.fill(HIST("ZPAamp"), zpA);
680+
registry.fill(HIST("ZPCamp"), zpC);
681+
registry.fill(HIST("ZNAVsZNC"), znC, znA);
682+
registry.fill(HIST("ZNAVsZPA"), zpA, znA);
683+
registry.fill(HIST("ZNCVsZPC"), zpC, znC);
684+
registry.fill(HIST("ZPAVsZPC"), zpC, zpA);
685+
registry.fill(HIST("ZNVsZEM"), sumZEMs, sumZNs);
686+
registry.fill(HIST("ZNVsFT0A"), normT0A, sumZNs);
687+
registry.fill(HIST("ZNVsFT0C"), normT0C, sumZNs);
688+
registry.fill(HIST("ZNVsFT0M"), normT0M, sumZNs);
689+
registry.fill(HIST("ZNAVsNch"), glbTracks, znA);
690+
registry.fill(HIST("ZNCVsNch"), glbTracks, znC);
691+
registry.fill(HIST("ZNVsNch"), glbTracks, sumZNs);
692+
registry.fill(HIST("ZNDifVsNch"), glbTracks, znA - znC);
693+
}
697694
}
698695
PROCESS_SWITCH(UccZdc, processQA, "Process QA", true);
699696
void processZdcCollAss(o2::aod::ColEvSels::iterator const& collision, o2::aod::BCsRun3 const& /*bcs*/, aod::Zdcs const& /*zdcs*/, aod::FV0As const& /*fv0as*/, aod::FT0s const& /*ft0s*/, TheFilteredTracks const& tracks)
@@ -711,8 +708,8 @@ struct UccZdc {
711708
}
712709
registry.fill(HIST("hEventCounter"), EvCutLabel::Zdc);
713710

714-
double aT0A{-999.};
715-
double aT0C{-999.};
711+
double aT0A{0.};
712+
double aT0C{0.};
716713
if (foundBC.has_ft0()) {
717714
for (const auto& amplitude : foundBC.ft0().amplitudeA()) {
718715
aT0A += amplitude;
@@ -725,16 +722,16 @@ struct UccZdc {
725722
}
726723
registry.fill(HIST("hEventCounter"), EvCutLabel::TZero);
727724

728-
double aV0A{-999.};
725+
double aV0A{0.};
729726
if (foundBC.has_fv0a()) {
730727
for (const auto& amplitude : foundBC.fv0a().amplitude()) {
731728
aV0A += amplitude;
732729
}
733730
}
734731

735732
const double nPV{collision.multNTracksPVeta1() / 1.};
736-
const double normT0M{(aT0A + aT0C) / 100.};
737-
const double normV0A{aV0A / 100.};
733+
const double normT0M{(aT0A + aT0C) / arbScale};
734+
const double normV0A{aV0A / arbScale};
738735
float znA{foundBC.zdc().amplitudeZNA()};
739736
float znC{foundBC.zdc().amplitudeZNC()};
740737
float zpA{foundBC.zdc().amplitudeZPA()};
@@ -772,14 +769,6 @@ struct UccZdc {
772769
registry.fill(HIST("hEventCounter"), EvCutLabel::Tdc);
773770
}
774771

775-
// ZEM cut
776-
if (isZEMcut) {
777-
if (sumZEMs < zemCut) {
778-
return;
779-
}
780-
registry.fill(HIST("hEventCounter"), EvCutLabel::Zem);
781-
}
782-
783772
// Nch-based selection
784773
double glbTracks{0.0};
785774
for (const auto& track : tracks) {
@@ -961,17 +950,11 @@ struct UccZdc {
961950
registry.fill(HIST("NchUncorrected"), glbTracks);
962951
registry.fill(HIST("NchVsV0A"), nchMult, normV0A);
963952
registry.fill(HIST("NchVsT0M"), nchMult, normT0M);
964-
registry.fill(HIST("NchVsZN"), nchMult, sumZNs);
965-
registry.fill(HIST("NchVsZP"), nchMult, sumZPs);
966953

967954
registry.fill(HIST("NchVsOneParCorr"), nchMult, oneParCorr);
968955
registry.fill(HIST("NchVsTwoParCorr"), nchMult, twoParCorr);
969956
registry.fill(HIST("NchVsThreeParCorr"), nchMult, threeParCorr);
970957

971-
registry.fill(HIST("NchVsOneParCorrVsZN"), nchMult, sumZNs, oneParCorr);
972-
registry.fill(HIST("NchVsTwoParCorrVsZN"), nchMult, sumZNs, twoParCorr);
973-
registry.fill(HIST("NchVsThreeParCorrVsZN"), nchMult, sumZNs, threeParCorr);
974-
975958
registry.fill(HIST("NchVsOneParCorrVsT0M"), nchMult, normT0M, oneParCorr);
976959
registry.fill(HIST("NchVsTwoParCorrVsT0M"), nchMult, normT0M, twoParCorr);
977960
registry.fill(HIST("NchVsThreeParCorrVsT0M"), nchMult, normT0M, threeParCorr);
@@ -980,8 +963,17 @@ struct UccZdc {
980963
registry.fill(HIST("NchVsTwoParCorrVsV0A"), nchMult, normV0A, twoParCorr);
981964
registry.fill(HIST("NchVsThreeParCorrVsV0A"), nchMult, normV0A, threeParCorr);
982965

966+
if (sumZEMs > zemCut) {
967+
registry.fill(HIST("hEventCounter"), EvCutLabel::Zem);
968+
registry.fill(HIST("NchVsZN"), nchMult, sumZNs);
969+
registry.fill(HIST("NchVsZP"), nchMult, sumZPs);
970+
registry.fill(HIST("NchVsOneParCorrVsZN"), nchMult, sumZNs, oneParCorr);
971+
registry.fill(HIST("NchVsTwoParCorrVsZN"), nchMult, sumZNs, twoParCorr);
972+
registry.fill(HIST("NchVsThreeParCorrVsZN"), nchMult, sumZNs, threeParCorr);
973+
}
974+
983975
const uint64_t timeStamp{foundBC.timestamp()};
984-
eventSampling(tracks, normV0A, normT0M, sumZNs, timeStamp);
976+
eventSampling(tracks, normV0A, normT0M, sumZNs, sumZEMs, timeStamp);
985977
}
986978
PROCESS_SWITCH(UccZdc, processZdcCollAss, "Process ZDC W/Coll Ass.", true);
987979

@@ -1024,14 +1016,7 @@ struct UccZdc {
10241016
return;
10251017
}
10261018

1027-
// double aV0A{-999.};
1028-
// if (foundBC.has_fv0a()) {
1029-
// for (const auto& amplitude : foundBC.fv0a().amplitude()) { aV0A += amplitude; }
1030-
// }
1031-
1032-
const double normT0M{(aT0A + aT0C) / 100.};
1033-
// const double normV0A{aV0A/100.};
1034-
1019+
const double normT0M{(aT0A + aT0C) / arbScale};
10351020
double nchRaw{0.};
10361021
double nchMult{0.};
10371022
double nchMC{0.};
@@ -1197,7 +1182,6 @@ struct UccZdc {
11971182
if (nchMC < minNchSel) {
11981183
continue;
11991184
}
1200-
// printf("nchMult = %f | nchMC = %f | nchMult/nchMc = %f\n",nchMult,nchMC,nchMult/nchMC);
12011185

12021186
double p1MC, p2MC, p3MC, p4MC, w1MC, w2MC, w3MC, w4MC;
12031187
p1MC = p2MC = p3MC = p4MC = w1MC = w2MC = w3MC = w4MC = 0.0;
@@ -1588,7 +1572,7 @@ struct UccZdc {
15881572
}
15891573

15901574
template <typename T, typename U, typename V>
1591-
void eventSampling(const T& tracks, const U& normV0A, const U& normT0M, const U& sumZNs, const V& timeStamp)
1575+
void eventSampling(const T& tracks, const U& normV0A, const U& normT0M, const U& sumZNs, const U& sumZEMs, const V& timeStamp)
15921576
{
15931577
TRandom3 rndGen(timeStamp);
15941578
std::vector<uint64_t> vPoisson;
@@ -1687,8 +1671,6 @@ struct UccZdc {
16871671
pTs.emplace_back(pt);
16881672
vecEff.emplace_back(effValue);
16891673
vecFD.emplace_back(fdValue);
1690-
// To calculate event-averaged <pt>
1691-
registry.fill(HIST("NchVsZNVsPt"), nchMult, sumZNs, pt * (fdValue / effValue));
16921674
}
16931675
}
16941676
} else {
@@ -1704,9 +1686,6 @@ struct UccZdc {
17041686
pTs.emplace_back(track.pt());
17051687
vecEff.emplace_back(1.);
17061688
vecFD.emplace_back(1.);
1707-
1708-
// To calculate event-averaged <pt>
1709-
registry.fill(HIST("NchVsZNVsPt"), nchMult, sumZNs, track.pt());
17101689
}
17111690
}
17121691

@@ -1727,21 +1706,23 @@ struct UccZdc {
17271706
const double numThreeParCorr{std::pow(p1, 3.) - (3. * p2 * p1) + (2. * p3)};
17281707
const double threeParCorr{numThreeParCorr / denThreeParCorr};
17291708

1730-
hNchVsZN[replica]->Fill(nchMult, sumZNs);
17311709
hNchVsV0A[replica]->Fill(nchMult, normV0A);
17321710
hNchVsT0M[replica]->Fill(nchMult, normT0M);
17331711

1734-
pNchVsOneParCorrVsZN[replica]->Fill(nchMult, sumZNs, oneParCorr);
1735-
pNchVsTwoParCorrVsZN[replica]->Fill(nchMult, sumZNs, twoParCorr);
1736-
pNchVsThreeParCorrVsZN[replica]->Fill(nchMult, sumZNs, threeParCorr);
1737-
17381712
pNchVsOneParCorrVsT0M[replica]->Fill(nchMult, normT0M, oneParCorr);
17391713
pNchVsTwoParCorrVsT0M[replica]->Fill(nchMult, normT0M, twoParCorr);
17401714
pNchVsThreeParCorrVsT0M[replica]->Fill(nchMult, normT0M, threeParCorr);
17411715

17421716
pNchVsOneParCorrVsV0A[replica]->Fill(nchMult, normV0A, oneParCorr);
17431717
pNchVsTwoParCorrVsV0A[replica]->Fill(nchMult, normV0A, twoParCorr);
17441718
pNchVsThreeParCorrVsV0A[replica]->Fill(nchMult, normV0A, threeParCorr);
1719+
1720+
if (sumZEMs > zemCut) {
1721+
hNchVsZN[replica]->Fill(nchMult, sumZNs);
1722+
pNchVsOneParCorrVsZN[replica]->Fill(nchMult, sumZNs, oneParCorr);
1723+
pNchVsTwoParCorrVsZN[replica]->Fill(nchMult, sumZNs, twoParCorr);
1724+
pNchVsThreeParCorrVsZN[replica]->Fill(nchMult, sumZNs, threeParCorr);
1725+
}
17451726
} // event per replica
17461727
} // replica's loop
17471728
}

0 commit comments

Comments
 (0)