Skip to content

Commit 0239d1f

Browse files
torkjellsdatterIda Torkjellsdatter StorehaugIda Torkjellsdatter Storehaugalibuild
authored
[PWGDQ] Change of Fill-function in dqEfficiency_withAssoc/AnalysisDileptonTrack:processMCGenWithEventSelection (#13661)
Co-authored-by: Ida Torkjellsdatter Storehaug <idats@Idas-MacBook-Pro.local> Co-authored-by: Ida Torkjellsdatter Storehaug <idats@eduroam-193-157-161-103.wlan.uio.no> Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 7fa80be commit 0239d1f

File tree

3 files changed

+65
-23
lines changed

3 files changed

+65
-23
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -903,23 +903,24 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
903903
}
904904

905905
if (!groupStr.CompareTo("mctruth_triple")) {
906-
hm->AddHistogram(histClass, "Eta_Pt", "", false, 100, -2.0, 2.0, VarManager::kPairEta, 200, 0.0, 20.0, VarManager::kPairPt);
907-
hm->AddHistogram(histClass, "Eta_Pt_lepton1", "", false, 100, -2.0, 2.0, VarManager::kEta1, 200, 0.0, 20.0, VarManager::kPt1);
908-
hm->AddHistogram(histClass, "Eta_Pt_lepton2", "", false, 100, -2.0, 2.0, VarManager::kEta2, 200, 0.0, 20.0, VarManager::kPt2);
909-
hm->AddHistogram(histClass, "Eta_Pt_Photon", "", false, 100, -2.0, 2.0, VarManager::kEta, 200, 0.0, 20.0, VarManager::kPt);
906+
hm->AddHistogram(histClass, "Eta_Pt", "", false, 100, -2.0, 2.0, VarManager::kPairEta, 200, 0.0, 30.0, VarManager::kPairPt);
907+
hm->AddHistogram(histClass, "Eta_Pt_lepton1", "", false, 100, -2.0, 2.0, VarManager::kEta1, 200, 0.0, 30.0, VarManager::kPt1);
908+
hm->AddHistogram(histClass, "Eta_Pt_lepton2", "", false, 100, -2.0, 2.0, VarManager::kEta2, 200, 0.0, 30.0, VarManager::kPt2);
909+
hm->AddHistogram(histClass, "Eta_Pt_Assoc", "", false, 100, -2.0, 2.0, VarManager::kEta, 200, 0.0, 30.0, VarManager::kPt);
910910
hm->AddHistogram(histClass, "Phi_Eta", "#phi vs #eta distribution", false, 200, -5.0, 5.0, VarManager::kPairEta, 200, -2. * o2::constants::math::PI, 2. * o2::constants::math::PI, VarManager::kPairPhi);
911911
hm->AddHistogram(histClass, "Mass_Dilepton", "", false, 4500, 0.0, 4.5, VarManager::kPairMassDau);
912-
hm->AddHistogram(histClass, "Mass_Photon", "", false, 500, 0.0, 0.1, VarManager::kMassDau);
913-
hm->AddHistogram(histClass, "Mass_Dilepton_Mass_Photon", "", false, 500, 0.0, 5.0, VarManager::kPairMassDau, 500, 0.0, 5.0, VarManager::kMassDau);
914-
hm->AddHistogram(histClass, "Pt_Dilepton", "", false, 2000, 0.0, 20.0, VarManager::kPairPtDau);
915-
hm->AddHistogram(histClass, "Pt_Photon", "", false, 500, 0.0, 5.0, VarManager::kPt);
916-
hm->AddHistogram(histClass, "Mass_DileptonPhoton", "", false, 4500, 0.0, 4.5, VarManager::kPairMass);
917-
hm->AddHistogram(histClass, "Pt_DileptonPhoton", "", false, 2000, 0.0, 20.0, VarManager::kPairPt);
918-
hm->AddHistogram(histClass, "Mass_Pt_DileptonPhoton", "", false, 500, 0.0, 5.0, VarManager::kPairMass, 200, 0.0, 20.0, VarManager::kPairPt);
919-
hm->AddHistogram(histClass, "DeltaMass", "", false, 1500, 0.0, 1.5, VarManager::kDeltaMass);
920-
hm->AddHistogram(histClass, "DeltaMass_ptdileptonphoton", "", false, 1000, 0.0, 1.0, VarManager::kDeltaMass, 3000, 0.0, 30.0, VarManager::kPairPt);
912+
hm->AddHistogram(histClass, "Mass_Assoc", "", false, 500, 0.0, 1.0, VarManager::kMassDau);
913+
hm->AddHistogram(histClass, "Mass_Dilepton_Mass_Assoc", "", false, 500, 0.0, 5.0, VarManager::kPairMassDau, 500, 0.0, 5.0, VarManager::kMassDau);
914+
hm->AddHistogram(histClass, "Pt_Dilepton", "", false, 2000, 0.0, 30.0, VarManager::kPairPtDau);
915+
hm->AddHistogram(histClass, "Pt_Assoc", "", false, 500, 0.0, 10.0, VarManager::kPt);
916+
hm->AddHistogram(histClass, "Mass_DileptonAssoc", "", false, 4500, 0.0, 30.0, VarManager::kPairMass);
917+
hm->AddHistogram(histClass, "Pt_DileptonAssoc", "", false, 2000, 0.0, 30.0, VarManager::kPairPt);
918+
hm->AddHistogram(histClass, "Mass_Pt_DileptonAssoc", "", false, 500, 0.0, 30.0, VarManager::kPairMass, 200, 0.0, 30.0, VarManager::kPairPt);
919+
hm->AddHistogram(histClass, "Pt_Rap_DileptonAssoc", "", false, 5120, 0.0, 30.0, VarManager::kPairPt, 1000, -5.0, 5.0, VarManager::kRap);
920+
hm->AddHistogram(histClass, "DeltaMass", "", false, 1500, 0.0, 5.5, VarManager::kDeltaMass);
921+
hm->AddHistogram(histClass, "DeltaMass_ptdileptonassoc", "", false, 1000, 0.0, 1.0, VarManager::kDeltaMass, 3000, 0.0, 30.0, VarManager::kPairPt);
921922
hm->AddHistogram(histClass, "DeltaMass_Jpsi", "", false, 1500, 3, 4.5, (VarManager::kDeltaMass_jpsi));
922-
hm->AddHistogram(histClass, "Rapidity", "", false, 400, -4.0, 4.0, VarManager::kRap);
923+
hm->AddHistogram(histClass, "Rapidity", "", false, 400, -5.0, 5.0, VarManager::kRap);
923924
}
924925
if (!groupStr.CompareTo("mctruth_pair")) {
925926
hm->AddHistogram(histClass, "Mass_Pt", "", false, 500, 0.0, 15.0, VarManager::kMass, 40, 0.0, 20.0, VarManager::kPt);

PWGDQ/Core/VarManager.h

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,8 +1118,8 @@ class VarManager : public TObject
11181118
static void FillPairME(T1 const& t1, T2 const& t2, float* values = nullptr);
11191119
template <int pairType, typename T1, typename T2>
11201120
static void FillPairMC(T1 const& t1, T2 const& t2, float* values = nullptr);
1121-
template <typename T1, typename T2, typename T3>
1122-
static void FillTripleMC(T1 const& t1, T2 const& t2, T3 const& t3, float* values = nullptr, PairCandidateType pairType = kTripleCandidateToEEPhoton);
1121+
template <int candidateType, typename T1, typename T2, typename T3>
1122+
static void FillTripleMC(T1 const& t1, T2 const& t2, T3 const& t3, float* values = nullptr);
11231123
template <int candidateType, typename T1, typename T2>
11241124
static void FillQuadMC(T1 const& t1, T2 const& t2, T2 const& t3, float* values = nullptr);
11251125
template <int pairType, uint32_t collFillMap, uint32_t fillMap, typename C, typename T>
@@ -3621,14 +3621,14 @@ void VarManager::FillPairMC(T1 const& t1, T2 const& t2, float* values)
36213621
}
36223622
}
36233623

