Skip to content

Commit dcbe034

Browse files
committed
Add more configurables
Use pDCA and max amplitude of V0A as configurables instead of hard coded values.
1 parent 1b23fd8 commit dcbe034

1 file changed

Lines changed: 30 additions & 12 deletions

File tree

PWGUD/Tasks/fwdMuonsUpc.cxx

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ DECLARE_SOA_COLUMN(Ezna, ezna, float);
8181
DECLARE_SOA_COLUMN(Tznc, tznc, float);
8282
DECLARE_SOA_COLUMN(Eznc, eznc, float);
8383
DECLARE_SOA_COLUMN(Nclass, nclass, int);
84+
// other info
85+
DECLARE_SOA_COLUMN(PDCAp, pDCAp, float);
86+
DECLARE_SOA_COLUMN(PDCAn, pDCAn, float);
87+
DECLARE_SOA_COLUMN(AmpV0A, ampV0A, std::vector<float>);
8488
} // namespace dimu
8589

8690
namespace o2::aod
@@ -91,7 +95,8 @@ DECLARE_SOA_TABLE(DiMu, "AOD", "DIMU",
9195
dimu::PhiAv, dimu::PhiCh,
9296
dimu::EnergyP, dimu::Pxp, dimu::Pyp, dimu::Pzp, dimu::Ptp, dimu::Etap, dimu::Phip, dimu::TrackTypep,
9397
dimu::EnergyN, dimu::Pxn, dimu::Pyn, dimu::Pzn, dimu::Ptn, dimu::Etan, dimu::Phin, dimu::TrackTypen,
94-
dimu::Tzna, dimu::Ezna, dimu::Tznc, dimu::Eznc, dimu::Nclass);
98+
dimu::Tzna, dimu::Ezna, dimu::Tznc, dimu::Eznc, dimu::Nclass,
99+
dimu::PDCAp, dimu::PDCAn, dimu::AmpV0A);
95100
} // namespace o2::aod
96101

97102
// for saving tree with info on gen MC
@@ -153,6 +158,10 @@ DECLARE_SOA_COLUMN(GenPhip, genPhip, float);
153158
DECLARE_SOA_COLUMN(GenPtn, genPtn, float);
154159
DECLARE_SOA_COLUMN(GenEtan, genEtan, float);
155160
DECLARE_SOA_COLUMN(GenPhin, genPhin, float);
161+
// other info
162+
DECLARE_SOA_COLUMN(PDCAp, pDCAp, float);
163+
DECLARE_SOA_COLUMN(PDCAn, pDCAn, float);
164+
DECLARE_SOA_COLUMN(AmpV0A, ampV0A, std::vector<float>);
156165
} // namespace recodimu
157166

158167
namespace o2::aod
@@ -165,7 +174,8 @@ DECLARE_SOA_TABLE(RecoDimu, "AOD", "RECODIMU",
165174
recodimu::Ptn, recodimu::Etan, recodimu::Phin, recodimu::TrackTypen,
166175
recodimu::GenPt, recodimu::GenRap, recodimu::GenPhi,
167176
recodimu::GenPtp, recodimu::GenEtap, recodimu::GenPhip,
168-
recodimu::GenPtn, recodimu::GenEtan, recodimu::GenPhin);
177+
recodimu::GenPtn, recodimu::GenEtan, recodimu::GenPhin,
178+
recodimu::PDCAp, recodimu::PDCAn, recodimu::AmpV0A);
169179
} // namespace o2::aod
170180

171181
using namespace o2;
@@ -176,13 +186,10 @@ using namespace o2::framework::expressions;
176186
const float kRAbsMin = 17.6;
177187
const float kRAbsMid = 26.5;
178188
const float kRAbsMax = 89.5;
179-
const float kPDca1 = 200.;
180-
const float kPDca2 = 200.;
181189
float kEtaMin = -4.0;
182190
float kEtaMax = -2.5;
183191
const float kPtMin = 0.;
184192

