]>
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 | ||
fd1d0cb9 | 34 | ULong64_t TriggerMask() const { return fTriggerMask; } |
35 | TString FiredTrigger() const { return fFiredTrigger; } | |
36 | Int_t NFiredTrigger() const { return fNFiredTrigger; } | |
37 | Int_t EventType() const { return fEventType; } | |
38 | Bool_t IsPhysicsTriggered() const { return fIsPhysicsTriggered; } | |
39 | Bool_t IsPhysicsAccepted() const { return fIsPhysicsAccepted; } | |
40 | Bool_t IsTriggerFired(TString trigger); | |
41 | ||
42 | void GetXYZ(Double_t *vtx) const { for (Int_t i=3; i--;) vtx[i]=fVtx[i]; } | |
43 | Double_t Vx() const { return fVtx[0]; } | |
44 | Double_t Vy() const { return fVtx[1]; } | |
45 | Double_t Vz() const { return fVtx[2]; } | |
46 | Double_t Vt() const { return TMath::Sqrt(fVtx[0]*fVtx[0] + fVtx[1]*fVtx[1]); } | |
47 | Bool_t IsUnrecoVertex() const { return fUnrecoVertex; } | |
48 | Int_t NVtxContributors() const { return fNContributors; } | |
49 | ||
50 | void GetXYZSPD(Double_t *vtx) const { for (Int_t i=3; i--;) vtx[i]=fVtxSPD[i]; } | |
51 | Double_t VxSPD() const { return fVtxSPD[0]; } | |
52 | Double_t VySPD() const { return fVtxSPD[1]; } | |
53 | Double_t VzSPD() const { return fVtxSPD[2]; } | |
54 | Double_t VtSPD() const { return TMath::Sqrt(fVtxSPD[0]*fVtxSPD[0] + fVtxSPD[1]*fVtxSPD[1]); } | |
55 | Bool_t IsUnrecoVtxSPD() const { return fUnrecoVtxSPD; } | |
56 | Int_t NVtxContributorsSPD() const { return fNContributorsSPD; } | |
57 | Int_t NTrackletsSPD() const { return fNTrackletsSPD; } | |
58 | ||
59 | Double_t Centrality() const { return fCentrality; } | |
60 | ||
61 | void SetEvent(AliAODEvent *event); | |
62 | void SetEvent(AliESDEvent *event); | |
63 | ||
64 | void EventSelection(TString triggerName); | |
65 | void CreateHistograms(TList *listEvent=0, TList *listMuon=0, TList *listDimu=0); | |
66 | void CreateHistosEventH(TList *list); | |
67 | void CreateHistosMuonRD(TList *list); | |
68 | void CreateHistosDimuRD(TList *list); | |
69 | void CreateHistosMuonMC(TList *list); | |
70 | void CreateHistosDimuMC(TList *list); | |
71 | ||
72 | void FillHistosEventH(TList *list); | |
73 | void FillHistosMuonRD(TList *list, AliMuonInfoStoreRD* const muonStoreRD); | |
74 | void FillHistosDimuRD(TList *list, AliDimuInfoStoreRD* const dimuStoreRD); | |
75 | void FillHistosMuonMC(TList *list, AliMuonInfoStoreMC* const muonStoreMC); | |
76 | void FillHistosDimuMC(TList *list, AliDimuInfoStoreMC* const dimuStoreMC); | |
77 | ||
78 | static const char* StdBranchName() { return fgkStdBranchName.Data(); } | |
021f8d29 | 79 | static Bool_t IsEventSelected() { return fgIsEventSelected; } |
fd1d0cb9 | 80 | static void SetAnaMode(Int_t anaMode=0) { fgAnaMode=anaMode; } |
81 | static void SetIsMC(Int_t isMC=kFALSE) { fgIsMC =isMC; } | |
82 | static void SetSelectionCuts(Double_t cuts[3]) { for (Int_t i=3; i--;) fgCuts[i]=cuts[i]; } | |
4292b3b6 | 83 | |
84 | private : | |
85 | ||
fd1d0cb9 | 86 | void SetFiredTrigger(TString str); |
87 | void PhysicsTriggerAna(const AliESDEvent *esd); | |
88 | void EventSelection(); | |
89 | ||
90 | static const TString fgkStdBranchName; // Standard branch name | |
91 | static Bool_t fgIsEventSelected; // flag for event selection | |
92 | static Int_t fgAnaMode; // analysis mode | |
93 | static Bool_t fgIsMC; // flag to use MC | |
94 | static Double_t fgCuts[3]; // 0, low limit of num. of vtx contributors | |
95 | // 1, up limit of vz | |
96 | // 2, up limit of vt | |
97 | ||
98 | ULong64_t fTriggerMask; // trigger mask | |
99 | TString fFiredTrigger; // fired of trigger class of event | |
100 | Int_t fNFiredTrigger; // num. of fired trigger class | |
101 | Bool_t fIsPhysicsTriggered; // flag of final physics trigger from AliPhysicsSelection | |
102 | Bool_t fIsPhysicsAccepted; // flag of physiscs selection w/ BKG Id | |
103 | Int_t fEventType; // event type | |
104 | ||
105 | Double32_t fVtx[3]; // position of vtx | |
106 | Bool_t fUnrecoVertex; // flag for unreco vtx | |
107 | Int_t fNContributors; // num. of contributors of vtx rec | |
108 | ||
109 | Double32_t fVtxSPD[3]; // position of vtx | |
110 | Bool_t fUnrecoVtxSPD; // flag for unreco vtx | |
111 | Int_t fNContributorsSPD; // num. of contributors of vtx rec | |
112 | Int_t fNTrackletsSPD; // num. of SPD tracklets | |
113 | ||
114 | Double_t fCentrality; // event centrality class | |
115 | ||
116 | ClassDef(AliMuonsHFHeader, 2) | |
4292b3b6 | 117 | }; |
118 | ||
119 | #endif |