Skip to content

Commit c223a47

Browse files
committed
Update ACTS clusterer
1 parent 310235e commit c223a47

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Layer.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,14 +287,15 @@ void OTOFLayer::createLayer(TGeoVolume* motherVolume)
287287
case kBarrelSegmented: {
288288
// First we create the volume for the whole layer, which will be used as mother volume for the segments
289289
const double avgRadius = 0.5 * (mInnerRadius + mOuterRadius);
290-
TGeoTube* layer = new TGeoTube(mInnerRadius, mOuterRadius, mZLength / 2);
290+
const double staveSizeX = mStaves.second; // cm
291+
const double staveSizeY = mOuterRadius - mInnerRadius; // cm
292+
const double staveSizeZ = mZLength; // cm
293+
const double deltaForTilt = 0.5 * (std::sin(TMath::DegToRad() * mTiltAngle) * staveSizeX + std::cos(TMath::DegToRad() * mTiltAngle) * staveSizeY); // we increase the size of the layer to account for the tilt of the staves
294+
TGeoTube* layer = new TGeoTube(mInnerRadius - deltaForTilt, mOuterRadius + deltaForTilt, mZLength / 2);
291295
TGeoVolume* layerVol = new TGeoVolume(mLayerName.c_str(), layer, medAir);
292296
setLayerStyle(layerVol);
293297

294298
// Now we create the volume for a single stave
295-
const double staveSizeX = mStaves.second; // cm
296-
const double staveSizeY = mOuterRadius - mInnerRadius; // cm
297-
const double staveSizeZ = mZLength; // cm
298299
TGeoBBox* stave = new TGeoBBox(staveSizeX * 0.5, staveSizeY * 0.5, staveSizeZ * 0.5);
299300
TGeoVolume* staveVol = new TGeoVolume(staveName, stave, medAir);
300301
setStaveStyle(staveVol);

Detectors/Upgrades/ALICE3/TRK/reconstruction/src/ClustererACTS.cxx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
using namespace o2::trk;
2323

24+
// Data formats for ACTS interface
2425
struct Cell2D {
2526
Cell2D(int rowv, int colv) : row(rowv), col(colv) {}
2627
int row, col;
@@ -196,6 +197,8 @@ void ClustererACTS::process(gsl::span<const Digit> digits,
196197
collection,
197198
Acts::Ccl::DefaultConnect<Cell, 2>(false));
198199

200+
LOG(debug) << "Clustering with ACTS, found " << collection.size() << " clusters in ROF " << iROF;
201+
199202
// Sort digit indices within this ROF by (chipID, col, row) so we can process
200203
// chip by chip, column by column -- the same ordering the ALPIDE scanner expects.
201204
mSortIdx.resize(nEntries);

Detectors/Upgrades/ALICE3/TRK/workflow/src/ClustererSpec.cxx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,12 @@ o2::framework::DataProcessorSpec getClustererSpec(bool useMC)
111111
inputs,
112112
outputs,
113113
o2::framework::AlgorithmSpec{o2::framework::adaptFromTask<o2::trk::ClustererDPL>(useMC)},
114-
o2::framework::Options{{"nthreads", o2::framework::VariantType::Int, 1, {"Number of clustering threads"}}}};
114+
o2::framework::Options{{"nthreads", o2::framework::VariantType::Int, 1, {"Number of clustering threads"}}
115+
#ifdef O2_WITH_ACTS
116+
,
117+
{"useACTS", o2::framework::VariantType::Bool, false, {"Use ACTS for clustering"}}
118+
#endif
119+
}};
115120
}
116121

117122
} // namespace o2::trk

0 commit comments

Comments
 (0)