185-
const float kMaxAmpV0A = 100.;
186193
const int kReqMatchMIDTracks = 2;
187194
const int kReqMatchMFTTracks = 2;
188195
const int kMaxChi2MFTMatch = 30;
@@ -224,6 +231,13 @@ struct FwdMuonsUpc {
224231
Configurable<float> lowRapidity{"lowRapidity", -4.5, "Low rapidity cut"};
225232
Configurable<float> highRapidity{"highRapidity", -2., "High rapidity cut"};
226233

234+
// cuts on pDCA
235+
Configurable<float> pDCA1{"pDCA1", 200., "pDCA cut for tracks with rAbs < 26.5 cm"};
236+
Configurable<float> pDCA2{"pDCA2", 200., "pDCA cut for tracks with rAbs > 26.5 cm"};
237+
238+
// cut on V0A amplitude
239+
Configurable<float> maxAmpV0A{"maxAmpV0A", 100., "Max amplitude in V0A"};
240+
227241
// my track type
228242
// 0 = MCH-MID-MFT
229243
// 1 = MCH-MID
@@ -350,7 +364,7 @@ struct FwdMuonsUpc {
350364
std::array<float, 3> trackMomentum{fwdTrack.px(), fwdTrack.py(), fwdTrack.pz()};
351365
float eta = RecoDecay::eta(trackMomentum);
352366
float pt = RecoDecay::pt(trackMomentum);
353-
float pDcaMax = rAbs < kRAbsMid ? kPDca1 : kPDca2;
367+
float pDcaMax = rAbs < kRAbsMid ? pDCA1 : pDCA2;
354368

355369
if (eta < kEtaMin || eta > kEtaMax)
356370
return false;
@@ -402,7 +416,7 @@ struct FwdMuonsUpc {
402416
const auto& ampsRelBCsV0A = cand.ampRelBCsV0A();
403417
for (unsigned int i = 0; i < ampsV0A.size(); ++i) {
404418
if (std::abs(ampsRelBCsV0A[i]) <= 1) {
405-
if (ampsV0A[i] > kMaxAmpV0A)
419+
if (ampsV0A[i] > maxAmpV0A)
406420
return;
407421
}
408422
}
@@ -516,14 +530,16 @@ struct FwdMuonsUpc {
516530
phiAverage, phiCharge,
517531
p1.E(), p1.Px(), p1.Py(), p1.Pz(), p1.Pt(), p1.Eta(), p1.Phi(), static_cast<int>(myTrackType),
518532
p2.E(), p2.Px(), p2.Py(), p2.Pz(), p2.Pt(), p2.Eta(), p2.Phi(), static_cast<int>(myTrackType),
519-
zdc.timeA, zdc.enA, zdc.timeC, zdc.enC, znClass);
533+
zdc.timeA, zdc.enA, zdc.timeC, zdc.enC, znClass,
534+
tr1.pDca(), tr2.pDca(), ampsV0A);
520535
} else {
521536
dimuSel(cand.runNumber(),
522537
p.M(), p.E(), p.Px(), p.Py(), p.Pz(), p.Pt(), p.Rapidity(), p.Phi(),
523538
phiAverage, phiCharge,
524539
p2.E(), p2.Px(), p2.Py(), p2.Pz(), p2.Pt(), p2.Eta(), p2.Phi(), static_cast<int>(myTrackType),
525540
p1.E(), p1.Px(), p1.Py(), p1.Pz(), p1.Pt(), p1.Eta(), p1.Phi(), static_cast<int>(myTrackType),
526-
zdc.timeA, zdc.enA, zdc.timeC, zdc.enC, znClass);
541+
zdc.timeA, zdc.enA, zdc.timeC, zdc.enC, znClass,
542+
tr2.pDca(), tr1.pDca(), ampsV0A);
527543
}
528544
}
529545

@@ -605,7 +621,7 @@ struct FwdMuonsUpc {
605621
const auto& ampsRelBCsV0A = cand.ampRelBCsV0A();
606622
for (unsigned int i = 0; i < ampsV0A.size(); ++i) {
607623
if (std::abs(ampsRelBCsV0A[i]) <= 1) {
608-
if (ampsV0A[i] > kMaxAmpV0A)
624+
if (ampsV0A[i] > maxAmpV0A)
609625
return;
610626
}
611627
}
@@ -706,7 +722,8 @@ struct FwdMuonsUpc {
706722
// gen info
707723
pMc.Pt(), pMc.Rapidity(), pMc.Phi(),
708724
p1Mc.Pt(), p1Mc.Eta(), p1Mc.Phi(),
709-
p2Mc.Pt(), p2Mc.Eta(), p2Mc.Phi());
725+
p2Mc.Pt(), p2Mc.Eta(), p2Mc.Phi(),
726+
tr1.pDca(), tr2.pDca(), ampsV0A);
710727
} else {
711728
dimuReco(cand.runNumber(),
712729
p.M(), p.Pt(), p.Rapidity(), p.Phi(),
@@ -716,7 +733,8 @@ struct FwdMuonsUpc {
716733
// gen info
717734
pMc.Pt(), pMc.Rapidity(), pMc.Phi(),
718735
p2Mc.Pt(), p2Mc.Eta(), p2Mc.Phi(),
719-
p1Mc.Pt(), p1Mc.Eta(), p1Mc.Phi());
736+
p1Mc.Pt(), p1Mc.Eta(), p1Mc.Phi(),
737+
tr2.pDca(), tr1.pDca(), ampsV0A);
720738
}
721739
}
722740

0 commit comments

Comments
 (0)