1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
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 /////////////////////////////////////////////////////
30 #include "AliVParticle.h"
36 class AliCFPair : public AliVParticle {
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(){};
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 ;
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
69 virtual const Double_t *PID() const {return 0;} // return PID object (to be defined, still)
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
78 ClassDef(AliCFPair,0);