]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/muon/AliDimuInfoStoreMC.h
577384d37eb229c725e986e5fa7a499d555e627d
[u/mrichter/AliRoot.git] / PWG3 / muon / AliDimuInfoStoreMC.h
1 #ifndef ALIDIMUINFOSTOREMC_H
2 #define ALIDIMUINFOSTOREMC_H
3
4 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //***********************************************************
8 // Class AliDimuInfoStoreMC
9 // class used to extract and store info of MC particles
10 // Author: X-M. Zhang, zhang@clermont.in2p3.fr
11 //                     zhangxm@iopp.ccnu.edu.cn
12 //***********************************************************
13
14 #include <TLorentzVector.h>
15 #include "AliDimuInfoStoreRD.h"
16
17 class AliMuonInfoStoreMC;
18 class AliDimuInfoStoreMC : public AliDimuInfoStoreRD {
19  public:
20
21   AliDimuInfoStoreMC();
22   AliDimuInfoStoreMC(AliMuonInfoStoreMC *trk0, AliMuonInfoStoreMC *trk1, Bool_t full=kFALSE);
23   AliDimuInfoStoreMC(const AliDimuInfoStoreMC &src);
24   AliDimuInfoStoreMC& operator=(const AliDimuInfoStoreMC &src);
25   virtual ~AliDimuInfoStoreMC();
26
27   AliMuonInfoStoreMC* Muon(Int_t i) const { return (i<2 ? (AliMuonInfoStoreMC*)(fMuonRef[i].GetObject()) : 0x0); }
28
29   TLorentzVector LorentzP() const { return fLorentzP; }
30   Int_t Source() const { return fSource; }
31
32   static const char* StdBranchName() { return fgkStdBranchName.Data(); }
33   static Int_t SourcesN()            { return fgkSourcesN;             }
34
35
36  private:
37
38   void FindDimuonSourceFast();
39   void FindDimuonSourceFull();
40
41   static const TString fgkStdBranchName;  // Standard branch name
42   static const Int_t   fgkSourcesN;       // num. of dimuon sources
43
44   Bool_t fIsFull;  // flag of using full analysis (for Pb-Pb)
45   TLorentzVector fLorentzP;  // lorentz momentum of MC particle
46   Int_t fSource;  // = 0, BBdiff
47                   // = 1, Bchain
48                   // = 2, DDdiff
49                   // = 3, Dchain
50                   // = 4, Resonance
51                   // = 5, UnCorr bkg
52
53   ClassDef(AliDimuInfoStoreMC, 5);
54 };
55
56 #endif