]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AliMuonsHFHeader.h
Make it working with the new trigger classes. Include more cases in the track counter...
[u/mrichter/AliRoot.git] / PWG3 / muon / AliMuonsHFHeader.h
CommitLineData
4292b3b6 1#ifndef ALIMUONSHFHEADER_H
2#define ALIMUONSHFHEADER_H
3
fd1d0cb9 4/* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
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//***********************************************************
13
4292b3b6 14#include <TNamed.h>
fd1d0cb9 15#include <TString.h>
16
17class TList;
18class AliAODEvent;
19class AliESDEvent;
4292b3b6 20
fd1d0cb9 21class AliMuonInfoStoreRD;
22class AliDimuInfoStoreRD;
23class AliMuonInfoStoreMC;
24class AliDimuInfoStoreMC;
4292b3b6 25
26class AliMuonsHFHeader : public TNamed {
27 public :
28
29 AliMuonsHFHeader();
fd1d0cb9 30 AliMuonsHFHeader(const AliMuonsHFHeader &src);
31 AliMuonsHFHeader& operator=(const AliMuonsHFHeader &src);
4292b3b6 32 ~AliMuonsHFHeader();
33
1195bb6f 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; }
42
43 void SetEvent(AliVVertex *vertex);
44 void SetFiredTriggerClass(TString trigger) { fFiredTriggerClass=trigger; }
45 Bool_t EventSelection();
46
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);
51
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; }
fd1d0cb9 55 static void SetSelectionCuts(Double_t cuts[3]) { for (Int_t i=3; i--;) fgCuts[i]=cuts[i]; }
4292b3b6 56
57 private :
58
1195bb6f 59 void CreateHistosEvnH(TList *list);
60 void CreateHistosMuon(TList *list, TString sName="");
61 void CreateHistosDimu(TList *list, TString sName="");
fd1d0cb9 62
63 static const TString fgkStdBranchName; // Standard branch name
fd1d0cb9 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
67 // 1, up limit of vz
68 // 2, up limit of vt
69
1195bb6f 70 Double_t fVtx[3]; // position of vtx
71 Int_t fVtxContrsN; // num. of contributors of vtx rec
fd1d0cb9 72
1195bb6f 73 TString fFiredTriggerClass; // trigger class
fd1d0cb9 74
1195bb6f 75 Double_t fCentrality; // event centrality class
fd1d0cb9 76
1195bb6f 77 ClassDef(AliMuonsHFHeader, 3)
4292b3b6 78};
79
80#endif