AliCFContainer now based on THnSparse by default.
[u/mrichter/AliRoot.git] / CORRFW / AliCFPair.h
CommitLineData
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
32class AliESDtrack ;
33class AliESDv0;
34class AliESDEvent;
35
36class 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