]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliDimuInfoStoreRD.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muon / AliDimuInfoStoreRD.h
1 #ifndef ALIDIMUINFOSTORERD_H
2 #define ALIDIMUINFOSTORERD_H
3
4 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */ 
8
9 //***********************************************************
10 // Class AliDimuInfoStoreRD
11 // class used to extract and store reco info of dimu candidate
12 // Author: X-M. Zhang, zhang@clermont.in2p3.fr
13 //                     zhangxm@iopp.ccnu.edu.cn
14 //***********************************************************
15
16 #include <TObject.h>
17 #include <TRef.h>
18 #include <TVector3.h>
19 #include <TString.h>
20
21 #include "AliMuonInfoStoreRD.h"
22
23 class AliDimuInfoStoreRD : public TObject {
24  public:
25
26   AliDimuInfoStoreRD();
27   AliDimuInfoStoreRD(AliMuonInfoStoreRD* const trk0, AliMuonInfoStoreRD* const trk1, UInt_t selMask);
28   AliDimuInfoStoreRD(const AliDimuInfoStoreRD &src);
29   AliDimuInfoStoreRD& operator=(const AliDimuInfoStoreRD &src);
30   virtual ~AliDimuInfoStoreRD();
31
32   AliMuonInfoStoreRD* Muon(Int_t i) const { return (i<2 ? (AliMuonInfoStoreRD*)(fMuonRef[i].GetObject()) : 0x0); }
33
34   TVector3 Momentum() const { return fMomentum; }
35   Short_t  Charge()   const { return fCharge;   }
36   Double_t InvM()     const { return fInvM;     }
37   UInt_t   SelMask()  const { return fSelMask;  }
38   Bool_t IsSelected(const UInt_t filter) { return ((fSelMask & filter) == filter); }
39
40   static const char* StdBranchName() { return fgkStdBranchName.Data(); }
41
42  protected:
43
44   void FillDimuInfo();
45   UInt_t fSelMask;   // dimuon selection mask
46   TRef fMuonRef[2];  // ref to the two corresponding muon tracks
47
48  private:
49
50   static const TString fgkStdBranchName;  // Standard branch name
51
52   TVector3 fMomentum;  // 3-momentum of dimuon
53   Short_t  fCharge;    // charge of dimuon
54   Double_t fInvM;      // invariance mass of dimuon
55
56   ClassDef(AliDimuInfoStoreRD, 7);
57 };
58
59 #endif