]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliMuonInfoStoreRD.h
fixing the error message
[u/mrichter/AliRoot.git] / PWG / muon / AliMuonInfoStoreRD.h
CommitLineData
fd1d0cb9 1#ifndef ALIMUONINFOSTORERD_H
2#define ALIMUONINFOSTORERD_H
3
4/* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
27de2dfb 7/* $Id$ */
8
fd1d0cb9 9//***********************************************************
10// Class AliMuonInfoStoreRD
11// class used to extract and store reco info of muon track
12// Author: X-M. Zhang, zhang@clermont.in2p3.fr
13// zhangxm@iopp.ccnu.edu.cn
14//***********************************************************
15
16#include <TObject.h>
17#include <TVector3.h>
18#include <TString.h>
19
20class AliAODTrack;
21class AliESDMuonTrack;
22
23class AliMuonInfoStoreRD : public TObject {
24 public:
25
26 AliMuonInfoStoreRD();
27 AliMuonInfoStoreRD(AliAODTrack *trk);
28 AliMuonInfoStoreRD(AliESDMuonTrack *trk);
29 AliMuonInfoStoreRD(const AliMuonInfoStoreRD &src);
30 AliMuonInfoStoreRD& operator=(const AliMuonInfoStoreRD &src);
31 virtual ~AliMuonInfoStoreRD();
32
33 TVector3 Momentum() const { return fMomentum; }
fd1d0cb9 34
35 void XYZAtDCA(Double_t dca[3]) const { for (Int_t i=3; i--;) dca[i]=fDCA[i]; }
36 Double_t DCA() const { return TMath::Sqrt(fDCA[0]*fDCA[0]+fDCA[1]*fDCA[1]); }
37
9bcac085 38 Short_t Charge() const { return fCharge; }
39 Int_t MatchTrigger() const { return fMatchTrigger; }
40 Double_t Chi2Tracker() const { return fChi2FitMomentum; }
41 Double_t Chi2Trigger() const { return fChi2MatchTrigger; }
42 Double_t RabsEnd() const { return fRabsEnd; }
fd1d0cb9 43
6709e09d 44 Bool_t IsSelected();
fd1d0cb9 45
9bcac085 46 static const char* StdBranchName() { return fgkStdBranchName.Data(); }
47 static void SelectionCust(Double_t cuts[16]) { for (Int_t i=16; i--;) cuts[i]=fgCuts[i]; }
48 static void SetSelectionCuts(Double_t cuts[16]) { for (Int_t i=16; i--;) fgCuts[i]=cuts[i]; }
fd1d0cb9 49
50 private:
51
52 void FillMuonInfo(AliAODTrack *trk);
53 void FillMuonInfo(AliESDMuonTrack *trk);
54
55 void SetMomentum(Double_t p[3]) { fMomentum.SetXYZ(p[0],p[1],p[2]); }
fd1d0cb9 56
1195bb6f 57 void SetDCA(Double_t dca[3]) { for (Int_t i=3; i--;) fDCA[i]=dca[i]; }
58 void SetCharge(Short_t charge) { fCharge = charge; }
59 void SetMatchTrigger(Int_t trigger) { fMatchTrigger = trigger; }
60 void SetChi2FitMomentum(Double_t chi2) { fChi2FitMomentum = chi2; }
61 void SetChi2MatchTrigger(Double_t chi2) { fChi2MatchTrigger = chi2; }
62 void SetRabsEnd(Double_t rAbsEnd) { fRabsEnd = rAbsEnd; }
fd1d0cb9 63
64 static const TString fgkStdBranchName; // Standard branch name
9bcac085 65 static Double_t fgCuts[16]; // 0, min of 3-momentum
fd1d0cb9 66 // 1, max of 3-momentum
67 // 2, pt_Min
68 // 3, pt_Max
69 // 4, eta_Min
70 // 5, eta_Max
71 // 6, dca_Min
72 // 7, dca_Max
73 // 8, about trigger matching
74 // 9, about trigger matching
1195bb6f 75 //10, rAbs_Min
76 //11, rAbs_Max
9bcac085 77 //12, chi2Tracker Min
78 //13, chi2Tracker Max
79 //14, chi2Trigger Min
80 //15, chi2Trigger Max
fd1d0cb9 81
82 TVector3 fMomentum; // momentum corrected w vtx
fd1d0cb9 83
84 Double_t fDCA[3]; // distance of closet approach
85 Short_t fCharge; // track charge
86 Int_t fMatchTrigger; // type of match trigger
fd1d0cb9 87 Double_t fChi2FitMomentum; // chi2/NDF of momentum fit
88 Double_t fChi2MatchTrigger; // chi2 of trigger matching
1195bb6f 89 Double_t fRabsEnd; // position at the end of front absorber
fd1d0cb9 90
9bcac085 91 ClassDef(AliMuonInfoStoreRD, 5);
fd1d0cb9 92};
93
94#endif