ROOT logo
#ifndef ALIDIMUINFOSTORERD_H
#define ALIDIMUINFOSTORERD_H

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

/* $Id$ */ 

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

#include <TObject.h>
#include <TRef.h>
#include <TVector3.h>
#include <TString.h>

#include "AliMuonInfoStoreRD.h"

class AliDimuInfoStoreRD : public TObject {
 public:

  AliDimuInfoStoreRD();
  AliDimuInfoStoreRD(AliMuonInfoStoreRD* const trk0, AliMuonInfoStoreRD* const trk1, UInt_t selMask);
  AliDimuInfoStoreRD(const AliDimuInfoStoreRD &src);
  AliDimuInfoStoreRD& operator=(const AliDimuInfoStoreRD &src);
  virtual ~AliDimuInfoStoreRD();

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

  TVector3 Momentum() const { return fMomentum; }
  Short_t  Charge()   const { return fCharge;   }
  Double_t InvM()     const { return fInvM;     }
  UInt_t   SelMask()  const { return fSelMask;  }
  Bool_t IsSelected(const UInt_t filter) { return ((fSelMask & filter) == filter); }

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

 protected:

  void FillDimuInfo();
  UInt_t fSelMask;   // dimuon selection mask
  TRef fMuonRef[2];  // ref to the two corresponding muon tracks

 private:

  static const TString fgkStdBranchName;  // Standard branch name

  TVector3 fMomentum;  // 3-momentum of dimuon
  Short_t  fCharge;    // charge of dimuon
  Double_t fInvM;      // invariance mass of dimuon

  ClassDef(AliDimuInfoStoreRD, 7);
};

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