Skip to content

Commit 0d346bc

Browse files
authored
[PWGDQ] Add some code for the energy correlator study (#18600)
1 parent 558feec commit 0d346bc

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

‎PWGDQ/Tasks/dqEnergyCorrelator_direct.cxx‎

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ struct AnalysisEnergyCorrelator {
116116
Configurable<float> fConfigJpsiPtMin{"cfgJpsiPtMin", 0.0, "J/psi pt minimum"};
117117
Configurable<float> fConfigJpsiPtMax{"cfgJpsiPtMax", 100.0, "J/psi pt maximum"};
118118
Configurable<float> fConfigJpsiRapMax{"cfgJpsiRapMax", 0.9, "J/psi rapidity maximum"};
119+
Configurable<float> fConfigJpsiTauxyMin{"cfgJpsiTauxyMin", -10000, "J/psi tauxy minimum"};
120+
Configurable<float> fConfigJpsiTauxyMax{"cfgJpsiTauxyMax", 10000.0, "J/psi tauxy maximum"};
119121
Configurable<std::string> fConfigAddSEPHistogram{"cfgAddSEPHistogram", "", "Comma separated list of histograms"};
120122
Configurable<std::string> recSignals{"cfgMCRecSignals", "eeFromJpsi", "Comma separated list of MC signals (reconstructed)"};
121123
Configurable<std::string> recSignalsJSON{"cfgMCRecSignalsJSON", "", "Comma separated list of MC signals (reconstructed) via JSON"};
@@ -627,8 +629,8 @@ struct AnalysisEnergyCorrelator {
627629
}
628630

629631
// Template function to run same event pairing (barrel-barrel, muon-muon, barrel-muon)
630-
template <uint32_t TTrackFillMap, int TPairType, typename TTrack1, typename TTrack2>
631-
void runSameEventPairing(TTrack1 const& t1, TTrack2 const& t2, int iEleCut, aod::McParticles const& /*mcParticles*/)
632+
template <uint32_t TTrackFillMap, int TPairType, typename TTrack1, typename TTrack2, typename TEvent>
633+
void runSameEventPairing(TTrack1 const& t1, TTrack2 const& t2, int iEleCut, TEvent const& event, aod::McParticles const& /*mcParticles*/)
632634
{
633635
std::map<int, std::vector<TString>> histNames = fTrackHistNames;
634636
std::map<int, std::vector<TString>> histNamesMC = fBarrelHistNamesMCmatched;
@@ -647,6 +649,7 @@ struct AnalysisEnergyCorrelator {
647649
} // end loop over MC signals
648650

649651
VarManager::FillPair<TPairType, TTrackFillMap>(t1, t2);
652+
VarManager::FillPairVertexing<TPairType, gkEventFillMapWithMults, TTrackFillMap>(event, t1, t2, VarManager::fgValues);
650653

651654
if (sign1 * sign2 < 0) { // +- pairs
652655
fHistMan->FillHistClass(histNames[iEleCut][0].Data(), VarManager::fgValues); // reconstructed, unmatched
@@ -802,18 +805,20 @@ struct AnalysisEnergyCorrelator {
802805
// Fill pair histograms for all cuts that both tracks pass
803806
for (size_t iCut = 0; iCut < fTrackCuts.size(); iCut++) {
804807
if (twoTrackFilter & (static_cast<uint32_t>(1) << iCut)) {
805-
runSameEventPairing<gkTrackFillMapWithCov, VarManager::kDecayToEE>(t1, t2, iCut, mcParticles);
808+
runSameEventPairing<gkTrackFillMapWithCov, VarManager::kDecayToEE>(t1, t2, iCut, event, mcParticles);
806809
}
807810
}
808811

809812
float mass = VarManager::fgValues[VarManager::kMass];
810813
float pt = VarManager::fgValues[VarManager::kPt];
811814
float rap = VarManager::fgValues[VarManager::kRap];
815+
float tauxy = VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMass];
812816

813817
// Apply J/psi cuts
814818
if (mass < fConfigPairOptions.fConfigJpsiMassMin.value || mass > fConfigPairOptions.fConfigJpsiMassMax.value ||
815819
pt < fConfigPairOptions.fConfigJpsiPtMin.value || pt > fConfigPairOptions.fConfigJpsiPtMax.value ||
816-
std::abs(rap) > fConfigPairOptions.fConfigJpsiRapMax.value) {
820+
std::abs(rap) > fConfigPairOptions.fConfigJpsiRapMax.value ||
821+
tauxy < fConfigPairOptions.fConfigJpsiTauxyMin.value || tauxy > fConfigPairOptions.fConfigJpsiTauxyMax.value) {
817822
continue;
818823
}
819824

@@ -928,13 +933,17 @@ struct AnalysisEnergyCorrelator {
928933
}
929934
// Fill pair variables for cut
930935
VarManager::FillPair<VarManager::kDecayToEE, gkTrackFillMapWithCov>(t1, t2, VarManager::fgValues);
936+
VarManager::FillPairVertexing<VarManager::kDecayToEE, gkEventFillMapWithMults, gkTrackFillMapWithCov>(event1, t1, t2, VarManager::fgValues);
931937
float mass = VarManager::fgValues[VarManager::kMass];
932938
float pt = VarManager::fgValues[VarManager::kPt];
933939
float rap = VarManager::fgValues[VarManager::kRap];
940+
float tauxy = VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMass];
941+
934942
// Apply J/psi cuts
935943
if (mass < fConfigPairOptions.fConfigJpsiMassMin.value || mass > fConfigPairOptions.fConfigJpsiMassMax.value ||
936944
pt < fConfigPairOptions.fConfigJpsiPtMin.value || pt > fConfigPairOptions.fConfigJpsiPtMax.value ||
937-
std::abs(rap) > fConfigPairOptions.fConfigJpsiRapMax.value) {
945+
std::abs(rap) > fConfigPairOptions.fConfigJpsiRapMax.value ||
946+
tauxy < fConfigPairOptions.fConfigJpsiTauxyMin.value || tauxy > fConfigPairOptions.fConfigJpsiTauxyMax.value) {
938947
continue;
939948
}
940949
if (t1.sign() * t2.sign() >= 0) {

0 commit comments

Comments
 (0)