3624-
template <typename T1, typename T2, typename T3>
3625-
void VarManager::FillTripleMC(T1 const& t1, T2 const& t2, T3 const& t3, float* values, PairCandidateType pairType)
3624+
template <int candidateType, typename T1, typename T2, typename T3>
3625+
void VarManager::FillTripleMC(T1 const& t1, T2 const& t2, T3 const& t3, float* values)
36263626
{
36273627
if (!values) {
36283628
values = fgValues;
36293629
}
36303630

3631-
if (pairType == kTripleCandidateToEEPhoton) {
3631+
if constexpr (candidateType == kTripleCandidateToEEPhoton) {
36323632
float m1 = o2::constants::physics::MassElectron;
36333633
float m2 = o2::constants::physics::MassElectron;
36343634
float m3 = o2::constants::physics::MassPhoton;
@@ -3657,7 +3657,7 @@ void VarManager::FillTripleMC(T1 const& t1, T2 const& t2, T3 const& t3, float* v
36573657
values[kPt2] = t2.pt();
36583658
}
36593659

3660-
if (pairType == kTripleCandidateToKPiPi) {
3660+
if constexpr (candidateType == kTripleCandidateToKPiPi) {
36613661
float m1 = o2::constants::physics::MassKaonCharged;
36623662
float m2 = o2::constants::physics::MassPionCharged;
36633663

@@ -3675,6 +3675,35 @@ void VarManager::FillTripleMC(T1 const& t1, T2 const& t2, T3 const& t3, float* v
36753675
values[kS13] = (v1 + v3).M2();
36763676
values[kS23] = (v2 + v3).M2();
36773677
}
3678+
if constexpr (candidateType == kBtoJpsiEEK) {
3679+
float m1 = o2::constants::physics::MassElectron;
3680+
float m2 = o2::constants::physics::MassElectron;
3681+
float m3 = o2::constants::physics::MassKaonCharged;
3682+
float m4 = o2::constants::physics::MassJPsi;
3683+
ROOT::Math::PtEtaPhiMVector v1(t1.pt(), t1.eta(), t1.phi(), m1);
3684+
ROOT::Math::PtEtaPhiMVector v2(t2.pt(), t2.eta(), t2.phi(), m2);
3685+
ROOT::Math::PtEtaPhiMVector v12 = v1 + v2;
3686+
ROOT::Math::PtEtaPhiMVector v3(t3.pt(), t3.eta(), t3.phi(), m3);
3687+
ROOT::Math::PtEtaPhiMVector v123 = v12 + v3;
3688+
values[kPairMass] = v123.M();
3689+
values[kPairPt] = v123.Pt();
3690+
values[kPairEta] = v123.Eta();
3691+
values[kPhi] = v123.Phi();
3692+
values[kMCY] = -v123.Rapidity();
3693+
values[kPairMassDau] = v12.M();
3694+
values[kPairPtDau] = v12.Pt();
3695+
values[kRap] = -v123.Rapidity();
3696+
values[kMassDau] = m3;
3697+
values[VarManager::kDeltaMass] = v123.M() - v12.M();
3698+
values[VarManager::kDeltaMass_jpsi] = v123.M() - v12.M() + m4;
3699+
values[kPt] = t3.pt();
3700+
values[kEta] = t3.eta();
3701+
values[kEta1] = t1.eta();
3702+
values[kEta2] = t2.eta();
3703+
values[kDeltaEta] = v12.Eta();
3704+
values[kPt1] = t1.pt();
3705+
values[kPt2] = t2.pt();
3706+
}
36783707
}
36793708

36803709
template <int pairType, uint32_t collFillMap, uint32_t fillMap, typename C, typename T>

PWGDQ/Tasks/dqEfficiency_withAssoc.cxx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4217,16 +4217,22 @@ struct AnalysisDileptonTrack {
42174217
for (auto t1 : mcTrackIndices) {
42184218
auto track1 = mcTracks.rawIteratorAt(*(&t1));
42194219
for (auto t2 : mcTrackIndices) {
4220-
if (t1 == t2 || t2 < t1)
4220+
if (t1 == t2)
42214221
continue;
4222+
// if (t2 < t1) continue;
42224223
auto track2 = mcTracks.rawIteratorAt(*(&t2));
42234224
for (auto t3 : mcTrackIndices) {
4224-
if (t3 == t1 || t3 == t2)
4225+
if (t3 == t1)
4226+
continue;
4227+
if (t3 == t2)
42254228
continue;
42264229
auto track3 = mcTracks.rawIteratorAt(*(&t3));
42274230

42284231
for (auto& sig : fRecMCSignals) {
42294232
if (sig->CheckSignal(true, track1, track2, track3)) {
4233+
4234+
VarManager::FillTripleMC<VarManager::kBtoJpsiEEK>(track1, track2, track3, VarManager::fgValues); // nb! hardcoded for jpsiK
4235+
42304236
fHistMan->FillHistClass(Form("MCTruthGenSelBR_%s", sig->GetName()), VarManager::fgValues);
42314237

42324238
// apply kinematic cuts
@@ -4332,10 +4338,16 @@ void DefineHistograms(HistogramManager* histMan, TString histClasses, const char
43324338
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "mctruth_pair");
43334339
}
43344340

4335-
if (classStr.Contains("MCTruthGen")) {
4341+
if (classStr.Contains("MCTruthGenSelBR")) {
4342+
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "mctruth_triple");
4343+
} else if (classStr.Contains("MCTruthGen")) {
43364344
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "mctruth_track");
43374345
}
43384346

4347+
// if (classStr.Contains("MCTruthGen")) {
4348+
// dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "mctruth_track");
4349+
// }
4350+
43394351
if (classStr.Contains("DileptonsSelected")) {
43404352
dqhistograms::DefineHistograms(histMan, objArray->At(iclass)->GetName(), "pair", "barrel,vertexing");
43414353
}

0 commit comments

Comments
 (0)