]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliDimuInfoStoreRD.h
Changes for #90436: Misuse of TClonesArray containing AliESDMuonCluster
[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);
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
38   Bool_t IsSelected();
39
40   static const char* StdBranchName() { return fgkStdBranchName.Data(); }
41   static void SetSelectionCuts(Double_t cuts[16]) { for (Int_t i=16; i--;) fgCutd[i]=cuts[i]; }
42
43  protected:
44
45   void FillDimuInfo();
46   TRef fMuonRef[2];  // ref to the two corresponding muon tracks
47
48  private:
49
50   static const TString fgkStdBranchName;  // Standard branch name
51   static Double_t fgCutd[16];             // single muon cuts for dimuon selection
52
53   TVector3 fMomentum;  // 3-momentum of dimuon
54   Short_t  fCharge;    // charge of dimuon
55   Double_t fInvM;      // invariance mass of dimuon
56
57   ClassDef(AliDimuInfoStoreRD, 5);
58 };
59
60 #endif