You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d82a9c3
Browse filesBrowse the repository at this point in the historyBrowse files
Support per-layer ITS clusters in barrel-alignment-workflow
Cluster-overlap bookkeeping in AlignableDetectorITS moves to a per-layer
ROF loop; this is the natural granularity anyway since row-side chip
overlaps are always within a single layer.
Note: this whole module will be superseded by the new MP-2 based package.
auto dataRequest = std::make_shared<DataRequest>();
364
+
dataRequest->setITSPerLayer(itsStag);
364
365
bool loadTPCCalib = false;
365
366
Options opts{
366
367
ConfigParamSpec{"apply-xor", o2::framework::VariantType::Bool, false, {"flip the 8-th bit of slope and position (for processing TRD CTFs from 2021 pilot beam)"}},
int drow = row < o2::itsmft::SegmentationAlpide::NRows / 2 ? row : o2::itsmft::SegmentationAlpide::NRows - row - 1; // distance to the edge
303
-
if (drow * o2::itsmft::SegmentationAlpide::PitchRow < algConf.ITSOverlapMargin) { // rough check is passed, check if the edge cluster is indeed good
304
-
cl3d.setBit(row < o2::itsmft::SegmentationAlpide::NRows / 2 ? EdgeFlags::LowRow : EdgeFlags::HighRow); // flag that this is an edge cluster and indicate the low/high row side
305
-
// check if it is not too close to the edge (to be biased)
306
-
if (algConf.ITSOverlapEdgeRows > 0) { // is there a restriction?
307
-
auto pattID = c.getPatternID();
308
-
drow = c.getRow();
309
-
if (pattID != itsmft::CompCluster::InvalidPatternID) {
310
-
if (!mITSDict->isGroup(pattID)) {
311
-
constauto& patt = mITSDict->getPattern(pattID); // reference pixel is min row/col corner
303
+
if (algConf.ITSOverlapMargin > 0) {
304
+
// fill chips overlaps info for clusters whose center is within of the algConf.ITSOverlapMargin distance from the chip min or max row edge
305
+
// but the pixel closest to this edge has distance of at least algConf.ITSOverlapEdgeRows from the edge
int drow = row < o2::itsmft::SegmentationAlpide::NRows / 2 ? row : o2::itsmft::SegmentationAlpide::NRows - row - 1; // distance to the edge
309
+
if (drow * o2::itsmft::SegmentationAlpide::PitchRow < algConf.ITSOverlapMargin) { // rough check is passed, check if the edge cluster is indeed good
310
+
cl3d.setBit(row < o2::itsmft::SegmentationAlpide::NRows / 2 ? EdgeFlags::LowRow : EdgeFlags::HighRow); // flag that this is an edge cluster and indicate the low/high row side
311
+
// check if it is not too close to the edge (to be biased)
312
+
if (algConf.ITSOverlapEdgeRows > 0) { // is there a restriction?
313
+
auto pattID = c.getPatternID();
314
+
drow = c.getRow();
315
+
if (pattID != itsmft::CompCluster::InvalidPatternID) {
316
+
if (!mITSDict->isGroup(pattID)) {
317
+
constauto& patt = mITSDict->getPattern(pattID); // reference pixel is min row/col corner
318
+
if (row > o2::itsmft::SegmentationAlpide::NRows / 2) {
0 commit comments