]>
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 | ||
90e48c0c | 29 | AliESDHLTtrack::AliESDHLTtrack() : |
30 | TObject(), | |
31 | fNHits(0), | |
32 | fMCid(0), | |
33 | fWeight(0), | |
34 | fFromMainVertex(kFALSE), | |
35 | fSector(0), | |
36 | fQ(0), | |
37 | fTanl(0), | |
38 | fPsi(0), | |
39 | fPt(0), | |
40 | fPterr(0), | |
41 | fPsierr(0), | |
42 | fTanlerr(0), | |
43 | fBinX(0), | |
44 | fBinY(0), | |
45 | fSizeX(0), | |
46 | fSizeY(0), | |
47 | fPID(0) | |
482070f2 | 48 | { |
fdf65bb5 | 49 | // Default constructor |
482070f2 | 50 | fRowRange[0] = fRowRange[1] = 0; |
482070f2 | 51 | fFirstPoint[0] = fFirstPoint[1] = fFirstPoint[2] = 0; |
52 | fLastPoint[0] = fLastPoint[1] = fLastPoint[2] = 0; | |
482070f2 | 53 | } |
54 | ||
55 | Double_t AliESDHLTtrack::GetP() const | |
56 | { | |
57 | // Returns total momentum. | |
58 | return TMath::Abs(GetPt())*sqrt(1. + GetTgl()*GetTgl()); | |
59 | } | |
60 | ||
61 | Double_t AliESDHLTtrack::GetPseudoRapidity() const | |
62 | { | |
fdf65bb5 | 63 | // Calculates the pseudorapidity |
482070f2 | 64 | return 0.5 * TMath::Log((GetP() + GetPz()) / (GetP() - GetPz())); |
65 | } | |
e819460c | 66 | |
67 | Bool_t AliESDHLTtrack::UpdateTrackParams(const AliKalmanTrack *t) | |
68 | { | |
69 | // Updates the track parameters | |
70 | ||
71 | fNHits = t->GetNumberOfClusters(); | |
72 | fMCid = t->GetLabel(); | |
73 | ||
74 | Double_t alpha = t->GetAlpha(); | |
75 | fSector = (UShort_t)(alpha/(2*TMath::Pi()/18)); | |
76 | Double_t x,p[5]; t->GetExternalParameters(x,p); | |
77 | if(p[4]<=0) | |
78 | fQ = 1; | |
79 | else | |
80 | fQ = -1; | |
81 | fPt = TMath::Abs(1./p[4]); | |
82 | fTanl = p[3]; | |
83 | fPsi = alpha + TMath::ASin(p[2]); | |
84 | ||
85 | fFirstPoint[0] = x*TMath::Cos(alpha) - p[0]*TMath::Sin(alpha); | |
86 | fFirstPoint[1] = x*TMath::Sin(alpha) + p[0]*TMath::Cos(alpha); | |
87 | fFirstPoint[2] = p[1]; | |
88 | ||
89 | return kTRUE; | |
90 | } |