]>
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; | |
10d9a8a6 | 35 | class AliAODv0; |
2fbc0b17 | 36 | |
37 | class AliCFPair : public AliVParticle { | |
38 | ||
39 | public: | |
10d9a8a6 | 40 | AliCFPair(AliVParticle* t1, AliVParticle* t2); |
2fbc0b17 | 41 | AliCFPair(AliESDv0* v0, AliESDEvent* esd); |
10d9a8a6 | 42 | AliCFPair(AliAODv0* v0); |
2fbc0b17 | 43 | AliCFPair(const AliCFPair& c); |
44 | AliCFPair& operator=(const AliCFPair& c); | |
45 | virtual ~AliCFPair(){}; | |
46 | ||
10d9a8a6 | 47 | AliVParticle* GetNeg() const {return fTrackNeg;} |
48 | AliVParticle* GetPos() const {return fTrackPos;} | |
49 | AliESDv0* GetESDV0() const {return fESDV0;} | |
50 | AliAODv0* GetAODV0() const {return fAODV0;} | |
51 | void SetV0PDG(Int_t pdg) {fV0PDG=pdg;} | |
2fbc0b17 | 52 | virtual Bool_t PxPyPz(Double_t p[3]) const ; |
53 | virtual Double32_t P() const ; | |
54 | virtual Double32_t Pt() const ; | |
55 | virtual Double32_t Px() const ; | |
56 | virtual Double32_t Py() const ; | |
57 | virtual Double32_t Pz() const ; | |
58 | virtual Double32_t E () const ; | |
59 | virtual Double32_t Xv() const ; | |
60 | virtual Double32_t Yv() const ; | |
61 | virtual Double32_t Zv() const ; | |
62 | virtual Bool_t XvYvZv(Double_t x[3]) const ; | |
63 | ||
64 | virtual Double32_t OneOverPt() const {return 1/Pt();} | |
65 | virtual Double32_t Phi() const ; | |
66 | virtual Double32_t Theta() const ; | |
67 | virtual Double32_t M() const ; | |
68 | virtual Double32_t Eta() const ; | |
69 | virtual Double32_t Y() const ; | |
70 | virtual Short_t Charge() const {return 0;} // returns 0 because opposite charge tracks... maybe to extend to all kinds of pairs | |
10d9a8a6 | 71 | virtual Int_t GetLabel() const {return fLabel;} |
72 | virtual void SetLabel(Int_t label) {fLabel=label;} | |
d3e71b00 | 73 | virtual void SetMassHypothesis(Double_t massNeg, Double_t massPos) {fMassNeg=massNeg;fMassPos=massPos;} |
2fbc0b17 | 74 | // PID |
75 | virtual const Double_t *PID() const {return 0;} // return PID object (to be defined, still) | |
d977e2d0 | 76 | virtual Int_t PdgCode() const {return 0;} |
2fbc0b17 | 77 | |
78 | private: | |
a1496ace | 79 | Bool_t fIsV0; // true if V0 passed to the constructor |
10d9a8a6 | 80 | AliVParticle* fTrackNeg; // pointer to the negative track |
81 | AliVParticle* fTrackPos; // pointer to the positive track | |
82 | AliESDv0* fESDV0; // pointer to the ESD V0 if AliESDv0 is passed to the constructor | |
83 | AliAODv0* fAODV0; // pointer to the AOD V0 if AliAODv0 is passed to the constructor | |
84 | Int_t fLabel; // associated MC label | |
85 | Int_t fV0PDG; // assumed V0 PDG | |
d3e71b00 | 86 | Double_t fMassNeg; |
87 | Double_t fMassPos; | |
2fbc0b17 | 88 | |
89 | ClassDef(AliCFPair,0); | |
90 | }; | |
91 | ||
92 | #endif |