Added event cut set for MC
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnMiniPair.h
CommitLineData
03d23846 1#ifndef ALIRSNMINIPAIR_H
2#define ALIRSNMINIPAIR_H
3
4//
5// This object is used as lightweight temporary container
61f275d1 6// of all information needed from any input object and
03d23846 7// useful for resonance analysis.
61f275d1 8//
03d23846 9
10#include <TObject.h>
11#include <TLorentzVector.h>
12
13class AliRsnMiniParticle;
14
15class AliRsnMiniPair : public TObject {
16public:
17
18 AliRsnMiniPair() : fMother(-1), fMotherPDG(0) { }
19
61f275d1 20 Int_t &Mother() {return fMother;}
21 Int_t &MotherPDG() {return fMotherPDG;}
03d23846 22 void Fill(AliRsnMiniParticle *p1, AliRsnMiniParticle *p2, Double_t m1, Double_t m2, Double_t refMass);
23 void FillRef(Double_t mass);
6aaeb33c 24 void InvertP(Bool_t first);
61f275d1 25
03d23846 26 Int_t ID(Bool_t mc) const {if (mc) return 1; else return 0;}
61f275d1 27
28 TLorentzVector &P1 (Bool_t mc) {return fP1 [ID(mc)];}
29 TLorentzVector &P2 (Bool_t mc) {return fP2 [ID(mc)];}
30 TLorentzVector &Sum(Bool_t mc) {return fSum[ID(mc)];}
31 TLorentzVector &Ref(Bool_t mc) {return fRef[ID(mc)];}
32
03d23846 33 Double_t Pt(Bool_t mc) const {return fSum[ID(mc)].Pt();}
34 Double_t Pz(Bool_t mc) const {return fSum[ID(mc)].Pz();}
35 Double_t Eta(Bool_t mc) const {return fSum[ID(mc)].Eta();}
36 Double_t InvMass(Bool_t mc) const {return fSum[ID(mc)].M();}
61f275d1 37 Double_t InvMassRes() const;
38 Double_t InvMassDiff() const;
03d23846 39 Double_t Mt(Bool_t mc) const {return fRef[ID(mc)].Mt();}
40 Double_t Y(Bool_t mc) const {return fRef[ID(mc)].Rapidity();}
41 Double_t PtRatio(Bool_t mc) const;
42 Double_t DipAngle(Bool_t mc) const;
43 Double_t CosThetaStar(Bool_t mc);
397c0062 44 Double_t DaughterPt(Int_t daughterId, Bool_t mc);
45 void DaughterPxPyPz(Int_t daughterId, Bool_t mc, Double_t *pxpypz);
46
47 private:
48
03d23846 49 TLorentzVector fP1 [2]; // 1st daughter momentum
50 TLorentzVector fP2 [2]; // 2nd daughter momentum
51 TLorentzVector fSum[2]; // sum of momenta
52 TLorentzVector fRef[2]; // same as 'fSum' but with nominal resonance mass
397c0062 53
03d23846 54 Int_t fMother; // label of mothers (when common)
55 Int_t fMotherPDG; // PDG code of mother (when common)
397c0062 56
03d23846 57 ClassDef(AliRsnMiniPair,1)
397c0062 58 };
03d23846 59
60#endif