@@ -154,6 +154,7 @@ void TrackingStudySpec::updateTimeDependentParams(ProcessingContext& pc)
154154 initOnceDone = true ;
155155 auto grp = o2::base::GRPGeomHelper::instance ().getGRPECS ();
156156 mVertexer .init ();
157+ o2::its::GeometryTGeo::Instance ()->fillMatrixCache (o2::math_utils::bit2Mask (o2::math_utils::TransformType::T2L, o2::math_utils::TransformType::L2G, o2::math_utils::TransformType::T2G));
157158 }
158159}
159160
@@ -241,6 +242,9 @@ bool TrackingStudySpec::selectITSTrack(GTrackID trkID, o2::globaltracking::RecoC
241242 return false ;
242243 }
243244 }
245+ if (contributorsGID[GTrackID::TRD].isIndexSet ()) {
246+ // TODO
247+ }
244248 if (contributorsGID[GTrackID::TOF].isIndexSet ()) {
245249 const auto & tofLbls = recoData.getTOFClustersMCLabels ()->getLabels (contributorsGID[GTrackID::TOF]);
246250 for (const auto & lbl : tofLbls) {
@@ -541,7 +545,6 @@ void TrackingStudySpec::doPullStudy(o2::globaltracking::RecoContainer& recoData)
541545 int nPulls{0 }, nPullsFail{0 };
542546 auto prop = o2::base::Propagator::Instance ();
543547 const auto & conf = ITS3TrackingStudyParam::Instance ();
544- const auto geomITS = o2::its::GeometryTGeo::Instance ();
545548 auto pvvec = recoData.getPrimaryVertices ();
546549 auto t2v = buildT2V (recoData, true , true );
547550
@@ -581,12 +584,12 @@ void TrackingStudySpec::doPullStudy(o2::globaltracking::RecoContainer& recoData)
581584 clArr[0 ].setSigmaZ2 (pv.getSigmaZ2 ());
582585 clAlpha[0 ] = trkPV.getAlpha ();
583586 for (int icl = 0 ; icl < ncl; ++icl) { // ITS clusters are referred in layer decreasing order
584- clArr[icl + 1 ] = itsClusters[itsTrackClusRefs[clEntry + ncl - icl]];
585- clAlpha[icl + 1 ] = geomITS ->getSensorRefAlpha (clArr[icl + 1 ].getSensorID ());
587+ clArr[ncl - icl ] = itsClusters[itsTrackClusRefs[clEntry + icl]];
588+ clAlpha[ncl - icl ] = o2::its::GeometryTGeo::Instance () ->getSensorRefAlpha (clArr[ncl - icl ].getSensorID ());
586589 }
587590 // start refit
588591 trFit = trkOut;
589- trFit.resetCovariance (10000 );
592+ trFit.resetCovariance (1'000 );
590593 float chi2{0 };
591594 for (int icl = ncl; icl >= 0 ; --icl) { // go backwards
592595 if (!trFit.rotate (clAlpha[icl]) || !prop->propagateToX (trFit, clArr[icl].getX (), prop->getNominalBz (), 0.85 , 2.0 , matCorr)) {
@@ -599,7 +602,8 @@ void TrackingStudySpec::doPullStudy(o2::globaltracking::RecoContainer& recoData)
599602 return false ;
600603 }
601604 }
602- return chi2 < conf.maxChi2 ;
605+ // chi2 < conf.maxChi2; should I cut here?
606+ return true ;
603607 };
604608
605609 auto checkInTrack = [&](GTrackID trkID) {
@@ -674,7 +678,6 @@ void TrackingStudySpec::doMCStudy(o2::globaltracking::RecoContainer& recoData)
674678 sw.Start ();
675679 int nTracks{0 };
676680
677- const auto geom = o2::its::GeometryTGeo::Instance ();
678681 const int iSrc{0 };
679682 const int nev = mcReader.getNEvents (iSrc);
680683 std::unordered_map<o2::MCCompLabel, ParticleInfoExt> info;
@@ -710,7 +713,7 @@ void TrackingStudySpec::doMCStudy(o2::globaltracking::RecoContainer& recoData)
710713 bool fake = false ;
711714 lab.get (trackID, evID, srcID, fake);
712715 auto & cluster = clusters[iCluster];
713- auto layer = geom ->getLayer (cluster.getSensorID ());
716+ auto layer = o2::its::GeometryTGeo::Instance () ->getLayer (cluster.getSensorID ());
714717 auto & part = info[{trackID, evID, srcID}];
715718 part.clusters |= (1 << layer);
716719 if (fake) {
0 commit comments