Update of the Xiaoming code for pp900 first muon analysis. Fixing wanirngs and violti...
[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* const trk0, AliMuonInfoStoreMC* const 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 DimuSource() const { return fSource; }
31
32   static const char* StdBranchName() { return fgkStdBranchName.Data(); }
33   static const Int_t NSources()      { return fgkNSources;             }
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   fgkNSources;       // 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, 1);
54 };
55
56 #endif