ROOT logo
#ifndef ALIDIMUINFOSTOREMC_H
#define ALIDIMUINFOSTOREMC_H

/* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */ 

//***********************************************************
// Class AliDimuInfoStoreMC
// class used to extract and store info of MC particles
// Author: X-M. Zhang, zhang@clermont.in2p3.fr
//                     zhangxm@iopp.ccnu.edu.cn
//***********************************************************

#include <TLorentzVector.h>
#include "AliDimuInfoStoreRD.h"

class AliMuonInfoStoreMC;
class AliDimuInfoStoreMC : public AliDimuInfoStoreRD {
 public:

  AliDimuInfoStoreMC();
  AliDimuInfoStoreMC(AliMuonInfoStoreMC *trk0, AliMuonInfoStoreMC *trk1, UInt_t selMask, Bool_t full=kFALSE);
  AliDimuInfoStoreMC(const AliDimuInfoStoreMC &src);
  AliDimuInfoStoreMC& operator=(const AliDimuInfoStoreMC &src);
  virtual ~AliDimuInfoStoreMC();

  AliMuonInfoStoreMC* Muon(Int_t i) const { return (i<2 ? (AliMuonInfoStoreMC*)(fMuonRef[i].GetObject()) : 0x0); }

  TLorentzVector LorentzP() const { return fLorentzP; }
  Int_t Source() const { return fSource; }

  static const char* StdBranchName() { return fgkStdBranchName.Data(); }
  static Int_t SourcesN()            { return fgkSourcesN;             }


 private:

  void FindDimuonSourceFast();
  void FindDimuonSourceFull(){}; // PK, not implemented in source yet

  static const TString fgkStdBranchName;  // Standard branch name
  static const Int_t   fgkSourcesN;       // num. of dimuon sources

  Bool_t fIsFull;   // flag of using full analysis (for Pb-Pb)
  TLorentzVector fLorentzP;  // lorentz momentum of MC particle
  Int_t fSource;  // = 0, BBdiff
                  // = 1, Bchain
                  // = 2, DDdiff
                  // = 3, Dchain
                  // = 4, Resonance
                  // = 5, UnCorr bkg

  ClassDef(AliDimuInfoStoreMC, 7);
};

#endif
 AliDimuInfoStoreMC.h:1
 AliDimuInfoStoreMC.h:2
 AliDimuInfoStoreMC.h:3
 AliDimuInfoStoreMC.h:4
 AliDimuInfoStoreMC.h:5
 AliDimuInfoStoreMC.h:6
 AliDimuInfoStoreMC.h:7
 AliDimuInfoStoreMC.h:8
 AliDimuInfoStoreMC.h:9
 AliDimuInfoStoreMC.h:10
 AliDimuInfoStoreMC.h:11
 AliDimuInfoStoreMC.h:12
 AliDimuInfoStoreMC.h:13
 AliDimuInfoStoreMC.h:14
 AliDimuInfoStoreMC.h:15
 AliDimuInfoStoreMC.h:16
 AliDimuInfoStoreMC.h:17
 AliDimuInfoStoreMC.h:18
 AliDimuInfoStoreMC.h:19
 AliDimuInfoStoreMC.h:20
 AliDimuInfoStoreMC.h:21
 AliDimuInfoStoreMC.h:22
 AliDimuInfoStoreMC.h:23
 AliDimuInfoStoreMC.h:24
 AliDimuInfoStoreMC.h:25
 AliDimuInfoStoreMC.h:26
 AliDimuInfoStoreMC.h:27
 AliDimuInfoStoreMC.h:28
 AliDimuInfoStoreMC.h:29
 AliDimuInfoStoreMC.h:30
 AliDimuInfoStoreMC.h:31
 AliDimuInfoStoreMC.h:32
 AliDimuInfoStoreMC.h:33
 AliDimuInfoStoreMC.h:34
 AliDimuInfoStoreMC.h:35
 AliDimuInfoStoreMC.h:36
 AliDimuInfoStoreMC.h:37
 AliDimuInfoStoreMC.h:38
 AliDimuInfoStoreMC.h:39
 AliDimuInfoStoreMC.h:40
 AliDimuInfoStoreMC.h:41
 AliDimuInfoStoreMC.h:42
 AliDimuInfoStoreMC.h:43
 AliDimuInfoStoreMC.h:44
 AliDimuInfoStoreMC.h:45
 AliDimuInfoStoreMC.h:46
 AliDimuInfoStoreMC.h:47
 AliDimuInfoStoreMC.h:48
 AliDimuInfoStoreMC.h:49
 AliDimuInfoStoreMC.h:50
 AliDimuInfoStoreMC.h:51
 AliDimuInfoStoreMC.h:52
 AliDimuInfoStoreMC.h:53
 AliDimuInfoStoreMC.h:54
 AliDimuInfoStoreMC.h:55
 AliDimuInfoStoreMC.h:56
 AliDimuInfoStoreMC.h:57
 AliDimuInfoStoreMC.h:58