Skip to content

Commit 7783799

Browse files
committed
ITS3: Digitizer flip row for IB for APTS
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent 7509845 commit 7783799

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

Detectors/Upgrades/ITS3/simulation/include/ITS3Simulation/Digitizer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ class Digitizer : public TObject
110110

111111
o2::itsmft::AlpideSimResponse* mSimRespIB = nullptr; // simulated response for IB
112112
o2::itsmft::AlpideSimResponse* mSimRespOB = nullptr; // simulated response for OB
113+
bool mSimRespIBOrientation{false}; // wether the orientation in the IB response function is flipped
113114
float mSimRespIBShift{0.f}; // adjusting the Y-shift in the IB response function to match sensor local coord.
114115
float mSimRespIBScaleX{1.f}; // scale x-local coordinate to response function x-coordinate
115116
float mSimRespIBScaleZ{1.f}; // scale z-local coordinate to response function z-coordinate

Detectors/Upgrades/ITS3/simulation/src/Digitizer.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,11 @@ void Digitizer::init()
7171
constexpr const char* responseFileIB = "$(O2_ROOT)/share/Detectors/Upgrades/ITS3/data/ITS3ChipResponseData/APTSResponseData.root";
7272
constexpr const char* responseFileOB = "$(O2_ROOT)/share/Detectors/ITSMFT/data/AlpideResponseData/AlpideResponseData.root";
7373
loadSetResponseFunc("APTS", responseFileIB, "response1", responseFileOB, "response1");
74-
mSimRespIBShift = mSimRespIB->getDepthMax() - 6.5e-4f;
74+
mSimRespIBShift = mSimRespIB->getDepthMax() + (float)constants::pixelarray::pixels::apts::responseYShift;
7575
mSimRespOBShift = mSimRespOB->getDepthMax() - SegmentationAlpide::SensorLayerThickness / 2.f;
76-
mSimRespIBScaleX = 0.5 * constants::pixelarray::pixels::apts::pitchX / SegmentationMosaix::PitchRow;
77-
mSimRespIBScaleZ = 0.5 * constants::pixelarray::pixels::apts::pitchZ / SegmentationMosaix::PitchCol;
76+
mSimRespIBScaleX = 0.5f * constants::pixelarray::pixels::apts::pitchX / SegmentationMosaix::PitchRow;
77+
mSimRespIBScaleZ = 0.5f * constants::pixelarray::pixels::apts::pitchZ / SegmentationMosaix::PitchCol;
78+
mSimRespIBOrientation = true;
7879
} else {
7980
LOGP(fatal, "ResponseFunction '{}' not implemented!", func);
8081
}
@@ -401,7 +402,7 @@ void Digitizer::processHit(const o2::itsmft::Hit& hit, uint32_t& maxFr, int evID
401402
if (colDest < 0 || colDest >= colSpan) {
402403
continue;
403404
}
404-
respMatrix[rowDest][colDest] += rspmat->getValue(irow, icol, flipRow, flipCol);
405+
respMatrix[rowDest][colDest] += rspmat->getValue(irow, icol, ((innerBarrel && mSimRespIBOrientation) ? !flipRow : flipRow), flipCol);
405406
}
406407
}
407408
}

0 commit comments

Comments
 (0)