Skip to content

Commit 79fa3b6

Browse files
zjxiongOvOypwanggalibuild
authored
[PWGDQ] add qa for number of pairs per event in pairing (#15468)
Co-authored-by: ypwangg <ypwangg@mail.ustc.edu.cn> Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 3a083da commit 79fa3b6

File tree

4 files changed

+40
-5
lines changed

4 files changed

+40
-5
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
4242
hm->AddHistogram(histClass, "TF_NMFTs", "Number of MFT tracks per TF", false, 1000, 0.0, 200000.0, VarManager::kTFNMFTs);
4343
}
4444
if (!groupStr.CompareTo("event")) {
45-
if (!subGroupStr.Contains("generator")) {
45+
if (!subGroupStr.Contains("generator") && !subGroupStr.Contains("pairing")) {
4646
hm->AddHistogram(histClass, "VtxZ", "Vtx Z", false, 60, -15.0, 15.0, VarManager::kVtxZ);
4747
hm->AddHistogram(histClass, "VtxZ_Run", "Vtx Z", true, 1, -0.5, 0.5, VarManager::kRunNo, 60, -15.0, 15.0, VarManager::kVtxZ, 1, 0, 1, VarManager::kNothing, "", "", "", VarManager::kNothing, VarManager::kNothing, false, true);
4848
hm->AddHistogram(histClass, "BC", "Event per BC", false, 3564, 0.0, 3564.0, VarManager::kBCOrbit);
@@ -583,6 +583,14 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
583583
hm->AddHistogram(histClass, "FracAbove500um_NTracksTRD", "Fraction of tracks with DCAz > 500 um vs number of tracks with TRD", false, 100, 0.0, 1000.0, VarManager::kMultNTracksHasTRD, 100, 0.0, 1.0, VarManager::kDCAzFracAbove500um);
584584
hm->AddHistogram(histClass, "FracAbove5mm_NTracksTRD", "Fraction of tracks with DCAz > 5 mm vs number of tracks with TRD", false, 100, 0.0, 1000.0, VarManager::kMultNTracksHasTRD, 100, 0.0, 1.0, VarManager::kDCAzFracAbove5mm);
585585
}
586+
if (subGroupStr.Contains("pairing")) {
587+
if (subGroupStr.Contains("sameevent")) {
588+
hm->AddHistogram(histClass, "NPairsPerEvent", "Number of track pairs per event", false, 100, 0.0, 100.0, VarManager::kNPairsPerEvent);
589+
}
590+
if (subGroupStr.Contains("mixedevent")) {
591+
hm->AddHistogram(histClass, "NPairsPerEvent", "Number of track pairs per event", false, 500, 0.0, 500.0, VarManager::kNPairsPerEvent);
592+
}
593+
}
586594
} // end "event"
587595

588596
if (!groupStr.CompareTo("two-collisions")) {

PWGDQ/Core/VarManager.cxx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,8 @@ void VarManager::SetDefaultVarNames()
14351435
fgVariableUnits[kR3SP] = "";
14361436
fgVariableNames[kR3EP] = "R_{3}^{EP} ";
14371437
fgVariableUnits[kR3EP] = "";
1438+
fgVariableNames[kNPairsPerEvent] = "number of pairs per event";
1439+
fgVariableUnits[kNPairsPerEvent] = "";
14381440
fgVariableNames[kPairMass] = "mass";
14391441
fgVariableUnits[kPairMass] = "GeV/c2";
14401442
fgVariableNames[kPairMassDau] = "mass dilepton";
@@ -2065,6 +2067,7 @@ void VarManager::SetDefaultVarNames()
20652067
fgVarNamesMap["kTwoR2SP2"] = kTwoR2SP2;
20662068
fgVarNamesMap["kTwoR2EP1"] = kTwoR2EP1;
20672069
fgVarNamesMap["kTwoR2EP2"] = kTwoR2EP2;
2070+
fgVarNamesMap["kNPairsPerEvent"] = kNPairsPerEvent;
20682071
fgVarNamesMap["kNEventWiseVariables"] = kNEventWiseVariables;
20692072
fgVarNamesMap["kX"] = kX;
20702073
fgVarNamesMap["kY"] = kY;

PWGDQ/Core/VarManager.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -480,10 +480,11 @@ class VarManager : public TObject
480480
kV2ME_EP,
481481
kWV2ME_SP,
482482
kWV2ME_EP,
483-
kTwoR2SP1, // Scalar product resolution of event1 for ME technique
484-
kTwoR2SP2, // Scalar product resolution of event2 for ME technique
485-
kTwoR2EP1, // Event plane resolution of event2 for ME technique
486-
kTwoR2EP2, // Event plane resolution of event2 for ME technique
483+
kTwoR2SP1, // Scalar product resolution of event1 for ME technique
484+
kTwoR2SP2, // Scalar product resolution of event2 for ME technique
485+
kTwoR2EP1, // Event plane resolution of event2 for ME technique
486+
kTwoR2EP2, // Event plane resolution of event2 for ME technique
487+
kNPairsPerEvent, // number of pairs per event in same-event or mixed-event pairing
487488

488489
// Variables for event mixing with cumulant
489490
kV22m,

PWGDQ/Tasks/tableReader_withAssoc.cxx

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,6 +1326,7 @@ struct AnalysisSameEventPairing {
13261326
int fNCutsBarrel;
13271327
int fNCutsMuon;
13281328
int fNPairCuts;
1329+
int fNPairPerEvent;
13291330

13301331
bool fEnableBarrelMixingHistos;
13311332
bool fEnableBarrelHistos;
@@ -1641,6 +1642,12 @@ struct AnalysisSameEventPairing {
16411642
fHistMan->SetDefaultVarNames(VarManager::fgVariableNames, VarManager::fgVariableUnits);
16421643
VarManager::SetCollisionSystem((TString)fConfigOptions.collisionSystem, fConfigOptions.centerMassEnergy); // set collision system and center of mass energy
16431644
DefineHistograms(fHistMan, histNames.Data(), fConfigAddSEPHistogram.value.data()); // define all histograms
1645+
if (fEnableBarrelHistos) {
1646+
DefineHistograms(fHistMan, "PairingSEQA", "sameevent-pairing"); // histograms for QA of the pairing
1647+
};
1648+
if (fEnableBarrelMixingHistos) {
1649+
DefineHistograms(fHistMan, "PairingMEQA", "mixedevent-pairing"); // histograms for QA of the pairing
1650+
};
16441651
dqhistograms::AddHistogramsFromJSON(fHistMan, fConfigAddJSONHistograms.value.c_str()); // ad-hoc histograms via JSON
16451652
VarManager::SetUseVars(fHistMan->GetUsedVars()); // provide the list of required variables so that VarManager knows what to fill
16461653
fOutputList.setObject(fHistMan->GetMainHistogramList());
@@ -1749,6 +1756,7 @@ struct AnalysisSameEventPairing {
17491756
constexpr bool eventHasQvectorCentr = ((TEventFillMap & VarManager::ObjTypes::CollisionQvect) > 0);
17501757
constexpr bool trackHasCov = ((TTrackFillMap & VarManager::ObjTypes::TrackCov) > 0 || (TTrackFillMap & VarManager::ObjTypes::ReducedTrackBarrelCov) > 0);
17511758
bool isSelectedBDT = false;
1759+
fNPairPerEvent = 0;
17521760

17531761
for (auto& event : events) {
17541762
if (!event.isEventSelected_bit(0)) {
@@ -1796,6 +1804,7 @@ struct AnalysisSameEventPairing {
17961804
twoTrackFilter |= (static_cast<uint32_t>(1) << 31);
17971805
}
17981806

1807+
fNPairPerEvent++;
17991808
VarManager::FillPair<TPairType, TTrackFillMap>(t1, t2);
18001809
// compute quantities which depend on the associated collision, such as DCA
18011810
if (fConfigOptions.propTrack) {
@@ -2101,6 +2110,10 @@ struct AnalysisSameEventPairing {
21012110
}
21022111
} // end loop (cuts)
21032112
} // end loop over pairs of track associations
2113+
VarManager::fgValues[VarManager::kNPairsPerEvent] = fNPairPerEvent;
2114+
if (fEnableBarrelHistos && fConfigQA) {
2115+
fHistMan->FillHistClass("PairingSEQA", VarManager::fgValues);
2116+
}
21042117
} // end loop over events
21052118
}
21062119

@@ -2120,6 +2133,7 @@ struct AnalysisSameEventPairing {
21202133
}
21212134
auto t1 = a1.template reducedtrack_as<TTracks1>();
21222135
auto t2 = a2.template reducedtrack_as<TTracks2>();
2136+
fNPairPerEvent++;
21232137
VarManager::FillPairME<TEventFillMap, TPairType>(t1, t2);
21242138
if constexpr ((TEventFillMap & VarManager::ObjTypes::ReducedEventQvector) > 0) {
21252139
VarManager::FillPairVn<TEventFillMap, TPairType>(t1, t2);
@@ -2285,7 +2299,12 @@ struct AnalysisSameEventPairing {
22852299
auto assocs2 = assocs.sliceBy(preSlice, event2.globalIndex());
22862300
assocs2.bindExternalIndices(&events);
22872301

2302+
fNPairPerEvent = 0;
22882303
runMixedPairing<TPairType, TEventFillMap>(assocs1, assocs2, tracks, tracks);
2304+
VarManager::fgValues[VarManager::kNPairsPerEvent] = fNPairPerEvent;
2305+
if (fEnableBarrelMixingHistos && fConfigQA) {
2306+
fHistMan->FillHistClass("PairingMEQA", VarManager::fgValues);
2307+
}
22892308
} // end event loop
22902309
}
22912310

@@ -4274,6 +4293,10 @@ void DefineHistograms(HistogramManager* histMan, TString histClasses, const char
42744293
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "pair", histName);
42754294
}
42764295

4296+
if (classStr.Contains("Pairing")) {
4297+
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "event", histName);
4298+
}
4299+
42774300
if (classStr.Contains("Triplets")) {
42784301
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "pair", histName);
42794302
}

0 commit comments

Comments
 (0)