1 #ifndef ALIRSNMINIPARTICLE_H
2 #define ALIRSNMINIPARTICLE_H
5 // This object is used as lightweight temporary container
6 // of all information needed from any input object and
7 // useful for resonance analysis.
12 #include <TLorentzVector.h>
16 class AliRsnMiniParticle : public TObject {
19 AliRsnMiniParticle() : fIndex(-1), fCharge(0), fPDG(0), fMother(0), fMotherPDG(0), fDCA(0), fCutBits(0x0) {Int_t i = 3; while (i--) fPsim[i] = fPrec[i] = 0.0;}
21 Int_t &Index() {return fIndex;}
22 Char_t &Charge() {return fCharge;}
23 Float_t &PsimX() {return fPsim[0];}
24 Float_t &PsimY() {return fPsim[1];}
25 Float_t &PsimZ() {return fPsim[2];}
26 Float_t &PrecX() {return fPrec[0];}
27 Float_t &PrecY() {return fPrec[1];}
28 Float_t &PrecZ() {return fPrec[2];}
29 Float_t &Px(Bool_t mc) {return (mc ? fPsim[0] : fPrec[0]);}
30 Float_t &Py(Bool_t mc) {return (mc ? fPsim[1] : fPrec[1]);}
31 Float_t &Pz(Bool_t mc) {return (mc ? fPsim[2] : fPrec[2]);}
32 Short_t &PDG() {return fPDG;}
33 Short_t PDGAbs() {return TMath::Abs(fPDG);}
35 Int_t &Mother() {return fMother;}
36 Short_t &MotherPDG() {return fMotherPDG;}
37 UShort_t &CutBits() {return fCutBits;}
38 Double_t DCA() {return fDCA;}
39 Bool_t HasCutBit(Int_t i) {UShort_t bit = 1 << i; return ((fCutBits & bit) != 0);}
40 void SetCutBit(Int_t i) {UShort_t bit = 1 << i; fCutBits |= bit;}
41 void ClearCutBit(Int_t i) {UShort_t bit = 1 << i; fCutBits &= (~bit);}
43 void Set4Vector(TLorentzVector &v, Float_t mass=-1.0, Bool_t mc=kFALSE);
44 void CopyDaughter(AliRsnDaughter *daughter);
48 Int_t fIndex; // ID of track in its event
49 Char_t fCharge; // track charge *character*: '+', '-', '0' (whatever else = undefined)
50 Float_t fPsim[3]; // MC momentum of the track
51 Float_t fPrec[3]; // reconstructed momentum of the track
52 Short_t fPDG; // particle PDG code
53 Int_t fMother; // index of mother in its container
54 Short_t fMotherPDG; // PDG code of mother
55 Double_t fDCA; // DCA of the particle
56 UShort_t fCutBits; // list of bits used to know what cuts were passed by this track
58 ClassDef(AliRsnMiniParticle,3)