]>
Commit | Line | Data |
---|---|---|
2fbc0b17 | 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 | ///////////////////////////////////////////////////// | |
18 | // Class to handle pairs of tracks of opposite charge | |
19 | // Useful for resonance analysis | |
20 | // Derives from AliVParticle => | |
21 | // usable in Correction Framework | |
22 | ///////////////////////////////////////////////////// | |
23 | // author : renaud.vernet@cern.ch | |
24 | ///////////////////////////////////////////////////// | |
25 | ||
26 | ||
27 | #ifndef ALICFPAIR_H | |
28 | #define ALICFPAIR_H | |
29 | ||
30 | #include "AliVParticle.h" | |
31 | ||
32 | class AliESDtrack ; | |
33 | class AliESDv0; | |
34 | class AliESDEvent; | |
35 | ||
36 | class AliCFPair : public AliVParticle { | |
37 | ||
38 | public: | |
39 | AliCFPair(AliESDtrack* t1, AliESDtrack* t2); | |
40 | AliCFPair(AliESDv0* v0, AliESDEvent* esd); | |
41 | AliCFPair(const AliCFPair& c); | |
42 | AliCFPair& operator=(const AliCFPair& c); | |
43 | virtual ~AliCFPair(){}; | |
44 | ||
45 | AliESDtrack* GetNeg() const {return fTrackNeg;} | |
46 | AliESDtrack* GetPos() const {return fTrackPos;} | |
47 | AliESDv0* GetV0() const {return fV0;} | |
48 | virtual Bool_t PxPyPz(Double_t p[3]) const ; | |
49 | virtual Double32_t P() const ; | |
50 | virtual Double32_t Pt() const ; | |
51 | virtual Double32_t Px() const ; | |
52 | virtual Double32_t Py() const ; | |
53 | virtual Double32_t Pz() const ; | |
54 | virtual Double32_t E () const ; | |
55 | virtual Double32_t Xv() const ; | |
56 | virtual Double32_t Yv() const ; | |
57 | virtual Double32_t Zv() const ; | |
58 | virtual Bool_t XvYvZv(Double_t x[3]) const ; | |
59 | ||
60 | virtual Double32_t OneOverPt() const {return 1/Pt();} | |
61 | virtual Double32_t Phi() const ; | |
62 | virtual Double32_t Theta() const ; | |
63 | virtual Double32_t M() const ; | |
64 | virtual Double32_t Eta() const ; | |
65 | virtual Double32_t Y() const ; | |
66 | virtual Short_t Charge() const {return 0;} // returns 0 because opposite charge tracks... maybe to extend to all kinds of pairs | |
67 | ||
68 | // PID | |
69 | virtual const Double_t *PID() const {return 0;} // return PID object (to be defined, still) | |
70 | ||
71 | ||
72 | private: | |
a1496ace | 73 | Bool_t fIsV0; // true if V0 passed to the constructor |
74 | AliESDtrack* fTrackNeg; // pointer to the negative track | |
75 | AliESDtrack* fTrackPos; // pointer to the positive track | |
76 | AliESDv0* fV0; // pointer to the V0 if V0 is passed to the constructor | |
2fbc0b17 | 77 | |
78 | ClassDef(AliCFPair,0); | |
79 | }; | |
80 | ||
81 | #endif |