]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliMuonsHFHeader.h
fixing the error message
[u/mrichter/AliRoot.git] / PWG / muon / AliMuonsHFHeader.h
1 #ifndef ALIMUONSHFHEADER_H
2 #define ALIMUONSHFHEADER_H
3
4 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */ 
8
9 //***********************************************************
10 // Class AliMuonsHFHeader
11 // class used to extract and store info at event level
12 // Author: X-M. Zhang, zhang@clermont.in2p3.fr
13 //                     zhangxm@iopp.ccnu.edu.cn
14 //***********************************************************
15
16 #include <TNamed.h>
17 #include <TString.h>
18
19 class TList;
20 class AliAODEvent;
21 class AliESDEvent;
22
23 class AliMuonInfoStoreRD;
24 class AliDimuInfoStoreRD;
25 class AliMuonInfoStoreMC;
26 class AliDimuInfoStoreMC;
27
28 class AliMuonsHFHeader : public TNamed {
29  public :
30
31   AliMuonsHFHeader();
32   AliMuonsHFHeader(const AliMuonsHFHeader &src);
33   AliMuonsHFHeader& operator=(const AliMuonsHFHeader &src);
34   ~AliMuonsHFHeader();
35
36   void GetXYZ(Double_t *vtx)  const { for (Int_t i=3; i--;) vtx[i]=fVtx[i]; }
37   Double_t Vx()               const { return fVtx[0]; }
38   Double_t Vy()               const { return fVtx[1]; }
39   Double_t Vz()               const { return fVtx[2]; }
40   Double_t Vt()               const { return TMath::Sqrt(fVtx[0]*fVtx[0] + fVtx[1]*fVtx[1]); }
41   Int_t VtxContrsN()          const { return fVtxContrsN; }
42   TString FiredTriggerClass() const { return fFiredTriggerClass; }
43   Float_t Centrality()        const { return fCentrality; }
44   UInt_t SelectionMask()      const { return fSelMask; }
45   Bool_t IsMB()               const { return fIsMB; }
46   Bool_t IsMU()               const { return fIsMU; }
47   Bool_t IsSelected();
48
49   void SetSelectionMask(UInt_t mask) { fSelMask=mask; }
50   void SetVertex(AliVVertex *vertex);
51   void SetFiredTriggerClass(TString trigger);
52   void SetCentrality(Float_t centr) { fCentrality=centr; }
53
54   void CreateHistograms(TList *list);
55   void FillHistosEvnH(TList *list);
56   void FillHistosMuon(TList *list, AliMuonInfoStoreRD* infoStore, Int_t src=-1);
57   void FillHistosDimu(TList *list, AliDimuInfoStoreRD* infoStore, Int_t src=-1);
58
59   static const char* StdBranchName()             { return fgkStdBranchName.Data();          }
60   static void SetAnaMode(Int_t anaMode=0)        { fgAnaMode=anaMode;                       }
61   static void SetIsMC(Int_t isMC=kFALSE)         { fgIsMC   =isMC;                          }
62   static void SetSelectionCuts(Double_t cuts[5]) { for (Int_t i=5; i--;) fgCuts[i]=cuts[i]; }
63
64  private :
65
66   void CreateHistosEvnH(TList *list, TString sName="");
67   void CreateHistosMuon(TList *list, TString sName="");
68   void CreateHistosDimu(TList *list, TString sName="");
69
70   static const TString fgkStdBranchName;  // Standard branch name
71   static Int_t  fgAnaMode;                // analysis mode
72   static Bool_t fgIsMC;                   // flag to use MC
73   static Double_t fgCuts[5];  // 0, low limit of num. of vtx contributors
74                               // 1, up limit of vz
75                               // 2, up limit of vt
76                               // 3, centrality max
77                               // 4, centrality min
78
79   UInt_t fSelMask; // mask of physics selection
80   Bool_t fIsMB;    // is min. bias triggered event (for real data)
81   Bool_t fIsMU;    // is MUON triggered event (for real data)
82   Double_t fVtx[3];   // position of vtx
83   Int_t fVtxContrsN;  // num. of contributors of vtx rec
84
85   TString fFiredTriggerClass; // trigger class
86
87   Float_t fCentrality;  // event centrality class
88
89   ClassDef(AliMuonsHFHeader, 5)
90 };
91
92 #endif