101 memset(
mX, 0,
mNBook *
sizeof(
float));
102 memset(
mY, 0,
mNBook *
sizeof(
float));
103 memset(
mZ, 0,
mNBook *
sizeof(
float));
143 bool lab = opts.Contains(
"l");
145 printf(
"%5sTr.",
isCosmic() ?
"Cosm." :
"Coll.");
147 printf(
"Run:%6d Bz:%+4.1f Np: %3d q/Pt:%+.4f | Chi2: Ini: %6.1f LinSol:%6.1f Kalm:%6.1f |Vtx:%3s\n",
149 if (opts.Contains(
"r")) {
150 bool ers = opts.Contains(
"e");
151 printf(
"%5s %7s %s %7s %7s %7s %5s %5s %9s %9s",
152 " VID ",
" Label ",
" Alp ",
" X ",
" Y ",
" Z ",
" Snp ",
" Tgl ",
" DY ",
" DZ ");
154 printf(
" %8s %8s %8s",
" pSgYY ",
" pSgYZ ",
" pSgZZ ");
157 printf(
" %9s %9s",
" DYK ",
" DZK ");
159 printf(
" %8s %8s %8s",
" tSgYY ",
" tSgYZ ",
" tSgZZ ");
170 printf(
"%5d %7d %+5.2f %+7.2f %+7.2f %+7.2f %+5.2f %+5.2f %+9.2e %+9.2e",
203 mQ2Pt = trc.getQ2Pt();
207 for (
int i = 0;
i < np;
i++) {
210 if (!pnt->containsMeasurement()) {
213 if (!pnt->isStatOK()) {
214 pnt->incrementStat();
216 mVolID[nfill] = pnt->getVolID();
217 mLabel[nfill] = pnt->getSensor()->getInternalID();
218 mAlpha[nfill] = pnt->getAlphaSens();
219 mX[nfill] = pnt->getXTracking();
220 mY[nfill] = pnt->getYTracking();
221 mZ[nfill] = pnt->getZTracking();
222 mDY[nfill] = pnt->getResidY();
223 mDZ[nfill] = pnt->getResidZ();
224 mSigY2[nfill] = pnt->getYZErrTracking()[0];
225 mSigYZ[nfill] = pnt->getYZErrTracking()[1];
226 mSigZ2[nfill] = pnt->getYZErrTracking()[2];
235 LOG(fatal) << nfill <<
" residuals were stored instead of " << nps;
241 for (
int i = 0;
i < np;
i++) {
247 LOG(fatal) <<
"Mismatch in Kalman filling for point " <<
i <<
": filled VID:" <<
mVolID[nfilk] <<
", point VID:" << pnt->
getVolID();
End-chain alignment volume in detector branch, where the actual measurement is done.
Meausered point in the sensor.
Track model for the alignment.
Container for control residuals.
uint32_t getVolID() const
double * getTrParamWSA() const
bool containsMeasurement() const
AlignmentPoint * getPoint(int i)
const AlignmentPoint * getInnerPoint() const
void Print(Option_t *opt="") const final
double getChi2Ini() const
bool getKalmanDone() const
void setHasVertex(bool v=true)
o2::dataformats::GlobalTrackID mTrackID
float getYLab(int i) const
float getXLab(int i) const
void print(const Option_t *opt="re") const
void setKalmanDone(bool v=true)
void setCosmic(bool v=true)
float getZLab(int i) const
bool fillTrack(AlignmentTrack &trc, bool doKalman=kTRUE)
GLdouble GLdouble GLdouble z
void align(gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"