]>
Commit | Line | Data |
---|---|---|
482070f2 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | //----------------------------------------------------------------- | |
17 | // Implementation of the ESD HLT track class | |
18 | // ESD = Event Summary Data | |
19 | // HLT = High Level Trigger | |
20 | // This is the class to deal with during the phisical analysis of data | |
21 | //----------------------------------------------------------------- | |
22 | ||
23 | #include "TMath.h" | |
24 | #include "AliESDHLTtrack.h" | |
e819460c | 25 | #include "AliKalmanTrack.h" |
482070f2 | 26 | |
27 | ClassImp(AliESDHLTtrack) | |
28 | ||
29 | AliESDHLTtrack::AliESDHLTtrack() : TObject() | |
30 | { | |
31 | fNHits = 0; | |
32 | fMCid = 0; | |
33 | fWeight = 0; | |
34 | fFromMainVertex = kFALSE; | |
35 | fRowRange[0] = fRowRange[1] = 0; | |
36 | fSector = 0; | |
37 | fFirstPoint[0] = fFirstPoint[1] = fFirstPoint[2] = 0; | |
38 | fLastPoint[0] = fLastPoint[1] = fLastPoint[2] = 0; | |
39 | fQ = 0; | |
40 | fTanl = 0; | |
41 | fPsi = 0; | |
42 | fPt = 0; | |
43 | fPterr = 0; | |
44 | fPsierr = 0; | |
45 | fTanlerr = 0; | |
46 | fBinX = 0; | |
47 | fBinY = 0; | |
48 | fSizeX = 0; | |
49 | fSizeY = 0; | |
8bbc564d | 50 | fPID = 0; |
482070f2 | 51 | } |
52 | ||
53 | Double_t AliESDHLTtrack::GetP() const | |
54 | { | |
55 | // Returns total momentum. | |
56 | return TMath::Abs(GetPt())*sqrt(1. + GetTgl()*GetTgl()); | |
57 | } | |
58 | ||
59 | Double_t AliESDHLTtrack::GetPseudoRapidity() const | |
60 | { | |
61 | return 0.5 * TMath::Log((GetP() + GetPz()) / (GetP() - GetPz())); | |
62 | } | |
e819460c | 63 | |
64 | Bool_t AliESDHLTtrack::UpdateTrackParams(const AliKalmanTrack *t) | |
65 | { | |
66 | // Updates the track parameters | |
67 | ||
68 | fNHits = t->GetNumberOfClusters(); | |
69 | fMCid = t->GetLabel(); | |
70 | ||
71 | Double_t alpha = t->GetAlpha(); | |
72 | fSector = (UShort_t)(alpha/(2*TMath::Pi()/18)); | |
73 | Double_t x,p[5]; t->GetExternalParameters(x,p); | |
74 | if(p[4]<=0) | |
75 | fQ = 1; | |
76 | else | |
77 | fQ = -1; | |
78 | fPt = TMath::Abs(1./p[4]); | |
79 | fTanl = p[3]; | |
80 | fPsi = alpha + TMath::ASin(p[2]); | |
81 | ||
82 | fFirstPoint[0] = x*TMath::Cos(alpha) - p[0]*TMath::Sin(alpha); | |
83 | fFirstPoint[1] = x*TMath::Sin(alpha) + p[0]*TMath::Cos(alpha); | |
84 | fFirstPoint[2] = p[1]; | |
85 | ||
86 | return kTRUE; | |
87 | } |