12 if ((helix->GetMomentum().Theta()*TMath::RadToDeg())<20.)
return kFALSE;
13 if ((helix->GetMomentum().Theta()*TMath::RadToDeg())>150.)
return kFALSE;
17 Int_t tofEntries =
fTofHit->GetEntriesFast();
19 Float_t tofTof = 0., tofLength = -1000, tofGLength = -1000, tofLengthTemp = -1000;
20 Float_t tofQuality = 1000000;
23 TVector3 vertex(0., 0., 0.);
24 TVector3 tofPos(0., 0., 0.);
25 TVector3 momentum(0., 0., 0.);
26 for (Int_t tt = 0; tt<tofEntries; tt++)
30 tofHit->Position(tofPos);
36 FairTrackParH *fRes=
new FairTrackParH();
40 vertex.SetXYZ(fRes->GetX(), fRes->GetY(), fRes->GetZ());
44 FairTrackParH *fRes2=
new FairTrackParH();
49 Float_t dist = (tofPos-vertex).Mag2();
51 if ( tofQuality > dist)
56 tofLength = tofLengthTemp;
60 Float_t ntuple[] = {
static_cast<Float_t
>(vertex.X()), static_cast<Float_t>(vertex.Y()), static_cast<Float_t>(vertex.Z()), static_cast<Float_t>(vertex.Phi()),
61 static_cast<Float_t>(helix->GetMomentum().Mag()), static_cast<Float_t>(helix->GetQ()), static_cast<Float_t>(helix->GetMomentum().Theta()), static_cast<Float_t>(helix->GetZ()),
62 static_cast<Float_t>(tofPos.X()), static_cast<Float_t>(tofPos.Y()), static_cast<Float_t>(tofPos.Z()), static_cast<Float_t>(tofPos.Phi()),
63 dist, static_cast<Float_t>(vertex.DeltaPhi(tofPos)), tofLength, tofGLength};
73 if ( (tofQuality<fCorrPar->GetTofCut()) || (
fIdeal && tofIndex!=-1) )
82 Float_t mass2 = helix->GetMomentum().Mag()*helix->GetMomentum().Mag()*(30.*30.*tofTof*tofTof/tofLength/tofLength-1.);
void SetTofStopTime(Double_t val)
void SetTofM2(Double_t val)
Bool_t GetTofInfo(FairTrackParH *helix, PndPidCandidate *pid)
void SetTofTrackLength(Double_t val)
FairGeanePro * fGeanePropagator
Refitter for MDT tracks.
TClonesArray * fTofPoint
PndTofHit TCA.
void SetTofQuality(Double_t val)
void SetTofIndex(Int_t val)
TClonesArray * fTofHit
PndSdsHit TCA for pixel.