Skip to content

Commit 2caae8b

Browse files
committed
Update fasttracker and mcharm histograms
1 parent c8101b8 commit 2caae8b

File tree

4 files changed

+58
-8
lines changed

4 files changed

+58
-8
lines changed

ALICE3/Core/FastTracker.cxx

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,34 @@ void FastTracker::AddSiliconALICE3v2(std::vector<float> pixelResolution)
144144
AddLayer("B10", 80., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
145145
}
146146

147+
void FastTracker::AddSiliconALICE3(std::vector<float> pixelResolution)
148+
{
149+
float x0IT = 0.001; // 0.1%
150+
float x0OT = 0.01; // 1.0%
151+
float xrhoIB = 2.3292e-02; // 100 mum Si
152+
float xrhoOT = 2.3292e-01; // 1000 mum Si
153+
float eff = 1.00;
154+
155+
float resRPhiIT = pixelResolution[0];
156+
float resZIT = pixelResolution[1];
157+
float resRPhiOT = pixelResolution[2];
158+
float resZOT = pixelResolution[3];
159+
160+
AddLayer("bpipe0", 0.48, 250, 0.00042, 2.772e-02, 0.0f, 0.0f, 0.0f, 0); // 150 mum Be
161+
AddLayer("B00", 0.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
162+
AddLayer("B01", 1.2, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
163+
AddLayer("B02", 2.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
164+
AddLayer("bpipe1", 3.7, 250, 0.0014, 9.24e-02, 0.0f, 0.0f, 0.0f, 0); // 500 mum Be
165+
AddLayer("B03", 7., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
166+
AddLayer("B04", 9., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
167+
AddLayer("B05", 12., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
168+
AddLayer("B06", 20., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
169+
AddLayer("B07", 30., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
170+
AddLayer("B08", 45., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
171+
AddLayer("B09", 60., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
172+
AddLayer("B10", 80., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
173+
}
174+
147175
void FastTracker::AddTPC(float phiResMean, float zResMean)
148176
{
149177
LOG(info) << " Adding standard time projection chamber";
@@ -307,7 +335,7 @@ int FastTracker::FastTrack(o2::track::TrackParCov inputTrack, o2::track::TrackPa
307335
break;
308336
}
309337
}
310-
if (firstActiveLayer <= 0) {
338+
if (firstActiveLayer < 0) {
311339
LOG(fatal) << "No active layers found in FastTracker, check layer setup";
312340
return -2; // no active layers
313341
}

ALICE3/Core/FastTracker.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,11 @@ class FastTracker
4242
// Layer and layer configuration
4343
void AddLayer(TString name, float r, float z, float x0, float xrho, float resRPhi = 0.0f, float resZ = 0.0f, float eff = 0.0f, int type = 0);
4444
DetLayer GetLayer(const int layer, bool ignoreBarrelLayers = true) const;
45+
std::vector<DetLayer> GetLayers() const { return layers; }
4546
int GetLayerIndex(const std::string& name) const;
4647
size_t GetNLayers() const { return layers.size(); }
4748
bool IsLayerInert(const int layer) const { return layers[layer].isInert(); }
49+
void ClearLayers() { layers.clear(); }
4850
void SetRadiationLength(const std::string layerName, float x0) { layers[GetLayerIndex(layerName)].setRadiationLength(x0); }
4951
void SetRadius(const std::string layerName, float r) { layers[GetLayerIndex(layerName)].setRadius(r); }
5052
void SetResolutionRPhi(const std::string layerName, float resRPhi) { layers[GetLayerIndex(layerName)].setResolutionRPhi(resRPhi); }
@@ -57,6 +59,7 @@ class FastTracker
5759

5860
void AddSiliconALICE3v4(std::vector<float> pixelResolution);
5961
void AddSiliconALICE3v2(std::vector<float> pixelResolution);
62+
void AddSiliconALICE3(std::vector<float> pixelResolution);
6063
void AddTPC(float phiResMean, float zResMean);
6164

6265
void Print();

ALICE3/TableProducer/alice3-multicharmTable.cxx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ struct alice3multicharmTable {
161161
Partition<alice3tracks> tracksPiFromXiC =
162162
((aod::a3DecayMap::decayMap & trackSelectionPiFromXiC) == trackSelectionPiFromXiC) && aod::track::signed1Pt > 0.0f && 1.0f / nabs(aod::track::signed1Pt) > minPiCPt&& nabs(aod::track::dcaXY) > piFromXiC_dcaXYconstant + piFromXiC_dcaXYpTdep* nabs(aod::track::signed1Pt) && nabs(aod::track::dcaZ) > piFromXiC_dcaZconstant + piFromXiC_dcaZpTdep* nabs(aod::track::signed1Pt);
163163

164-
Partition<alice3tracks> tracksPiFromXiCC = ((aod::a3DecayMap::decayMap & trackSelectionPiFromXiCC) == trackSelectionPiFromXiCC) && aod::track::signed1Pt > 0.0f && 1.0f / nabs(aod::track::signed1Pt) > minPiCCPt&& nabs(aod::track::dcaXY) > piFromXiCC_dcaXYconstant + piFromXiCC_dcaXYpTdep* nabs(aod::track::signed1Pt);
164+
Partition<alice3tracks> tracksPiFromXiCC =
165+
((aod::a3DecayMap::decayMap & trackSelectionPiFromXiCC) == trackSelectionPiFromXiCC) && aod::track::signed1Pt > 0.0f && 1.0f / nabs(aod::track::signed1Pt) > minPiCCPt&& nabs(aod::track::dcaXY) > piFromXiCC_dcaXYconstant + piFromXiCC_dcaXYpTdep* nabs(aod::track::signed1Pt) && nabs(aod::track::dcaZ) > piFromXiCC_dcaZconstant + piFromXiCC_dcaZpTdep* nabs(aod::track::signed1Pt);
165166

166167
// Helper struct to pass candidate information
167168
struct {
@@ -440,6 +441,13 @@ struct alice3multicharmTable {
440441
histos.add("hPi2cPt", "hPi2cPt", kTH1D, {axisPt});
441442
histos.add("hPiccPt", "hPiccPt", kTH1D, {axisPt});
442443

444+
histos.add("hPi1cDCAxy", "hPi1cDCAxy", kTH1D, {axisDCA});
445+
histos.add("hPi1cDCAz", "hPi1cDCAz", kTH1D, {axisDCA});
446+
histos.add("hPi2cDCAxy", "hPi2cDCAxy", kTH1D, {axisDCA});
447+
histos.add("hPi2cDCAz", "hPi2cDCAz", kTH1D, {axisDCA});
448+
histos.add("hPiccDCAxy", "hPiccDCAxy", kTH1D, {axisDCA});
449+
histos.add("hPiccDCAz", "hPiccDCAz", kTH1D, {axisDCA});
450+
443451
histos.add("hMinXiDecayRadius", "hMinXiDecayRadius", kTH1D, {axisRadius2DXi});
444452
histos.add("hMinXiCDecayRadius", "hMinXiCDecayRadius", kTH1D, {axisRadius});
445453
histos.add("hMinXiCCDecayRadius", "hMinXiCCDecayRadius", kTH1D, {axisRadius});
@@ -774,6 +782,13 @@ struct alice3multicharmTable {
774782
piFromLa.pt(), piFromLa.eta(),
775783
piFromLa.dcaXY(), piFromLa.dcaZ(),
776784
pi1c.eta(), pi2c.eta(), picc.eta());
785+
786+
histos.fill(HIST("hPi1cDCAxy"), std::abs(pi1c.dcaXY() * 1e+4));
787+
histos.fill(HIST("hPi1cDCAz"), std::abs(pi1c.dcaZ() * 1e+4));
788+
histos.fill(HIST("hPi2cDCAxy"), std::abs(pi2c.dcaXY() * 1e+4));
789+
histos.fill(HIST("hPi2cDCAz"), std::abs(pi2c.dcaZ() * 1e+4));
790+
histos.fill(HIST("hPiccDCAxy"), std::abs(picc.dcaXY() * 1e+4));
791+
histos.fill(HIST("hPiccDCAz"), std::abs(picc.dcaZ() * 1e+4));
777792
}
778793
}
779794
histos.fill(HIST("hCombinationsXiCC"), nCombinationsCC);

ALICE3/Tasks/alice3-multicharm.cxx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@ struct alice3multicharm {
157157
histos.add("SelectionQA/hPi2cPt", "hPi2cPt; Pi2c pT (Gev/#it(c))", kTH1D, {axisPt});
158158
histos.add("SelectionQA/hPiccPt", "hPiccPt; Picc pT (Gev/#it(c))", kTH1D, {axisPt});
159159

160+
histos.add("Debugging/hPi1cDCAz", "hPi1cDCAz", kTH1D, {axisDCA});
161+
histos.add("Debugging/hPi2cDCAz", "hPi1cDCAz", kTH1D, {axisDCA});
162+
histos.add("Debugging/hPiccDCAz", "hPi1cDCAz", kTH1D, {axisDCA});
163+
160164
auto hMCharmBuilding = histos.add<TH1>("hMCharmBuilding", "hMCharmBuilding", kTH1D, {{22, -0.5, 21.5}});
161165
hMCharmBuilding->GetXaxis()->SetBinLabel(1, "nTotalCandidates");
162166
hMCharmBuilding->GetXaxis()->SetBinLabel(2, "xicMaxDauDCA");
@@ -254,7 +258,7 @@ struct alice3multicharm {
254258
histos.add("hBDTScoreVsXiccMass", "hBDTScoreVsXiccMass", kTH2D, {axisXiccMass, axisBDTScore});
255259
histos.add("hBDTScoreVsXiccPt", "hBDTScoreVsXiccPt", kTH2D, {axisXiccMass, axisPt});
256260
for (const auto& score : bdt.requiredScores.value) {
257-
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(score * 100));
261+
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(score * 10000));
258262
histPointers.insert({histPath + "hDCAXicDaughters", histos.add((histPath + "hDCAXicDaughters").c_str(), "hDCAXicDaughters", {kTH1D, {{axisDcaDaughters}}})});
259263
histPointers.insert({histPath + "hDCAXiccDaughters", histos.add((histPath + "hDCAXiccDaughters").c_str(), "hDCAXiccDaughters", {kTH1D, {{axisDcaDaughters}}})});
260264
histPointers.insert({histPath + "hDCAxyXi", histos.add((histPath + "hDCAxyXi").c_str(), "hDCAxyXi", {kTH1D, {{axisDCA}}})});
@@ -327,7 +331,7 @@ struct alice3multicharm {
327331

328332
for (const auto& requiredScore : bdt.requiredScores.value) {
329333
if (bdtScore > requiredScore) {
330-
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(requiredScore * 100));
334+
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(requiredScore * 10000));
331335
getHist(TH1, histPath + "hDCAXicDaughters")->Fill(xiccCand.xicDauDCA() * 1e+4);
332336
getHist(TH1, histPath + "hDCAXiccDaughters")->Fill(xiccCand.xiccDauDCA() * 1e+4);
333337
getHist(TH1, histPath + "hDCAxyXi")->Fill(std::fabs(xiccCand.xiDCAxy() * 1e+4));
@@ -347,13 +351,13 @@ struct alice3multicharm {
347351
getHist(TH1, histPath + "hPi2cDCAz")->Fill(xiccCand.pi2cDCAz() * 1e+4);
348352
getHist(TH1, histPath + "hPiccDCAxy")->Fill(xiccCand.piccDCAxy() * 1e+4);
349353
getHist(TH1, histPath + "hPiccDCAz")->Fill(xiccCand.piccDCAz() * 1e+4);
350-
getHist(TH1, histPath + "hPi1cDCAz")->Fill(xiccCand.pi1cPt());
351-
getHist(TH1, histPath + "hPi2cDCAz")->Fill(xiccCand.pi2cPt());
352-
getHist(TH1, histPath + "hPiccDCAz")->Fill(xiccCand.piccPt());
354+
getHist(TH1, histPath + "hPi1cPt")->Fill(xiccCand.pi1cPt());
355+
getHist(TH1, histPath + "hPi2cPt")->Fill(xiccCand.pi2cPt());
356+
getHist(TH1, histPath + "hPiccPt")->Fill(xiccCand.piccPt());
353357
getHist(TH1, histPath + "hXiccMass")->Fill(xiccCand.xiccMass());
354358
getHist(TH1, histPath + "hXicMass")->Fill(xiccCand.xicMass());
355-
getHist(TH1, histPath + "hXiccPt")->Fill(xiccCand.xiccPt());
356359
getHist(TH1, histPath + "hXicPt")->Fill(xiccCand.xicPt());
360+
getHist(TH1, histPath + "hXiccPt")->Fill(xiccCand.xiccPt());
357361
getHist(TH3, histPath + "h3dXicc")->Fill(xiccCand.xiccPt(), xiccCand.xiccEta(), xiccCand.xiccMass());
358362
}
359363
}

0 commit comments

Comments
 (0)