CbmRoot
|
#include <L1Algo.h>
Public Types | |
enum | { MaxNStations = 25 } |
enum | { multiCoeff = 1, coeff = 64 / 4, Portion = 1024 / coeff, MaxPortionDoublets = 10000 / 5 * 64 / 2 / coeff * 1, MaxPortionTriplets = 10000 * 5 * 64 / 2 / coeff * 1, MaxNPortion = 40 * coeff / multiCoeff, MaxArrSize } |
standard sizes of the arrays More... | |
Public Member Functions | |
L1Algo (int nThreads=1, int TypicalSize=200000) | |
L1Algo (const L1Algo &)=delete | |
L1Algo | operator= (const L1Algo &)=delete |
void | Init (const vector< fscal > &geo, const bool UseHitErrors, const bool mCBMmode) |
void | SetData (const vector< L1StsHit > &StsHits_, const vector< L1Strip > &StsStrips_, const vector< L1Strip > &StsStripsB_, const vector< fscal > &StsZPos_, const vector< unsigned char > &SFlag_, const vector< unsigned char > &SFlagB_, const THitI *StsHitsStartIndex_, const THitI *StsHitsStopIndex_) |
void | PrintHits () |
void | CATrackFinder () |
The main procedure - find tracks. More... | |
void | KFTrackFitter_simple () |
Track fitting procedures. More... | |
void | L1KFTrackFitter () |
void | L1KFTrackFitterMuch () |
void | SetNThreads (int n=1) |
--— Input data --— More... | |
const L1FieldValue & | GetVtxFieldValue () const |
const L1FieldRegion & | GetVtxFieldRegion () const |
void | GetHitCoor (const L1StsHit &_h, fscal &_x, fscal &_y, fscal &_z, const L1Station &sta) |
--— Hit-point-strips conversion routines ---— More... | |
void | dUdV_to_dY (const fvec &u, const fvec &v, fvec &_y, const L1Station &sta) |
void | dUdV_to_dX (const fvec &u, const fvec &v, fvec &_x, const L1Station &sta) |
void | dUdV_to_dXdY (const fvec &u, const fvec &v, fvec &_xy, const L1Station &sta) |
void | GetHitCoor (const L1StsHit &_h, fscal &_x, fscal &_y, char iS) |
void | StripsToCoor (const fscal &u, const fscal &v, fscal &x, fscal &y, const L1Station &sta) const |
void | StripsToCoor (const fscal &u, const fscal &v, fvec &x, fvec &y, const L1Station &sta) const |
convert strip positions to coordinates More... | |
void | StripsToCoor (const fvec &u, const fvec &v, fvec &x, fvec &y, const L1Station &sta) const |
L1HitPoint | CreateHitPoint (const L1StsHit &hit, char ista) |
full the hit point by hit information: takes hit as input (2 strips) and creates hit_point with all coordinates (x,y,z,u,v, n - event number); More... | |
void | CreateHitPoint (const L1StsHit &hit, char ista, L1HitPoint &point) |
hit and station number More... | |
int | PackIndex (const int &a, const int &b, const int &c) |
int | UnPackIndex (const int &i, int &a, int &b, int &c) |
__attribute__ ((always_inline)) static unsigned char GetFStation(unsigned char flag) | |
– Flags routines – More... | |
__attribute__ ((always_inline)) static bool GetFUsed(unsigned char flag) | |
Static Public Attributes | |
static const int | nTh = 1 |
static const int | nSta = 25 |
Private Types | |
enum | { kFastPrimIter, kAllPrimIter, kAllPrimJumpIter, kAllSecIter, kAllPrimEIter, kAllSecEIter, kFastPrimJumpIter, kFastPrimIter2, kAllSecJumpIter } |
enum | { fNFindIterations = 4 } |
Private Member Functions | |
void | CAFindTrack (int ista, L1Branch &best_tr, unsigned char &best_L, fscal &best_chi2, const L1Triplet *curr_trip, L1Branch &curr_tr, unsigned char &curr_L, fscal &curr_chi2, unsigned char min_best_l, L1Branch *new_tr) |
================================= FUNCTIONAL PART ================================= More... | |
void | BranchFitterFast (const L1Branch &t, L1TrackPar &T, const bool dir, const fvec qp0=0., const bool initParams=true) |
void | BranchFitter (const L1Branch &t, L1TrackPar &T, const bool dir, const fvec qp0=0., const bool initParams=true) |
Fit track. more precise than FitterFast. More... | |
void | FindMoreHits (L1Branch &t, L1TrackPar &T, const bool dir, const fvec qp0=0.0) |
fscal | BranchExtender (L1Branch &t) |
Try to extrapolate and find additional hits on other stations. More... | |
void | InvertCholetsky (fvec a[15]) |
--— Subroutines used by L1Algo::CAMergeClones() ---— More... | |
void | MultiplySS (fvec const C[15], fvec const V[15], fvec K[5][5]) |
void | MultiplyMS (fvec const C[5][5], fvec const V[15], fvec K[15]) |
void | MultiplySR (fvec const C[15], fvec const r_in[5], fvec r_out[5]) |
void | FilterTracks (fvec const r[5], fvec const C[15], fvec const m[5], fvec const V[15], fvec R[5], fvec W[15], fvec *chi2) |
void | CAMergeClones () |
__attribute__ ((always_inline)) void PackLocation(unsigned int &location | |
__attribute__ ((always_inline)) void UnPackStation(unsigned int &location | |
__attribute__ ((always_inline)) void UnPackThread(unsigned int &location | |
__attribute__ ((always_inline)) void UnPackTriplet(unsigned int &location | |
__attribute__ ((always_inline)) void SetFStation(unsigned char &flag | |
__attribute__ ((always_inline)) void SetFUsed(unsigned char &flag) | |
__attribute__ ((always_inline)) void SetFUnUsed(unsigned char &flag) | |
void | f10 (Tindex start_lh, Tindex n1_l, L1HitPoint *StsHits_l, fvec *u_front_l, fvec *u_back_l, fvec *zPos_l, THitI *hitsl, fvec *HitTime_l, fvec *HitTimeEr, fvec *Event_l, fvec *d_x, fvec *d_y, fvec *d_xy, fvec *d_u, fvec *d_v) |
Prepare the portion of left hits data. More... | |
void | f11 (int istal, int istam, Tindex n1_V, fvec *u_front_l, fvec *u_back_l, fvec *zPos_l, fvec *HitTime_l, fvec *HitTimeEr, L1TrackPar *T_1, L1FieldRegion *fld_1, fvec *d_x, fvec *d_y, fvec *d_xy, fvec *d_u, fvec *d_v) |
Get the field approximation. Add the target to parameters estimation. Propagate to middle station. More... | |
void | f20 (Tindex n1, L1Station &stam, L1HitPoint *vStsHits_m, L1TrackPar *T_1, THitI *hitsl_1, Tindex &n2, vector< THitI > &i1_2, vector< THitI > &hitsm_2, fvec *Event, vector< bool > &lmDuplets) |
Find the doublets. Reformat data in the portion of doublets. More... | |
void | f30 (L1HitPoint *vStsHits_r, L1Station &stam, L1Station &star, int istam, int istar, L1HitPoint *vStsHits_m, L1TrackPar *T_1, L1FieldRegion *fld_1, THitI *hitsl_1, Tindex n2, vector< THitI > &hitsm_2, vector< THitI > &i1_2, const vector< bool > &mrDuplets, Tindex &n3, nsL1::vector< L1TrackPar >::TSimd &T_3, vector< THitI > &hitsl_3, vector< THitI > &hitsm_3, vector< THitI > &hitsr_3, nsL1::vector< fvec >::TSimd &u_front_3, nsL1::vector< fvec >::TSimd &u_back_3, nsL1::vector< fvec >::TSimd &z_Pos_3, nsL1::vector< fvec >::TSimd &du_, nsL1::vector< fvec >::TSimd &dv_, nsL1::vector< fvec >::TSimd &timeR, nsL1::vector< fvec >::TSimd &timeER) |
void | f31 (Tindex n3_V, L1Station &star, nsL1::vector< fvec >::TSimd &u_front_3, nsL1::vector< fvec >::TSimd &u_back_3, nsL1::vector< fvec >::TSimd &z_Pos_3, nsL1::vector< fvec >::TSimd &du_, nsL1::vector< fvec >::TSimd &dv_, nsL1::vector< fvec >::TSimd &timeR, nsL1::vector< fvec >::TSimd &timeER, nsL1::vector< L1TrackPar >::TSimd &T_3) |
Add the right hits to parameters estimation. More... | |
void | f32 (Tindex n3, int istal, nsL1::vector< L1TrackPar >::TSimd &T_3, vector< THitI > &hitsl_3, vector< THitI > &hitsm_3, vector< THitI > &hitsr_3, int nIterations=0) |
Refit Triplets. More... | |
void | f4 (Tindex n3, int istal, int istam, int istar, nsL1::vector< L1TrackPar >::TSimd &T_3, vector< THitI > &hitsl_3, vector< THitI > &hitsm_3, vector< THitI > &hitsr_3, Tindex &nstaltriplets, vector< THitI > *hitsn_3=0, vector< THitI > *hitsr_5=0) |
Select triplets. Save them into vTriplets. More... | |
void | f5 (int *nlevel) |
Find neighbours of triplets. Calculate level of triplets. More... | |
void | DupletsStaPort (int istal, int istam, Tindex ip, vector< Tindex > &n_g, Tindex *portionStopIndex_, L1TrackPar *T_1, L1FieldRegion *fld_1, THitI *hitsl_1, vector< bool > &lmDuplets, Tindex &n_2, vector< THitI > &i1_2, vector< THitI > &hitsm_2) |
Find doublets on station. More... | |
void | TripletsStaPort (int istal, int istam, int istar, Tindex &nstaltriplets, L1TrackPar *T_1, L1FieldRegion *fld_1, THitI *hitsl_1, Tindex &n_2, vector< THitI > &i1_2, vector< THitI > &hitsm_2, const vector< bool > &mrDuplets) |
Find triplets on station. More... | |
void | GuessVec (L1TrackPar &t, fvec *xV, fvec *yV, fvec *zV, fvec *Sy, fvec *wV, int NHits, fvec *zCur=0) |
---— Subroutines used by L1Algo::KFTrackFitter() ---— More... | |
void | GuessVec (L1TrackParFit &t, fvec *xV, fvec *yV, fvec *zV, fvec *Sy, fvec *wV, int NHits, fvec *zCur=0, fvec *timeV=0, fvec *w_time=0) |
void | FilterFirst (L1TrackPar &track, fvec &x, fvec &y, L1Station &st) |
void | FilterFirst (L1TrackParFit &track, fvec &x, fvec &y, fvec &t, L1Station &st) |
void | FilterFirst (L1TrackParFit &track, fvec &x, fvec &y, fvec &t, fvec &t_er, L1Station &st) |
void | FilterFirst (L1TrackParFit &track, fvec &x, fvec &y, fvec &t, fvec &t_er, L1Station &st, fvec &dx, fvec &dy, fvec &dxy) |
void | FilterFirstL (L1TrackParFit &track, fvec &x, fvec &y, fvec &t, fvec &t_er, L1Station &st, fvec &dx, fvec &dy, fvec &dxy) |
Private Attributes | |
unsigned int & | triplet |
unsigned int unsigned int | iStation |
unsigned int unsigned int unsigned int & | thread |
unsigned int & | iStation |
unsigned int & | thread |
unsigned int | iStation |
Tindex | FIRSTCASTATION |
================================= DATA PART ================================= More... | |
map< int, int > | threadNumberToCpuMap |
float | TRACK_CHI2_CUT |
float | TRIPLET_CHI2_CUT |
float | DOUBLET_CHI2_CUT |
float | TIME_CUT1 |
float | TIME_CUT2 |
fvec | MaxDZ |
float | Pick_gather |
parameters which are different for different iterations. Set in the begin of CAL1TrackFinder More... | |
float | PickNeighbour |
fvec | MaxInvMom |
fvec | MaxSlope |
fvec | targX |
fvec | targY |
fvec | targZ |
L1FieldValue targB | _fvecalignment |
L1XYMeasurementInfo TargetXYInfo | _fvecalignment |
L1FieldRegion vtxFieldRegion | _fvecalignment |
L1FieldValue vtxFieldValue | _fvecalignment |
int | numPortions [12] |
vector< L1Triplet * > * | TripletsLocal [MaxNStations - 2] |
int | fTrackingLevel |
int | fGhostSuppression |
float | fMomentumCutOff |
Friends | |
class | CbmL1 |
--— Output data --— More... | |
anonymous enum |
|
private |
|
inline |
Definition at line 82 of file L1Algo.h.
References CandidatesTrack, du, dv, dx, dy, fhitsl_3, fhitsm_3, fhitsr_3, FirstHit, FirstHitIndex, fNThreads, fT_3, fTimeER, fTimeR, fu_back3, fu_front3, fvecLen, fz_pos3, i, LastHit, LastHitIndex, MaxNStations, MaxPortionTriplets, n_g1, Neighbour, NHitsIsecAll, NTracksIsecAll, nTripletsThread, numberCandidateThread, SavedCand, SavedHits, TrackChi2, TripForHit, TripletsLocal1, vGridTime, vRecoHits_local, and vTracks_local.
|
delete |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
References triplet.
Try to extrapolate and find additional hits on other stations.
Find additional hits for existing track return chi2
Definition at line 396 of file L1TrackExtender.cxx.
References BranchFitter(), BranchFitterFast(), L1TrackPar::chi2, FindMoreHits(), and L1TrackPar::qp.
Referenced by CATrackFinder().
|
private |
Fit track. more precise than FitterFast.
like BranchFitterFast but more precise
Definition at line 181 of file L1TrackExtender.cxx.
References BranchFitterFast(), i, and L1TrackPar::qp.
Referenced by BranchExtender().
|
private |
Fit track t - track with hits T - track params dir - 0 - forward, 1 - backward qp0 - momentum for extrapolation initialize - should be params ititialized. 1 - yes.
Definition at line 25 of file L1TrackExtender.cxx.
References _fvecalignment, L1StsHit::b, L1Station::backInfo, L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C10, L1XYMeasurementInfo::C10, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C20, L1TrackPar::C21, L1TrackPar::C22, L1TrackPar::C30, L1TrackPar::C31, L1TrackPar::C32, L1TrackPar::C33, L1TrackPar::C40, L1TrackPar::C41, L1TrackPar::C42, L1TrackPar::C43, L1TrackPar::C44, L1TrackPar::C50, L1TrackPar::C51, L1TrackPar::C52, L1TrackPar::C53, L1TrackPar::C54, L1TrackPar::C55, L1TrackPar::chi2, L1StsHit::du, L1StsHit::dv, L1StsHit::f, L1Station::fieldSlice, FilterTime(), L1Station::frontInfo, L1FieldSlice::GetFieldValue(), hits, i, L1StsHit::iz, L1_assert, L1AddMaterial(), L1AddPipeMaterial(), L1Extrapolate(), L1ExtrapolateLine(), L1ExtrapolateTime(), L1Filter(), L1Station::materialInfo, L1TrackPar::NDF, L1Branch::NHits, NMvdStations, L1TrackPar::qp, L1UMeasurementInfo::sigma2, StripsToCoor(), L1Branch::StsHits, L1TrackPar::t, L1StsHit::t_er, L1StsHit::t_reco, L1TrackPar::tx, L1TrackPar::ty, v, NS_L1TrackFitter::vINF, vSFlag, vStsZPos, L1TrackPar::x, x, L1Station::XYInfo, L1TrackPar::y, y, L1TrackPar::z, L1Station::z, and z1.
Referenced by BranchExtender(), and BranchFitter().
|
inlineprivate |
================================= FUNCTIONAL PART =================================
--— Subroutines used by L1Algo::CATrackFinder() ---—
Definition at line 2902 of file L1CATrackFinder.cxx.
References L1Triplet::Cqp, L1Triplet::Ctx, L1Triplet::Cty, f, fabs(), fGlobal, fmCBMmode, L1Triplet::GetFNeighbour(), L1Triplet::GetLevel(), L1Triplet::GetLHit(), L1Triplet::GetLSta(), L1Triplet::GetMHit(), L1Triplet::GetMSta(), L1Triplet::GetNNeighbours(), L1Triplet::GetQp(), L1Triplet::GetRHit(), L1Branch::NHits, PickNeighbour, L1Branch::StsHits, TRACK_CHI2_CUT, TripletsLocal1, L1Triplet::tx, L1Triplet::ty, vSFlag, vSFlagB, and vStsHitsUnused.
Referenced by CATrackFinder().
|
private |
Definition at line 255 of file L1CAMergeClones.cxx.
References _fvecalignment, L1TrackPar::C00, L1TrackPar::C10, L1TrackPar::C11, L1TrackPar::C20, L1TrackPar::C21, L1TrackPar::C22, L1TrackPar::C30, L1TrackPar::C31, L1TrackPar::C32, L1TrackPar::C33, L1TrackPar::C40, L1TrackPar::C41, L1TrackPar::C42, L1TrackPar::C43, L1TrackPar::C44, L1TrackPar::C55, fabs(), FilterTracks(), FirstHit, FirstHitIndex, L1Extrapolate(), L1KFTrackFitter(), LastHit, LastHitIndex, Neighbour, NHitsIsecAll, NStations, NTracksIsecAll, L1TrackPar::qp, sqrt(), L1TrackPar::t, TrackChi2, L1TrackPar::tx, L1TrackPar::ty, vRecoHits, vRecoHitsNew, vTracks, vTracksNew, L1TrackPar::x, L1TrackPar::y, and L1TrackPar::z.
Referenced by CATrackFinder().
void L1Algo::CATrackFinder | ( | ) |
The main procedure - find tracks.
array of hits used on current iteration
buffer for copy
array of info for hits used on current iteration
isec - number of current iterations, fNFindIterations - number of all iterations
coefficient for size of region for attach new hits to the created track
Set correction in order to take into account overlaping and iff z. The reason is that low momentum tracks are too curved and goes not from target direction. That's why sort by hit_y/hit_z is not work idealy If sort by y then it is max diff between same station's modules (~0.4cm)
possible left hits of triplets are splited in portions of 16 (4 SIMDs) to use memory faster
stage for triplets creation
middle hits indexed by number of doublets in portion(i2)
index in portion of singlets(i1) indexed by index in portion of doublets(i2)
middle hits indexed by number of doublets in portion(i2)
index in portion of singlets(i1) indexed by index in portion of doublets(i2)
number of doublets in portion
==================================================================== = = = Collect track candidates. CREATE TRACKS =
reqursive func to build a tree of possible track-candidates and choose the best
used strips are marked
used strips are marked
used strips are marked
Definition at line 1786 of file L1CATrackFinder.cxx.
References L1CATFIterTimerInfo::Add(), L1CATFTimerInfo::Add(), BranchExtender(), L1Grid::BuildBins(), CAFindTrack(), L1CATFTimerInfo::Calc(), CAMergeClones(), CandidatesTrack, L1Branch::CandIndex, CATime, L1Branch::chi2, L1Branch::compareCand(), CreateHitPoint(), DOUBLET_CHI2_CUT, DupletsStaPort(), fGhostSuppression, L1Station::fieldSlice, FIRSTCASTATION, fmCBMmode, fNFindIterations, fNThreads, L1Track::fTrackTime, fvecLen, L1Triplet::GetChi2(), L1FieldSlice::GetFieldValue(), L1Triplet::GetLevel(), L1Triplet::GetLHit(), L1Triplet::GetQpOrig(), L1CATFTimerInfo::GetTimerAll(), i, L1AlgoPulls::Init(), L1AlgoEfficiencyPerformance< NHits >::Init(), L1AlgoDraw::InitL1Draw(), isec, L1Branch::ista, kAllPrimEIter, kAllPrimIter, kAllPrimJumpIter, kAllSecEIter, kAllSecIter, kAllSecJumpIter, kFastPrimIter, kFastPrimIter2, kFastPrimJumpIter, L1_ASSERT, MaxDZ, MaxInvMom, MaxNStations, MaxSlope, n_g1, L1Track::NHits, L1Branch::NHits, NHitsIsecAll, NMvdStations, NStations, nTh, NTracksIsecAll, nTripletsThread, numberCandidateThread, Pick_gather, PickNeighbour, Portion, portionStopIndex, L1CATFIterTimerInfo::PrintReal(), L1CATFTimerInfo::PrintReal(), RealIHit_v, RealIHit_v_buf, RealIHitP, RealIHitPBuf, SavedCand, SavedHits, L1Branch::Set(), L1CATFTimerInfo::SetNIter(), sqrt(), L1Grid::StoreHits(), StripsToCoor(), L1Branch::StsHits, StsHitsStartIndex, StsHitsStopIndex, StsHitsUnusedStartIndex, StsHitsUnusedStopIndex, L1StsHit::t_reco, targX, targY, targZ, thread, TRIPLET_CHI2_CUT, TripletsLocal1, TripletsStaPort(), L1HitPoint::U(), L1Grid::UpdateIterGrid(), L1HitPoint::V(), vGridTime, vRecoHits, vRecoHits_local, vSFlag, vSFlagB, vStripToTrack, vStripToTrackB, vStsDontUsedHits_A, vStsDontUsedHits_B, vStsDontUsedHits_Buf, vStsDontUsedHitsxy_A, vStsDontUsedHitsxy_B, vStsHitPointsUnused, vStsHits, vStsHitsUnused, vStsStrips, vStsStripsB, vTracks, vTracks_local, and L1HitPoint::Z().
Referenced by CbmL1::Reconstruct().
L1HitPoint L1Algo::CreateHitPoint | ( | const L1StsHit & | hit, |
char | ista | ||
) |
full the hit point by hit information: takes hit as input (2 strips) and creates hit_point with all coordinates (x,y,z,u,v, n - event number);
hit and station number
Definition at line 318 of file L1Algo.cxx.
References L1StsHit::b, L1StsHit::du, L1StsHit::dv, L1StsHit::f, L1StsHit::iz, L1StsHit::t_er, L1StsHit::t_reco, and v.
Referenced by CATrackFinder().
void L1Algo::CreateHitPoint | ( | const L1StsHit & | hit, |
char | ista, | ||
L1HitPoint & | point | ||
) |
hit and station number
Definition at line 329 of file L1Algo.cxx.
References L1StsHit::b, L1StsHit::du, L1StsHit::dv, L1StsHit::f, L1Strip::f, L1StsHit::iz, L1HitPoint::Set(), L1StsHit::t_er, L1StsHit::t_reco, and v.
Definition at line 287 of file L1Algo.cxx.
References L1UMeasurementInfo::cos_phi, L1UMeasurementInfo::sin_phi, sqrt(), v, and L1Station::xInfo.
Definition at line 295 of file L1Algo.cxx.
References L1UMeasurementInfo::cos_phi, L1UMeasurementInfo::sin_phi, v, L1Station::xInfo, and L1Station::yInfo.
Referenced by f11().
Definition at line 279 of file L1Algo.cxx.
References L1UMeasurementInfo::cos_phi, L1UMeasurementInfo::sin_phi, sqrt(), v, and L1Station::yInfo.
|
inlineprivate |
Find doublets on station.
----------------— doublets on station -------------------—
prepare the portion of left hits data
Get the field approximation. Add the target to parameters estimation. Propagaete to middle station.
Find the doublets. Reformat data in the portion of doublets.
istal | creates duplets: input: @istal - start station number, @istam - last station number, @ip - index of portion, &n_g - number of elements in portion, @*portionStopIndex |
T_1 | output: |
fld_1 | @*T_1 - singlets perameters, @*fld_1 - field aproximation, @*hitsl_1- left hits of triplets, &lmDuplets - existance of a doublet starting from the left hit, |
hitsl_1 | &n_2 - number of douplets,&i1_2 - index of 1st hit in portion indexed by doublet index, &hitsm_2 - index of middle hit in hits array indexed by doublet index |
Definition at line 1445 of file L1CATrackFinder.cxx.
References f10(), f11(), f20(), fvecLen, i, L1_ASSERT, NStations, Portion, StsHitsUnusedStartIndex, and StsHitsUnusedStopIndex.
Referenced by CATrackFinder().
|
inlineprivate |
Prepare the portion of left hits data.
Prepare the portion of data of left hits of a triplet: all hits except the last and the second last station will be procesesed in the algorythm, the data is orginesed in order to be used by SIMD
Definition at line 73 of file L1CATrackFinder.cxx.
References L1HitPoint::dU(), L1HitPoint::dV(), fUseHitErrors, fvecLen, L1HitPoint::time, L1HitPoint::timeEr, L1HitPoint::U(), L1HitPoint::V(), and L1HitPoint::Z().
Referenced by DupletsStaPort().
|
inlineprivate |
Get the field approximation. Add the target to parameters estimation. Propagate to middle station.
Get the field approximation. Add the target to parameters estimation. Propagaete to the middle station of a triplet.
istal | input 1st stage of singlet search |
n1_V | indexes of left and middle stations of a triplet |
Definition at line 124 of file L1CATrackFinder.cxx.
References _fvecalignment, L1Station::backInfo, L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C10, L1XYMeasurementInfo::C10, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C20, L1TrackPar::C21, L1TrackPar::C22, L1TrackPar::C30, L1TrackPar::C31, L1TrackPar::C32, L1TrackPar::C33, L1TrackPar::C40, L1TrackPar::C41, L1TrackPar::C42, L1TrackPar::C43, L1TrackPar::C44, L1TrackPar::C50, L1TrackPar::C51, L1TrackPar::C52, L1TrackPar::C53, L1TrackPar::C54, L1TrackPar::C55, L1TrackPar::chi2, dUdV_to_dX(), dUdV_to_dXdY(), dUdV_to_dY(), f, fGlobal, L1Station::fieldSlice, FilterTime(), fmCBMmode, fRadThick, L1Station::frontInfo, fUseHitErrors, L1FieldSlice::GetFieldValue(), isec, kAllPrimEIter, kAllSecEIter, kAllSecIter, kAllSecJumpIter, L1AddMaterial(), L1AddPipeMaterial(), L1Extrapolate0(), L1ExtrapolateJXY0(), L1ExtrapolateLine(), L1ExtrapolateTime(), L1Filter(), L1FilterNoField(), L1FilterVtx(), L1FilterXY(), L1Station::materialInfo, MaxInvMom, MaxSlope, L1TrackPar::NDF, NFStations, NMvdStations, L1TrackPar::qp, L1FieldRegion::Set(), L1UMeasurementInfo::sigma2, StripsToCoor(), L1TrackPar::t, targX, targY, targZ, L1TrackPar::tx, L1TrackPar::ty, v, L1TrackPar::x, L1Station::XYInfo, L1TrackPar::y, L1TrackPar::z, and L1Station::z.
Referenced by DupletsStaPort().
|
inlineprivate |
Find the doublets. Reformat data in the portion of doublets.
Definition at line 435 of file L1CATrackFinder.cxx.
References L1Station::backInfo, L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C55, L1TrackPar::chi2, DOUBLET_CHI2_CUT, L1HitPoint::dU(), dUdV_to_dX(), dUdV_to_dY(), L1HitPoint::dV(), fabs(), FilterTime(), L1Station::frontInfo, fUseHitErrors, fvecLen, L1HitAreaTime::GetNext(), isec, L1ExtrapolateC10Line(), L1ExtrapolateTime(), L1ExtrapolateXC00Line(), L1ExtrapolateYC11Line(), L1FilterChi2(), L1FilterChi2XYC00C10C11(), MaxDZ, L1UMeasurementInfo::sigma2, sqrt(), StripsToCoor(), StsHitsUnusedStartIndex, L1TrackPar::t, L1HitPoint::time, L1HitPoint::timeEr, TripForHit, L1TrackPar::tx, L1TrackPar::ty, L1HitPoint::U(), L1HitPoint::V(), vGridTime, L1TrackPar::x, x, L1Station::XYInfo, L1TrackPar::y, y, L1TrackPar::z, and L1HitPoint::Z().
Referenced by DupletsStaPort().
|
inlineprivate |
Add the middle hits to parameters estimation. Propagate to right station. Find the triplets (right hit). Reformat data in the portion of triplets.
Add the middle hits to parameters estimation. Propagate to right station. Find the triplets(right hit). Reformat data in the portion of triplets.
Definition at line 609 of file L1CATrackFinder.cxx.
References L1Station::backInfo, L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C22, L1TrackPar::C33, L1TrackPar::C55, L1TrackPar::chi2, L1HitPoint::dU(), dUdV_to_dX(), dUdV_to_dY(), L1HitPoint::dV(), fabs(), fGlobal, FilterTime(), fmCBMmode, fRadThick, L1Station::frontInfo, fUseHitErrors, fvecLen, L1HitAreaTime::GetNext(), isec, kAllPrimEIter, kAllSecEIter, L1AddMaterial(), L1AddPipeMaterial(), L1Extrapolate(), L1ExtrapolateC10Line(), L1ExtrapolateLine(), L1ExtrapolateTime(), L1ExtrapolateXC00Line(), L1ExtrapolateYC11Line(), L1Filter(), L1FilterChi2(), L1FilterChi2XYC00C10C11(), L1FilterNoField(), L1Station::materialInfo, MaxDZ, NFStations, NMvdStations, NStations, L1TrackPar::qp, L1TrackPar::SetOneEntry(), L1FieldRegion::SetOneEntry(), L1UMeasurementInfo::sigma2, sqrt(), StripsToCoor(), L1TrackPar::t, L1HitPoint::time, L1HitPoint::timeEr, TRIPLET_CHI2_CUT, L1TrackPar::tx, L1TrackPar::ty, L1HitPoint::U(), L1HitPoint::V(), vGridTime, L1TrackPar::x, x, L1Station::XYInfo, L1TrackPar::y, y, L1TrackPar::z, L1Station::z, and L1HitPoint::Z().
Referenced by TripletsStaPort().
|
inlineprivate |
Add the right hits to parameters estimation.
Definition at line 950 of file L1CATrackFinder.cxx.
References L1Station::backInfo, fGlobal, FilterTime(), fmCBMmode, L1Station::frontInfo, fUseHitErrors, L1ExtrapolateLine(), L1ExtrapolateTime(), L1Filter(), L1FilterNoField(), NFStations, and L1UMeasurementInfo::sigma2.
Referenced by TripletsStaPort().
|
inlineprivate |
Refit Triplets.
Definition at line 1004 of file L1CATrackFinder.cxx.
References _fvecalignment, L1StsHit::b, L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C10, L1XYMeasurementInfo::C10, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C20, L1TrackPar::C21, L1TrackPar::C22, L1TrackPar::C30, L1TrackPar::C31, L1TrackPar::C32, L1TrackPar::C33, L1TrackPar::C40, L1TrackPar::C41, L1TrackPar::C42, L1TrackPar::C43, L1TrackPar::C44, L1TrackPar::chi2, L1StsHit::f, L1Station::fieldSlice, fRadThick, fvecLen, L1FieldSlice::GetFieldValue(), L1StsHit::iz, L1AddMaterial(), L1AddPipeMaterial(), L1Extrapolate(), L1Filter(), L1TrackPar::NDF, NMvdStations, L1TrackPar::qp, L1TrackPar::SetOneEntry(), StripsToCoor(), StsHitsUnusedStartIndex, L1TrackPar::tx, L1TrackPar::ty, v, NS_L1TrackFitter::vINF, L1TrackPar::x, x, L1Station::XYInfo, L1TrackPar::y, y, L1TrackPar::z, and L1Station::z.
|
inlineprivate |
Select triplets. Save them into vTriplets.
Definition at line 1173 of file L1CATrackFinder.cxx.
References L1TrackPar::C22, L1TrackPar::C33, L1TrackPar::C44, L1TrackPar::chi2, L1Triplet::Ctx, L1Triplet::Cty, fabs(), finite(), fvecLen, L1Triplet::GetFNeighbour(), L1Triplet::GetLevel(), L1Triplet::GetMHit(), isec, L1_ASSERT, MaxInvMom, NStations, nTripletsThread, L1TrackPar::qp, L1Triplet::Set(), L1Triplet::SetFNeighbour(), L1Triplet::SetLevel(), L1Triplet::SetNNeighbours(), sqrt(), StsHitsUnusedStartIndex, StsHitsUnusedStopIndex, L1TrackPar::t, TripForHit, TRIPLET_CHI2_CUT, TripletsLocal1, L1TrackPar::tx, L1Triplet::tx, L1TrackPar::ty, and L1Triplet::ty.
Referenced by TripletsStaPort().
|
inlineprivate |
Find neighbours of triplets. Calculate level of triplets.
Definition at line 1338 of file L1CATrackFinder.cxx.
References L1Triplet::Cqp, fabs(), FIRSTCASTATION, fNThreads, L1Triplet::GetLevel(), L1Triplet::GetLHit(), L1Triplet::GetMHit(), L1Triplet::GetMSta(), L1Triplet::GetQp(), L1Triplet::GetRHit(), L1Triplet::GetRSta(), isec, kAllPrimJumpIter, kAllSecJumpIter, kFastPrimJumpIter, L1_ASSERT, NStations, nTripletsThread, PickNeighbour, StsHitsUnusedStopIndex, TripForHit, triplet, and TripletsLocal1.
|
private |
Definition at line 1611 of file L1TrackFitter.cxx.
References L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C10, L1XYMeasurementInfo::C10, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C20, L1TrackPar::C21, L1TrackPar::C22, L1TrackPar::C30, L1TrackPar::C31, L1TrackPar::C32, L1TrackPar::C33, L1TrackPar::C40, L1TrackPar::C41, L1TrackPar::C42, L1TrackPar::C43, L1TrackPar::C44, L1TrackPar::chi2, L1TrackPar::NDF, NS_L1TrackFitter::ONE, NS_L1TrackFitter::vINF, L1TrackPar::x, x, L1Station::XYInfo, L1TrackPar::y, y, and NS_L1TrackFitter::ZERO.
|
private |
Definition at line 1712 of file L1TrackFitter.cxx.
References L1XYMeasurementInfo::C00, L1TrackParFit::C00, L1XYMeasurementInfo::C10, L1TrackParFit::C10, L1XYMeasurementInfo::C11, L1TrackParFit::C11, L1TrackParFit::C20, L1TrackParFit::C21, L1TrackParFit::C22, L1TrackParFit::C30, L1TrackParFit::C31, L1TrackParFit::C32, L1TrackParFit::C33, L1TrackParFit::C40, L1TrackParFit::C41, L1TrackParFit::C42, L1TrackParFit::C43, L1TrackParFit::C44, L1TrackParFit::C50, L1TrackParFit::C51, L1TrackParFit::C52, L1TrackParFit::C53, L1TrackParFit::C54, L1TrackParFit::C55, L1TrackParFit::chi2, L1TrackParFit::fx, L1TrackParFit::fy, L1TrackParFit::NDF, NS_L1TrackFitter::ONE, NS_L1TrackFitter::vINF, x, L1Station::XYInfo, y, and NS_L1TrackFitter::ZERO.
|
private |
Definition at line 1669 of file L1TrackFitter.cxx.
References L1XYMeasurementInfo::C00, L1TrackParFit::C00, L1XYMeasurementInfo::C10, L1TrackParFit::C10, L1XYMeasurementInfo::C11, L1TrackParFit::C11, L1TrackParFit::C20, L1TrackParFit::C21, L1TrackParFit::C22, L1TrackParFit::C30, L1TrackParFit::C31, L1TrackParFit::C32, L1TrackParFit::C33, L1TrackParFit::C40, L1TrackParFit::C41, L1TrackParFit::C42, L1TrackParFit::C43, L1TrackParFit::C44, L1TrackParFit::C50, L1TrackParFit::C51, L1TrackParFit::C52, L1TrackParFit::C53, L1TrackParFit::C54, L1TrackParFit::C55, L1TrackParFit::chi2, L1TrackParFit::ft, L1TrackParFit::fx, L1TrackParFit::fy, L1TrackParFit::NDF, NS_L1TrackFitter::ONE, NS_L1TrackFitter::vINF, x, L1Station::XYInfo, y, and NS_L1TrackFitter::ZERO.
|
private |
Definition at line 1635 of file L1TrackFitter.cxx.
References L1XYMeasurementInfo::C00, L1TrackParFit::C00, L1XYMeasurementInfo::C10, L1TrackParFit::C10, L1XYMeasurementInfo::C11, L1TrackParFit::C11, L1TrackParFit::C20, L1TrackParFit::C21, L1TrackParFit::C22, L1TrackParFit::C30, L1TrackParFit::C31, L1TrackParFit::C32, L1TrackParFit::C33, L1TrackParFit::C40, L1TrackParFit::C41, L1TrackParFit::C42, L1TrackParFit::C43, L1TrackParFit::C44, L1TrackParFit::C50, L1TrackParFit::C51, L1TrackParFit::C52, L1TrackParFit::C53, L1TrackParFit::C54, L1TrackParFit::C55, L1TrackParFit::chi2, L1TrackParFit::ft, L1TrackParFit::fx, L1TrackParFit::fy, L1TrackParFit::NDF, NS_L1TrackFitter::ONE, NS_L1TrackFitter::vINF, x, L1Station::XYInfo, y, and NS_L1TrackFitter::ZERO.
|
private |
Definition at line 1751 of file L1TrackFitter.cxx.
References L1TrackParFit::C00, L1TrackParFit::C10, L1TrackParFit::C11, L1TrackParFit::C20, L1TrackParFit::C21, L1TrackParFit::C22, L1TrackParFit::C30, L1TrackParFit::C31, L1TrackParFit::C32, L1TrackParFit::C33, L1TrackParFit::C40, L1TrackParFit::C41, L1TrackParFit::C42, L1TrackParFit::C43, L1TrackParFit::C44, L1TrackParFit::C50, L1TrackParFit::C51, L1TrackParFit::C52, L1TrackParFit::C53, L1TrackParFit::C54, L1TrackParFit::C55, L1TrackParFit::chi2, L1TrackParFit::fx, L1TrackParFit::fy, L1TrackParFit::NDF, NS_L1TrackFitter::ONE, NS_L1TrackFitter::vINF, x, y, and NS_L1TrackFitter::ZERO.
|
private |
Definition at line 206 of file L1CAMergeClones.cxx.
References i, InvertCholetsky(), m, MultiplyMS(), MultiplySR(), and MultiplySS().
Referenced by CAMergeClones().
|
private |
Find additional hits for existing track t - track with hits T - track params dir - 0 - forward, 1 - backward qp0 - momentum for extrapolation
Find additional hits for existing track t - track with hits T - track params dir - 0 - forward, 1 - backward qp0 - momentum for extrapolation initialize - should be params ititialized. 1 - yes.
Definition at line 199 of file L1TrackExtender.cxx.
References _fvecalignment, L1StsHit::b, L1Station::backInfo, L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C55, L1StsHit::du, L1StsHit::dv, L1StsHit::f, fabs(), L1Station::fieldSlice, FilterTime(), FIRSTCASTATION, L1Station::frontInfo, L1FieldSlice::GetFieldValue(), GetHitCoor(), L1HitAreaTime::GetNext(), i, L1StsHit::iz, L1AddMaterial(), L1Extrapolate(), L1ExtrapolateLine(), L1ExtrapolateTime(), L1ExtrapolateXC00Line(), L1ExtrapolateYC11Line(), L1Filter(), L1Station::materialInfo, MaxDZ, L1Branch::NHits, NStations, Pick_gather, RealIHitP, L1UMeasurementInfo::sigma2, sqrt(), StripsToCoor(), L1Branch::StsHits, StsHitsUnusedStartIndex, L1TrackPar::t, L1StsHit::t_er, L1StsHit::t_reco, L1TrackPar::tx, L1TrackPar::ty, v, vGridTime, vSFlag, vSFlagB, vStsHits, L1TrackPar::x, x, L1Station::XYInfo, L1TrackPar::y, y, L1TrackPar::z, and L1Station::z.
Referenced by BranchExtender().
Definition at line 222 of file L1Algo.cxx.
References L1StsHit::b, L1UMeasurementInfo::cos_phi, L1StsHit::f, L1StsHit::iz, L1UMeasurementInfo::sin_phi, v, vStsZPos, L1Station::xInfo, and L1Station::yInfo.
void L1Algo::GetHitCoor | ( | const L1StsHit & | _h, |
fscal & | _x, | ||
fscal & | _y, | ||
fscal & | _z, | ||
const L1Station & | sta | ||
) |
--— Hit-point-strips conversion routines ---—
Definition at line 235 of file L1Algo.cxx.
References L1StsHit::b, L1StsHit::f, L1StsHit::iz, StripsToCoor(), v, x, and y.
Referenced by L1AlgoDraw::DrawInputHits(), L1AlgoDraw::DrawRestHits(), FindMoreHits(), L1AlgoDraw::GetHitCoor(), L1Grid::StoreHits(), and L1Grid::UpdateIterGrid().
|
inline |
|
inline |
Definition at line 453 of file L1Algo.h.
Referenced by CbmL1PFFitter::CalculateFieldRegion(), CbmL1PFFitter::GetChiToVertex(), and CbmL1::Reconstruct().
|
private |
---— Subroutines used by L1Algo::KFTrackFitter() ---—
Definition at line 1447 of file L1TrackFitter.cxx.
References NS_L1TrackFitter::c_light_i, i, L1TrackPar::qp, rcp(), rsqrt(), L1TrackPar::tx, L1TrackPar::ty, L1TrackPar::x, x, L1TrackPar::y, y, L1TrackPar::z, and NS_L1TrackFitter::ZERO.
|
private |
Definition at line 1523 of file L1TrackFitter.cxx.
References NS_L1TrackFitter::c_light_i, L1TrackParFit::fqp, L1TrackParFit::ft, L1TrackParFit::ftx, L1TrackParFit::fty, L1TrackParFit::fx, L1TrackParFit::fy, L1TrackParFit::fz, i, rcp(), rsqrt(), sqrt(), x, y, and NS_L1TrackFitter::ZERO.
void L1Algo::Init | ( | const vector< fscal > & | geo, |
const bool | UseHitErrors, | ||
const bool | mCBMmode | ||
) |
Definition at line 5 of file L1Algo.cxx.
References L1Station::backInfo, L1XYMeasurementInfo::C00, L1XYMeasurementInfo::C10, L1XYMeasurementInfo::C11, cos(), L1UMeasurementInfo::cos_phi, L1FieldSlice::cx, L1FieldSlice::cy, L1FieldSlice::cz, fabs(), fGhostSuppression, L1Station::fieldSlice, fmCBMmode, fMomentumCutOff, L1Station::frontInfo, fTrackingLevel, fUseHitErrors, i, log(), L1MaterialInfo::logRadThick, L1Station::materialInfo, NFStations, NMvdStations, NStations, NStsStations, L1MaterialInfo::RadThick, L1MaterialInfo::RL, L1Station::Rmax, L1Station::Rmin, L1UMeasurementInfo::sigma2, sin(), L1UMeasurementInfo::sin_phi, L1Station::Sy, L1MaterialInfo::thick, threadNumberToCpuMap, L1Station::type, L1FieldValue::x, L1Station::xInfo, L1Station::XYInfo, L1FieldValue::y, L1Station::yInfo, L1FieldValue::z, and L1Station::z.
Referenced by CbmL1::Init().
|
private |
--— Subroutines used by L1Algo::CAMergeClones() ---—
Definition at line 26 of file L1CAMergeClones.cxx.
References d, f, fabs(), i, and sqrt().
Referenced by FilterTracks().
void L1Algo::KFTrackFitter_simple | ( | ) |
Track fitting procedures.
Fit reconstracted track like it fitted d_uring the reconstruction.
Definition at line 39 of file L1TrackFitter.cxx.
References _fvecalignment, L1StsHit::b, L1Station::backInfo, L1TrackPar::C00, L1XYMeasurementInfo::C00, L1TrackPar::C10, L1XYMeasurementInfo::C10, L1TrackPar::C11, L1XYMeasurementInfo::C11, L1TrackPar::C20, L1TrackPar::C21, L1TrackPar::C22, L1TrackPar::C30, L1TrackPar::C31, L1TrackPar::C32, L1TrackPar::C33, L1TrackPar::C40, L1TrackPar::C41, L1TrackPar::C42, L1TrackPar::C43, L1TrackPar::C44, L1Track::CFirst, L1TrackPar::chi2, L1Track::chi2, L1Track::CLast, L1StsHit::f, L1Station::fieldSlice, L1Station::frontInfo, L1FieldSlice::GetFieldValue(), hits, i, L1StsHit::iz, L1AddMaterial(), L1ExtrapolateLine(), L1Filter(), L1Station::materialInfo, L1TrackPar::NDF, L1Track::NDF, L1Track::NHits, NS_L1TrackFitter::ONE, L1TrackPar::qp, L1Track::TFirst, L1Track::TLast, L1TrackPar::tx, L1TrackPar::ty, v, NS_L1TrackFitter::vINF, L1TrackPar::x, x, L1Station::XYInfo, L1TrackPar::y, y, L1TrackPar::z, L1Station::z, and z1.
Referenced by CbmL1::Reconstruct().
void L1Algo::L1KFTrackFitter | ( | ) |
Definition at line 335 of file L1TrackFitter.cxx.
References _fvecalignment, L1StsHit::b, L1Station::backInfo, L1XYMeasurementInfo::C00, L1TrackParFit::C00, L1XYMeasurementInfo::C10, L1TrackParFit::C10, L1XYMeasurementInfo::C11, L1TrackParFit::C11, L1TrackParFit::C20, L1TrackParFit::C21, L1TrackParFit::C22, L1TrackParFit::C30, L1TrackParFit::C31, L1TrackParFit::C32, L1TrackParFit::C33, L1TrackParFit::C40, L1TrackParFit::C41, L1TrackParFit::C42, L1TrackParFit::C43, L1TrackParFit::C44, L1TrackParFit::C50, L1TrackParFit::C51, L1TrackParFit::C52, L1TrackParFit::C53, L1TrackParFit::C54, L1TrackParFit::C55, L1Track::CFirst, L1TrackParFit::chi2, L1Track::chi2, L1Track::CLast, L1FieldValue::Combine(), L1Track::Cpv, L1FieldSlice::cy, L1StsHit::du, L1StsHit::dv, L1TrackParFit::EnergyLossCorrection(), EnergyLossCorrection(), L1TrackParFit::Extrapolate(), L1StsHit::f, f, L1Station::fieldSlice, L1TrackParFit::Filter(), L1TrackParFit::fqp, L1Station::frontInfo, L1TrackParFit::ft, L1TrackParFit::ftx, L1TrackParFit::fty, fvecLen, L1TrackParFit::fx, L1TrackParFit::fy, L1TrackParFit::fz, L1FieldSlice::GetFieldValue(), i, L1StsHit::iz, L1TrackParFit::L1AddMaterial(), L1AddMaterial(), L1TrackParFit::L1AddPipeMaterial(), L1AddPipeMaterial(), L1Extrapolate(), L1Filter(), MaxNStations, L1TrackParFit::NDF, L1Track::NDF, L1Track::NHits, NStations, NS_L1TrackFitter::ONE, PipeRadThick, L1TrackPar::qp, L1UMeasurementInfo::sigma2, L1StsHit::t_er, L1StsHit::t_reco, L1Track::TFirst, L1Track::TLast, L1Track::Tpv, L1TrackPar::tx, L1TrackPar::ty, v, L1TrackPar::x, L1FieldValue::x, x, L1Station::XYInfo, L1TrackPar::y, L1FieldValue::y, y, L1FieldValue::z, L1Station::z, and NS_L1TrackFitter::ZERO.
Referenced by CAMergeClones(), and CbmL1::Reconstruct().
void L1Algo::L1KFTrackFitterMuch | ( | ) |
Definition at line 775 of file L1TrackFitter.cxx.
References _fvecalignment, L1StsHit::b, L1Station::backInfo, L1XYMeasurementInfo::C00, L1TrackParFit::C00, L1XYMeasurementInfo::C10, L1TrackParFit::C10, L1XYMeasurementInfo::C11, L1TrackParFit::C11, L1TrackParFit::C20, L1TrackParFit::C21, L1TrackParFit::C22, L1TrackParFit::C30, L1TrackParFit::C31, L1TrackParFit::C32, L1TrackParFit::C33, L1TrackParFit::C40, L1TrackParFit::C41, L1TrackParFit::C42, L1TrackParFit::C43, L1TrackParFit::C44, L1TrackParFit::C50, L1TrackParFit::C51, L1TrackParFit::C52, L1TrackParFit::C53, L1TrackParFit::C54, L1TrackParFit::C55, L1Track::CFirst, L1TrackParFit::chi2, L1Track::chi2, L1Track::CLast, L1FieldValue::Combine(), L1Track::Cpv, L1FieldSlice::cy, L1StsHit::du, L1StsHit::dv, L1TrackParFit::EnergyLossCorrection(), EnergyLossCorrection(), L1TrackParFit::EnergyLossCorrectionAl(), L1TrackParFit::EnergyLossCorrectionCarbon(), L1TrackParFit::EnergyLossCorrectionIron(), L1TrackParFit::Extrapolate(), L1TrackParFit::ExtrapolateLine(), L1StsHit::f, f, fabs(), L1Station::fieldSlice, L1TrackParFit::Filter(), L1TrackParFit::fqp, L1Station::frontInfo, L1TrackParFit::ft, L1TrackParFit::ftx, L1TrackParFit::fty, fvecLen, L1TrackParFit::fx, L1TrackParFit::fy, L1TrackParFit::fz, L1FieldSlice::GetFieldValue(), i, L1StsHit::iz, L1AddMaterial(), L1TrackParFit::L1AddPipeMaterial(), L1AddPipeMaterial(), L1TrackParFit::L1AddThickMaterial(), L1Extrapolate(), L1ExtrapolateLine(), L1Filter(), L1Station::materialInfo, MaxNStations, L1TrackParFit::NDF, L1Track::NDF, L1Track::NHits, NStations, NS_L1TrackFitter::ONE, PipeRadThick, L1TrackPar::qp, L1UMeasurementInfo::sigma2, L1StsHit::t_er, L1StsHit::t_reco, L1Track::TFirst, L1MaterialInfo::thick, L1Track::TLast, L1Track::Tpv, L1TrackPar::tx, L1TrackPar::ty, v, L1TrackPar::x, L1FieldValue::x, x, L1Station::XYInfo, L1TrackPar::y, L1FieldValue::y, y, L1FieldValue::z, L1Station::z, and NS_L1TrackFitter::ZERO.
Referenced by CbmL1::Reconstruct().
Definition at line 156 of file L1CAMergeClones.cxx.
Referenced by FilterTracks().
Definition at line 193 of file L1CAMergeClones.cxx.
Referenced by FilterTracks().
Definition at line 99 of file L1CAMergeClones.cxx.
Referenced by FilterTracks().
|
inline |
void L1Algo::PrintHits | ( | ) |
void L1Algo::SetData | ( | const vector< L1StsHit > & | StsHits_, |
const vector< L1Strip > & | StsStrips_, | ||
const vector< L1Strip > & | StsStripsB_, | ||
const vector< fscal > & | StsZPos_, | ||
const vector< unsigned char > & | SFlag_, | ||
const vector< unsigned char > & | SFlagB_, | ||
const THitI * | StsHitsStartIndex_, | ||
const THitI * | StsHitsStopIndex_ | ||
) |
Definition at line 179 of file L1Algo.cxx.
References StsHitsStartIndex, StsHitsStopIndex, vSFlag, vSFlagB, vStsHits, vStsStrips, vStsStripsB, and vStsZPos.
Referenced by CbmL1::ReadEvent(), and CbmL1::Reconstruct().
|
inline |
void L1Algo::StripsToCoor | ( | const fscal & | u, |
const fscal & | v, | ||
fscal & | x, | ||
fscal & | y, | ||
const L1Station & | sta | ||
) | const |
Definition at line 249 of file L1Algo.cxx.
References v.
Referenced by BranchFitterFast(), CATrackFinder(), f11(), f20(), f30(), f32(), FindMoreHits(), and GetHitCoor().
void L1Algo::StripsToCoor | ( | const fvec & | u, |
const fvec & | v, | ||
fvec & | x, | ||
fvec & | y, | ||
const L1Station & | sta | ||
) | const |
Definition at line 303 of file L1Algo.cxx.
|
inlineprivate |
Find triplets on station.
----------------— Triplets on station -------------------—
Add the middle hits to parameters estimation. Propagate to right station.
Find the triplets(right hit). Reformat data in the portion of triplets.
Add the right hits to parameters estimation.
refit
Fill Triplets.
istal | creates triplets: input: @istal - start station number, @istam - middle station number, @istar - last station number, @ip - index of portion, &n_g - numer of elements in portion, @*portionStopIndex |
nstaltriplets | @nstaltriplets - , @*portionStopIndex, @*T_1 - track parameters for singlets, @*fld_1 - field approximation for singlets, &n_2 - number of doublets in portion &n_2 - number of douplets,&i1_2 - index of 1st hit in portion indexed by doublet index, &hitsm_2 - index of middle hit in hits array indexed by doublet index |
mrDuplets | output: @*vTriplets_part - array of triplets, @*TripStartIndexH, @*TripStopIndexH - start/stop index of a triplet in the array |
Definition at line 1576 of file L1CATrackFinder.cxx.
References du, dv, f30(), f31(), f4(), fhitsl_3, fhitsm_3, fhitsr_3, fT_3, fTimeER, fTimeR, fu_back3, fu_front3, fvecLen, fz_pos3, i, L1_assert, NStations, StsHitsUnusedStartIndex, StsHitsUnusedStopIndex, and TRIPLET_CHI2_CUT.
Referenced by CATrackFinder().
|
inline |
L1Station vStations [MaxNStations] L1Algo::_fvecalignment |
Definition at line 336 of file L1Algo.h.
Referenced by BranchFitterFast(), CAMergeClones(), f11(), f32(), and FindMoreHits().
|
private |
|
private |
|
private |
|
private |
Definition at line 260 of file L1Algo.h.
Referenced by CATrackFinder(), and L1Algo().
double L1Algo::CATime |
Definition at line 353 of file L1Algo.h.
Referenced by CATrackFinder(), CbmL1::EfficienciesPerformance(), and CbmL1::HistoPerformance().
|
private |
Definition at line 914 of file L1Algo.h.
Referenced by CATrackFinder(), and f20().
nsL1::vector<fvec>::TSimd L1Algo::du[nTh] |
Definition at line 444 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
nsL1::vector<fvec>::TSimd L1Algo::dv[nTh] |
Definition at line 444 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
nsL1::vector<fvec>::TSimd L1Algo::dx[nTh] |
nsL1::vector<fvec>::TSimd L1Algo::dy[nTh] |
|
private |
Definition at line 943 of file L1Algo.h.
Referenced by CATrackFinder(), and Init().
bool L1Algo::fGlobal |
Definition at line 441 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
Definition at line 441 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
Definition at line 441 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
|
private |
================================= DATA PART =================================
--— Different parameters of CATrackFinder --—
Definition at line 865 of file L1Algo.h.
Referenced by CATrackFinder(), f5(), and FindMoreHits().
L1Vector<unsigned short> L1Algo::FirstHit |
Definition at line 274 of file L1Algo.h.
Referenced by CAMergeClones(), and L1Algo().
Definition at line 276 of file L1Algo.h.
Referenced by CAMergeClones(), and L1Algo().
bool L1Algo::fmCBMmode |
Definition at line 391 of file L1Algo.h.
Referenced by CAFindTrack(), CATrackFinder(), f11(), f30(), f31(), and Init().
|
private |
int L1Algo::fNThreads |
Definition at line 389 of file L1Algo.h.
Referenced by CATrackFinder(), f5(), L1Algo(), and SetNThreads().
vector<L1Material> L1Algo::fRadThick |
Definition at line 337 of file L1Algo.h.
Referenced by f11(), f30(), f32(), CbmL1::Init(), and CbmL1::TrackFitPerformance().
nsL1::vector<L1TrackPar>::TSimd L1Algo::fT_3[nTh] |
Definition at line 439 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
nsL1::vector<fvec>::TSimd L1Algo::fTimeER[nTh] |
Definition at line 444 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
nsL1::vector<fvec>::TSimd L1Algo::fTimeR[nTh] |
Definition at line 444 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
nsL1::vector<fvec>::TSimd L1Algo::fu_back3[nTh] |
Definition at line 443 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
nsL1::vector<fvec>::TSimd L1Algo::fu_front3[nTh] |
Definition at line 443 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
bool L1Algo::fUseHitErrors |
nsL1::vector<fvec>::TSimd L1Algo::fz_pos3[nTh] |
Definition at line 443 of file L1Algo.h.
Referenced by L1Algo(), and TripletsStaPort().
int L1Algo::isec |
|
private |
|
private |
L1Vector<unsigned short> L1Algo::LastHit |
Definition at line 275 of file L1Algo.h.
Referenced by CAMergeClones(), and L1Algo().
Definition at line 277 of file L1Algo.h.
Referenced by CAMergeClones(), and L1Algo().
|
private |
Definition at line 918 of file L1Algo.h.
Referenced by CATrackFinder(), f20(), f30(), and FindMoreHits().
|
private |
Definition at line 925 of file L1Algo.h.
Referenced by CATrackFinder(), f11(), and f4().
|
private |
Definition at line 926 of file L1Algo.h.
Referenced by CATrackFinder(), and f11().
Definition at line 263 of file L1Algo.h.
Referenced by CATrackFinder(), and L1Algo().
L1Vector<unsigned short> L1Algo::Neighbour |
Definition at line 278 of file L1Algo.h.
Referenced by CAMergeClones(), and L1Algo().
int L1Algo::NFStations |
unsigned int L1Algo::NHitsIsecAll |
Definition at line 363 of file L1Algo.h.
Referenced by CAMergeClones(), CATrackFinder(), and L1Algo().
int L1Algo::NMvdStations |
Definition at line 334 of file L1Algo.h.
Referenced by BranchFitterFast(), CbmL1PFFitter::CalculateFieldRegion(), CbmL1PFFitter::CalculateFieldRegionAtLastPoint(), CATrackFinder(), f11(), f30(), f32(), CbmL1PFFitter::Fit(), CbmL1PFFitter::GetChiToVertex(), CbmL1::Init(), and Init().
int L1Algo::NStations |
Definition at line 333 of file L1Algo.h.
Referenced by CAMergeClones(), CATrackFinder(), DupletsStaPort(), CbmL1::EfficienciesPerformance(), f30(), f4(), f5(), FindMoreHits(), CbmL1PFFitter::Fit(), CbmL1PFFitter::GetChiToVertex(), CbmL1::IdealTrackFinder(), CbmL1::Init(), Init(), L1AlgoDraw::InitL1Draw(), InitL1Histo(), CbmL1::Reconstruct(), and TripletsStaPort().
|
static |
Definition at line 256 of file L1Algo.h.
Referenced by CATrackFinder().
unsigned int L1Algo::NTracksIsecAll |
Definition at line 364 of file L1Algo.h.
Referenced by CAMergeClones(), CATrackFinder(), CbmL1::IdealTrackFinder(), L1Algo(), and CbmL1::Reconstruct().
int L1Algo::numberCandidateThread[nTh] |
Definition at line 269 of file L1Algo.h.
Referenced by CATrackFinder(), and L1Algo().
|
private |
parameters which are different for different iterations. Set in the begin of CAL1TrackFinder
Definition at line 922 of file L1Algo.h.
Referenced by CATrackFinder(), and FindMoreHits().
|
private |
Definition at line 924 of file L1Algo.h.
Referenced by CAFindTrack(), CATrackFinder(), and f5().
Definition at line 262 of file L1Algo.h.
Referenced by CATrackFinder().
vector<THitI> L1Algo::RealIHit_v |
Definition at line 375 of file L1Algo.h.
Referenced by CATrackFinder().
vector<THitI> L1Algo::RealIHit_v_buf |
Definition at line 376 of file L1Algo.h.
Referenced by CATrackFinder().
vector<THitI>* L1Algo::RealIHitP |
Definition at line 422 of file L1Algo.h.
Referenced by CATrackFinder(), and FindMoreHits().
vector<THitI>* L1Algo::RealIHitPBuf |
Definition at line 423 of file L1Algo.h.
Referenced by CATrackFinder().
int L1Algo::SavedCand[nTh] |
Definition at line 266 of file L1Algo.h.
Referenced by CATrackFinder(), and L1Algo().
int L1Algo::SavedHits[nTh] |
Definition at line 267 of file L1Algo.h.
Referenced by CATrackFinder(), and L1Algo().
const THitI* L1Algo::StsHitsStartIndex |
Definition at line 358 of file L1Algo.h.
Referenced by CATrackFinder(), L1AlgoDraw::InitL1Draw(), CbmL1::ReadSTAPAlgoData(), SetData(), and CbmL1::WriteSTAPAlgoData().
const THitI * L1Algo::StsHitsStopIndex |
Definition at line 359 of file L1Algo.h.
Referenced by CATrackFinder(), L1AlgoDraw::InitL1Draw(), CbmL1::ReadSTAPAlgoData(), SetData(), and CbmL1::WriteSTAPAlgoData().
THitI L1Algo::StsHitsUnusedStartIndex[MaxNStations+1] |
Definition at line 426 of file L1Algo.h.
Referenced by CATrackFinder(), DupletsStaPort(), f20(), f32(), f4(), FindMoreHits(), and TripletsStaPort().
THitI L1Algo::StsHitsUnusedStartIndexEnd[MaxNStations+1] |
THitI L1Algo::StsHitsUnusedStopIndex[MaxNStations+1] |
Definition at line 427 of file L1Algo.h.
Referenced by CATrackFinder(), DupletsStaPort(), f4(), f5(), and TripletsStaPort().
THitI L1Algo::StsHitsUnusedStopIndexEnd[MaxNStations+1] |
|
private |
Definition at line 927 of file L1Algo.h.
Referenced by CATrackFinder(), and f11().
|
private |
Definition at line 927 of file L1Algo.h.
Referenced by CATrackFinder(), and f11().
|
private |
Definition at line 927 of file L1Algo.h.
Referenced by CATrackFinder(), and f11().
|
private |
|
private |
|
private |
|
private |
Definition at line 911 of file L1Algo.h.
Referenced by CAFindTrack().
L1Vector<float> L1Algo::TrackChi2 |
Definition at line 279 of file L1Algo.h.
Referenced by CAMergeClones(), and L1Algo().
vector<int> L1Algo::TripForHit[2] |
|
private |
Definition at line 574 of file L1Algo.h.
Referenced by __attribute__(), and f5().
|
private |
Definition at line 913 of file L1Algo.h.
Referenced by CATrackFinder(), f30(), f4(), and TripletsStaPort().
|
private |
Definition at line 259 of file L1Algo.h.
Referenced by CAFindTrack(), CATrackFinder(), f4(), f5(), and L1Algo().
L1Grid L1Algo::vGrid[MaxNStations] |
L1Grid L1Algo::vGridTime[MaxNStations] |
Definition at line 347 of file L1Algo.h.
Referenced by CATrackFinder(), f20(), f30(), FindMoreHits(), and L1Algo().
Definition at line 356 of file L1Algo.h.
Referenced by CAMergeClones(), CATrackFinder(), L1AlgoDraw::DrawInfo(), L1AlgoDraw::DrawRecoTracks(), CbmL1::IdealTrackFinder(), and CbmL1::Reconstruct().
Definition at line 373 of file L1Algo.h.
Referenced by CATrackFinder(), and L1Algo().
Definition at line 282 of file L1Algo.h.
Referenced by CAMergeClones().
const vector<unsigned char>* L1Algo::vSFlag |
Definition at line 350 of file L1Algo.h.
Referenced by BranchFitterFast(), CAFindTrack(), CbmL1MCTrack::CalculateHitCont(), CATrackFinder(), FindMoreHits(), CbmL1::ReadSTAPAlgoData(), CbmL1::Reconstruct(), SetData(), and CbmL1::WriteSTAPAlgoData().
const vector<unsigned char> * L1Algo::vSFlagB |
Definition at line 351 of file L1Algo.h.
Referenced by CAFindTrack(), CATrackFinder(), FindMoreHits(), CbmL1::ReadSTAPAlgoData(), CbmL1::Reconstruct(), SetData(), and CbmL1::WriteSTAPAlgoData().
L1Vector<int> L1Algo::vStripToTrack |
Definition at line 386 of file L1Algo.h.
Referenced by CATrackFinder().
L1Vector<int> L1Algo::vStripToTrackB |
Definition at line 387 of file L1Algo.h.
Referenced by CATrackFinder().
vector<L1StsHit> L1Algo::vStsDontUsedHits_A |
Definition at line 366 of file L1Algo.h.
Referenced by CATrackFinder().
vector<L1StsHit> L1Algo::vStsDontUsedHits_B |
Definition at line 367 of file L1Algo.h.
Referenced by CATrackFinder().
vector<L1StsHit> L1Algo::vStsDontUsedHits_Buf |
Definition at line 368 of file L1Algo.h.
Referenced by CATrackFinder().
vector<L1HitPoint> L1Algo::vStsDontUsedHitsxy_A |
Definition at line 369 of file L1Algo.h.
Referenced by CATrackFinder().
vector<L1HitPoint> L1Algo::vStsDontUsedHitsxy_B |
Definition at line 371 of file L1Algo.h.
Referenced by CATrackFinder().
vector<L1HitPoint> L1Algo::vStsDontUsedHitsxy_buf |
vector<L1HitPoint>* L1Algo::vStsHitPointsUnused |
Definition at line 424 of file L1Algo.h.
Referenced by CATrackFinder().
const vector<L1StsHit>* L1Algo::vStsHits |
Definition at line 344 of file L1Algo.h.
Referenced by CbmL1MCTrack::CalculateHitCont(), CATrackFinder(), L1AlgoDraw::DrawInfo(), FindMoreHits(), CbmL1::HistoPerformance(), L1AlgoDraw::InitL1Draw(), CbmL1::ReadSTAPAlgoData(), CbmL1::Reconstruct(), SetData(), and CbmL1::WriteSTAPAlgoData().
vector<L1StsHit>* L1Algo::vStsHitsUnused |
Definition at line 421 of file L1Algo.h.
Referenced by CAFindTrack(), and CATrackFinder().
const vector<L1Strip>* L1Algo::vStsStrips |
Definition at line 340 of file L1Algo.h.
Referenced by CATrackFinder(), L1AlgoDraw::InitL1Draw(), CbmL1::ReadSTAPAlgoData(), CbmL1::Reconstruct(), SetData(), and CbmL1::WriteSTAPAlgoData().
const vector<L1Strip> * L1Algo::vStsStripsB |
Definition at line 341 of file L1Algo.h.
Referenced by CATrackFinder(), L1AlgoDraw::InitL1Draw(), CbmL1::ReadSTAPAlgoData(), CbmL1::Reconstruct(), SetData(), and CbmL1::WriteSTAPAlgoData().
const vector<fscal>* L1Algo::vStsZPos |
Definition at line 342 of file L1Algo.h.
Referenced by BranchFitterFast(), GetHitCoor(), CbmL1::ReadSTAPAlgoData(), CbmL1::Reconstruct(), SetData(), and CbmL1::WriteSTAPAlgoData().
Definition at line 355 of file L1Algo.h.
Referenced by CAMergeClones(), CATrackFinder(), L1AlgoDraw::DrawInfo(), L1AlgoDraw::DrawRecoTracks(), CbmL1::IdealTrackFinder(), and CbmL1::Reconstruct().
Definition at line 372 of file L1Algo.h.
Referenced by CATrackFinder(), and L1Algo().
Definition at line 283 of file L1Algo.h.
Referenced by CAMergeClones().