1 #ifndef ALIMUONSHFHEADER_H
2 #define ALIMUONSHFHEADER_H
4 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //***********************************************************
8 // Class AliMuonsHFHeader
9 // class used to extract and store info at event level
10 // Author: X-M. Zhang, zhang@clermont.in2p3.fr
11 // zhangxm@iopp.ccnu.edu.cn
12 //***********************************************************
21 class AliMuonInfoStoreRD;
22 class AliDimuInfoStoreRD;
23 class AliMuonInfoStoreMC;
24 class AliDimuInfoStoreMC;
26 class AliMuonsHFHeader : public TNamed {
30 AliMuonsHFHeader(const AliMuonsHFHeader &src);
31 AliMuonsHFHeader& operator=(const AliMuonsHFHeader &src);
34 void GetXYZ(Double_t *vtx) const { for (Int_t i=3; i--;) vtx[i]=fVtx[i]; }
35 Double_t Vx() const { return fVtx[0]; }
36 Double_t Vy() const { return fVtx[1]; }
37 Double_t Vz() const { return fVtx[2]; }
38 Double_t Vt() const { return TMath::Sqrt(fVtx[0]*fVtx[0] + fVtx[1]*fVtx[1]); }
39 Int_t VtxContrsN() const { return fVtxContrsN; }
40 TString FiredTriggerClass() const { return fFiredTriggerClass; }
41 Double_t Centrality() const { return fCentrality; }
43 void SetEvent(AliVVertex *vertex);
44 void SetFiredTriggerClass(TString trigger) { fFiredTriggerClass=trigger; }
45 Bool_t EventSelection();
47 void CreateHistograms(TList *list);
48 void FillHistosEvnH(TList *list);
49 void FillHistosMuon(TList *list, AliMuonInfoStoreRD* infoStore, Int_t src=-1);
50 void FillHistosDimu(TList *list, AliDimuInfoStoreRD* infoStore, Int_t src=-1);
52 static const char* StdBranchName() { return fgkStdBranchName.Data(); }
53 static void SetAnaMode(Int_t anaMode=0) { fgAnaMode=anaMode; }
54 static void SetIsMC(Int_t isMC=kFALSE) { fgIsMC =isMC; }
55 static void SetSelectionCuts(Double_t cuts[3]) { for (Int_t i=3; i--;) fgCuts[i]=cuts[i]; }
59 void CreateHistosEvnH(TList *list);
60 void CreateHistosMuon(TList *list, TString sName="");
61 void CreateHistosDimu(TList *list, TString sName="");
63 static const TString fgkStdBranchName; // Standard branch name
64 static Int_t fgAnaMode; // analysis mode
65 static Bool_t fgIsMC; // flag to use MC
66 static Double_t fgCuts[3]; // 0, low limit of num. of vtx contributors
70 Double_t fVtx[3]; // position of vtx
71 Int_t fVtxContrsN; // num. of contributors of vtx rec
73 TString fFiredTriggerClass; // trigger class
75 Double_t fCentrality; // event centrality class
77 ClassDef(AliMuonsHFHeader, 3)