Commit 2720b5ea authored by Valentina Akishina's avatar Valentina Akishina Committed by Sergey Gorbunov
Browse files

L1: corrections for mCBM setup

parent d46def34
......@@ -398,8 +398,10 @@ InitStatus CbmL1::Init()
}
}
NTrdStations = layerCounter;
NTrdStations = NTrdStations - 1;
}
// count ToF parameters
// if (fUseTOF) {
......@@ -429,7 +431,7 @@ InitStatus CbmL1::Init()
// }
// TODO: Read N TOF stations from geometry
if (fUseTOF) NTOFStation = 3; //fTofDigiBdfPar->GetNbTrackingStations();
if (fUseTOF) NTOFStation = 4; //fTofDigiBdfPar->GetNbTrackingStations();
CbmStsSetup* stsSetup = CbmStsSetup::Instance();
if (!stsSetup->IsInit()) { stsSetup->Init(nullptr); }
......@@ -607,7 +609,12 @@ InitStatus CbmL1::Init()
// Int_t nrModules = fTrdDigiPar->GetNrOfModules();
int ModuleId = fTrdDigiPar->GetModuleId(num);
int skip = 0;
if (num == 0) skip = 0;
if (num == 1) skip = 2;
if (num == 2) skip = 3;
int ModuleId = fTrdDigiPar->GetModuleId(skip);
CbmTrdParModDigi* module = (CbmTrdParModDigi*) fTrdDigiPar->GetModulePar(ModuleId);
......@@ -635,9 +642,10 @@ InitStatus CbmL1::Init()
geo.push_back(4);
if (ist == (NMvdStations + NStsStations + NTrdStations + NMuchStations + 0)) geo.push_back(247);
if (ist == (NMvdStations + NStsStations + NTrdStations + NMuchStations + 1)) geo.push_back(264);
if (ist == (NMvdStations + NStsStations + NTrdStations + NMuchStations + 2)) geo.push_back(280);
if (ist == (NMvdStations + NStsStations + NTrdStations + NMuchStations + 0)) geo.push_back(251);
if (ist == (NMvdStations + NStsStations + NTrdStations + NMuchStations + 1)) geo.push_back(270);
if (ist == (NMvdStations + NStsStations + NTrdStations + NMuchStations + 2)) geo.push_back(293);
if (ist == (NMvdStations + NStsStations + NTrdStations + NMuchStations + 3)) geo.push_back(310);
geo.push_back(10); /// TODO: add Tof width dz
geo.push_back(0);
......
......@@ -242,6 +242,7 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength,
for (Int_t iSt = 0; iSt < NTrdStations; iSt++) {
if (MC.z > sta[iSt].z[0] - 4.0) { MC.iStation = NMvdStations + NStsStations + NMuchStations + iSt; }
}
if (MC.iStation < 0) continue;
assert(MC.iStation >= 0);
Double_t dtrck = dFEI(iFile, iEvent, MC.ID);
DFEI2I::iterator trk_it = dFEI2vMCTracks.find(dtrck);
......@@ -321,7 +322,7 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength,
MC.iStation = -1;
L1Station* sta = algo->vStations + NMvdStations + NStsStations + NMuchStations + NTrdStations;
for (Int_t iSt = 0; iSt < NTOFStation; iSt++)
MC.iStation = (MC.z > sta[iSt].z[0] - 1.5)
MC.iStation = (MC.z > sta[iSt].z[0] - 6)
? (NMvdStations + NStsStations + NMuchStations + NTrdStations + iSt)
: MC.iStation;
......@@ -678,7 +679,16 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength,
th.id = tmpHits.size();
th.iStation = NMvdStations + mh->GetPlaneId() + NStsStations + NMuchStations;
int sta = mh->GetPlaneId();
if (sta > 1) sta = sta - 1;
th.iStation = NMvdStations + sta + NStsStations + NMuchStations;
// if (mh->GetPlaneId()==0) continue;
// if (mh->GetPlaneId()==1) continue;
// if (mh->GetPlaneId()==2) continue;
// if (mh->GetPlaneId()==3) continue;
th.time = mh->GetTime();
......@@ -778,12 +788,16 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength,
int sttof = -1;
if (fTofDigiBdfPar->GetTrackingStation(mh) == 0) sttof = 0;
if (fTofDigiBdfPar->GetTrackingStation(mh) == 1) sttof = 0;
if (fTofDigiBdfPar->GetTrackingStation(mh) == 2) sttof = 1;
if (fTofDigiBdfPar->GetTrackingStation(mh) == 3) sttof = 1;
if (fTofDigiBdfPar->GetTrackingStation(mh) == 4) sttof = 2;
if (fTofDigiBdfPar->GetTrackingStation(mh) == 5) sttof = 2;
sttof = fTofDigiBdfPar->GetTrackingStation(mh);
// if (fTofDigiBdfPar->GetTrackingStation(mh) == 0) sttof = 0;
// if (fTofDigiBdfPar->GetTrackingStation(mh) == 1) sttof = 0;
// if (fTofDigiBdfPar->GetTrackingStation(mh) == 2) sttof = 1;
// if (fTofDigiBdfPar->GetTrackingStation(mh) == 3) sttof = 1;
// if (fTofDigiBdfPar->GetTrackingStation(mh) == 4) sttof = 2;
// if (fTofDigiBdfPar->GetTrackingStation(mh) == 5) sttof = 2;
if ((th.x > 20) && (th.z > 270) && (fTofDigiBdfPar->GetTrackingStation(mh) == 1)) sttof = 2;
th.iStation = sttof + NMvdStations + NStsStations + NMuchStations + NTrdStations;
......@@ -811,6 +825,8 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength,
th.y = pos.Y();
th.z = pos.Z();
if (th.z > 400) continue;
L1Station& st = algo->vStations[th.iStation];
th.u_front = th.x * st.frontInfo.cos_phi[0] + th.y * st.frontInfo.sin_phi[0];
th.u_back = th.x * st.backInfo.cos_phi[0] + th.y * st.backInfo.sin_phi[0];
......
......@@ -476,7 +476,7 @@ inline void L1Algo::f20(
const fscal dY = ym[i1_4] - y[i1_4];
if (dY * dY > dy_est2 && dY < 0) continue;
if (dY * dY > dy_est2) continue;
// check x-boundaries
fvec x, C00;
......@@ -680,7 +680,7 @@ inline void L1Algo::f30( // input
if (fTrackingMode != kMcbm) fit.L1AddMaterial(T2, fRadThick[istam].GetRadThick(T2.x, T2.y), T2.qp, 1);
if (fTrackingMode == kGlobal || fTrackingMode == kMcbm)
fit.L1AddThickMaterial(T2, fRadThick[istam].GetRadThick(T2.x, T2.y), T2.qp, 1, stam.materialInfo.thick, 1);
fit.L1AddThickMaterial(T2, fRadThick[istam].GetRadThick(T2.x, T2.y), MaxInvMom, 1, stam.materialInfo.thick, 1);
#else
fit.L1AddMaterial(T2, stam.materialInfo, T2.qp, 1);
#endif
......@@ -2696,8 +2696,8 @@ inline void L1Algo::CAFindTrack(int ista, L1Branch& best_tr, unsigned char& best
Cty += new_trip.GetCty();
if (fTrackingMode == kGlobal || fTrackingMode == kMcbm) {
if (dty > 6 * Cty) continue;
if (dtx > 7 * Ctx) continue;
if (dty > 3 * Cty) continue;
if (dtx > 3 * Ctx) continue;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment