]>
Commit | Line | Data |
---|---|---|
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 | ||
17 | class TList; | |
18 | class AliAODEvent; | |
19 | class AliESDEvent; | |
4292b3b6 | 20 | |
fd1d0cb9 | 21 | class AliMuonInfoStoreRD; |
22 | class AliDimuInfoStoreRD; | |
23 | class AliMuonInfoStoreMC; | |
24 | class AliDimuInfoStoreMC; | |
4292b3b6 | 25 | |
26 | class 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 |