Skip to content

Commit a588b8c

Browse files
committed
Fixes
1 parent 73230e7 commit a588b8c

2 files changed

Lines changed: 26 additions & 19 deletions

File tree

‎ALICE3/Core/FlatLutEntry.cxx‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,8 @@ float map_t::fracPositionWithinBin(float val) const
6868
const int bin = find(val);
6969
if (log) {
7070
return ((std::log10(val) - min) / width) - bin;
71-
} else {
72-
return val / width - bin;
7371
}
72+
return val / width - bin;
7473
}
7574

7675
int map_t::find(float val) const
@@ -156,12 +155,12 @@ lutEntry_t* FlatLutData::getEntry(int nch_bin, int rad_bin, int eta_bin, int pt_
156155

157156
const lutHeader_t& FlatLutData::getHeaderRef() const
158157
{
159-
return *reinterpret_cast<const lutHeader_t*>(mDataRef.data());
158+
return *static_cast<const lutHeader_t*>(static_cast<const void*>(mDataRef.data()));
160159
}
161160

162161
lutHeader_t& FlatLutData::getHeader()
163162
{
164-
return *reinterpret_cast<lutHeader_t*>(mData.data());
163+
return *static_cast<lutHeader_t*>(static_cast<void*>(mData.data()));
165164
}
166165

167166
void FlatLutData::updateRef()
@@ -221,7 +220,7 @@ lutHeader_t FlatLutData::previewHeader(const uint8_t* buffer, size_t size)
221220
if (size < sizeof(lutHeader_t)) {
222221
throw framework::runtime_error_f("Buffer too small for LUT header: expected at least %zu, got %zu", sizeof(lutHeader_t), size);
223222
}
224-
const auto* header = reinterpret_cast<const lutHeader_t*>(buffer);
223+
const auto* header = static_cast<const lutHeader_t*>(static_cast<const void*>(buffer));
225224
if (!header->checkVersion()) {
226225
throw framework::runtime_error_f("LUT header version mismatch: expected %d, got %d", LUTCOVM_VERSION, header->version);
227226
}

‎ALICE3/TableProducer/OTF/onTheFlyTofPid.cxx‎

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,6 @@ struct OnTheFlyTofPid {
228228
pRandomNumberGenerator.SetSeed(0); // fully randomize
229229
if (simConfig.flagTOFLoadDelphesLUTs) {
230230
for (int icfg = 0; icfg < nGeometries; ++icfg) {
231-
const std::string histPath = "Configuration_" + std::to_string(icfg) + "/";
232231
mSmearer.emplace_back(std::make_unique<o2::fastsim::TrackSmearer>());
233232
mSmearer[icfg]->setCcdbManager(ccdb.operator->());
234233
std::map<std::string, std::string> globalConfiguration = mGeoContainer.getConfiguration(icfg, "global");
@@ -392,8 +391,13 @@ struct OnTheFlyTofPid {
392391
delete hHitMapInPixelBefore;
393392
}
394393

395-
TOFLayerEfficiency(float r, float l, std::array<float, 2> pDimensions, float fIA, float m)
396-
: layerRadius(r), layerLength(l), pixelDimensionZ(pDimensions[0]), pixelDimensionRPhi(pDimensions[1]), fractionInactive(fIA), magField(m), axisZ(new TAxis(static_cast<int>(layerLength / pixelDimensionZ), -layerLength / 2, layerLength))
394+
TOFLayerEfficiency(float r, float l, std::array<float, 2> pDimensions, float fIA, float m) : layerRadius(r),
395+
layerLength(l),
396+
pixelDimensionZ(pDimensions[0]),
397+
pixelDimensionRPhi(pDimensions[1]),
398+
fractionInactive(fIA),
399+
magField(m),
400+
axisZ(new TAxis(static_cast<int>(layerLength / pixelDimensionZ), -layerLength / 2, layerLength))
397401
{
398402
// Assuming square pixels for simplicity
399403
const float circumference = o2::constants::math::TwoPI * layerRadius;
@@ -466,18 +470,22 @@ struct OnTheFlyTofPid {
466470
// LOG(warning) << "Local hit difference in z is bigger than the pixel size";
467471
}
468472
hHitMapInPixelBefore->Fill(localZ, localRPhi);
473+
enum PixelBin : int { kInactiveLeft = 0,
474+
kInactiveRight = 1,
475+
kInactiveBottom = 3,
476+
kInactiveTop = 4 };
469477
switch (axisInPixelRPhi->FindBin(localRPhi)) {
470-
case 0:
471-
case 1:
472-
case 3:
473-
case 4:
478+
case kInactiveLeft:
479+
case kInactiveRight:
480+
case kInactiveBottom:
481+
case kInactiveTop:
474482
return false;
475483
}
476484
switch (axisInPixelZ->FindBin(localZ)) {
477-
case 0:
478-
case 1:
479-
case 3:
480-
case 4:
485+
case kInactiveLeft:
486+
case kInactiveRight:
487+
case kInactiveBottom:
488+
case kInactiveTop:
481489
return false;
482490
}
483491
hHitMapInPixel->Fill(localZ, localRPhi);
@@ -809,7 +817,7 @@ struct OnTheFlyTofPid {
809817
static std::array<float, NParticles> expectedTimeInnerTOF, expectedTimeOuterTOF;
810818
static std::array<float, NParticles> deltaTimeInnerTOF, deltaTimeOuterTOF;
811819
static std::array<float, NParticles> nSigmaInnerTOF, nSigmaOuterTOF;
812-
float momentumHypotheses[NParticles]; // Store momentum hypothesis for each particle
820+
std::array<float, NParticles> momentumHypotheses; // Store momentum hypothesis for each particle
813821
auto truePdgInfo = pdg->GetParticle(mcParticle.pdgCode());
814822
float rigidity = momentum; // fallback to momentum if charge unknown
815823

@@ -866,8 +874,8 @@ struct OnTheFlyTofPid {
866874
double etaResolution = std::fabs(std::sin(2.0 * std::atan(std::exp(-pseudorapidity)))) * std::sqrt(trkWithTime.mPseudorapidity.second);
867875
if (simConfig.flagTOFLoadDelphesLUTs) {
868876
if (mSmearer[collision.lutConfigId()]->hasTable(Particles[ii].pdgCode)) { // Only if the LUT for this particle was loaded
869-
ptResolution = mSmearer[collision.lutConfigId()]->getAbsPtRes(Particles[ii].pdgCode, dNdEta, pseudorapidity, transverseMomentum);
870-
etaResolution = mSmearer[collision.lutConfigId()]->getAbsEtaRes(Particles[ii].pdgCode, dNdEta, pseudorapidity, transverseMomentum);
877+
ptResolution = mSmearer[collision.lutConfigId()]->getAbsPtRes(Particles[ii].pdgCode, pseudorapidity, dNdEta, transverseMomentum);
878+
etaResolution = mSmearer[collision.lutConfigId()]->getAbsEtaRes(Particles[ii].pdgCode, pseudorapidity, dNdEta, transverseMomentum);
871879
}
872880
}
873881
const float innerTrackTimeReso = calculateTrackTimeResolutionAdvanced(transverseMomentum, pseudorapidity, ptResolution, etaResolution, Particles[ii].mass, simConfig.innerTOFRadius, mMagneticField);

0 commit comments

Comments
 (0)