]>
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 | ||
27de2dfb | 7 | /* $Id$ */ |
8 | ||
fd1d0cb9 | 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 | ||
4292b3b6 | 16 | #include <TNamed.h> |
fd1d0cb9 | 17 | #include <TString.h> |
18 | ||
19 | class TList; | |
9bbc42ca | 20 | class AliMCEvent; |
21 | class AliInputEventHandler; | |
4292b3b6 | 22 | |
fd1d0cb9 | 23 | class AliMuonInfoStoreRD; |
24 | class AliDimuInfoStoreRD; | |
25 | class AliMuonInfoStoreMC; | |
26 | class AliDimuInfoStoreMC; | |
4292b3b6 | 27 | |
28 | class AliMuonsHFHeader : public TNamed { | |
d387f518 | 29 | public: |
4292b3b6 | 30 | |
31 | AliMuonsHFHeader(); | |
fd1d0cb9 | 32 | AliMuonsHFHeader(const AliMuonsHFHeader &src); |
33 | AliMuonsHFHeader& operator=(const AliMuonsHFHeader &src); | |
4292b3b6 | 34 | ~AliMuonsHFHeader(); |
35 | ||
d387f518 | 36 | void GetVMC(Double_t *vtx) const { for (Int_t i=3; i--;) vtx[i]=fVMC[i]; } |
37 | void GetXYZ(Double_t *vtx) const { for (Int_t i=3; i--;) vtx[i]=fVtx[i]; } | |
38 | Double_t Vx() const { return fVtx[0]; } | |
39 | Double_t Vy() const { return fVtx[1]; } | |
40 | Double_t Vz() const { return fVtx[2]; } | |
41 | Double_t Vt() const { return TMath::Sqrt(fVtx[0]*fVtx[0] + fVtx[1]*fVtx[1]); } | |
42 | Int_t VtxContrsN() const { return fVtxContrsN; } | |
43 | TString FiredTriggerClass() const { return fFiredTriggerClass; } | |
44 | UInt_t SelectionMask() const { return fSelMask; } | |
45 | Bool_t IsMB() const { return fIsMB; } | |
46 | Bool_t IsMU() const { return fIsMU; } | |
47 | Int_t CentQA() const { return fCentQA;} | |
48 | Double32_t EventPlane() const { return fEventPlane; } | |
49 | Bool_t IsSelected(); | |
50 | ||
51 | void SetEventInfo(AliInputEventHandler* const handler); | |
1195bb6f | 52 | |
53 | void CreateHistograms(TList *list); | |
54 | void FillHistosEvnH(TList *list); | |
326edc3a | 55 | void FillHistosMuon(TList *list, AliMuonInfoStoreRD* infoStore, Int_t src=0); |
56 | void FillHistosDimu(TList *list, AliDimuInfoStoreRD* infoStore, Int_t src=0); | |
1195bb6f | 57 | |
58 | static const char* StdBranchName() { return fgkStdBranchName.Data(); } | |
9bcac085 | 59 | static void SetSelectionCuts(Double_t cuts[5]) { for (Int_t i=5; i--;) fgCuts[i]=cuts[i]; } |
4292b3b6 | 60 | |
d387f518 | 61 | void SetAnaMode(Int_t anaMode) { fAnaMode = anaMode; } |
62 | void SetIsMC(Int_t isMC) { fIsMC = isMC; } | |
63 | Int_t GetAnaMode() const { return fAnaMode; } | |
64 | Int_t GetNumOfTracklets() const { return fNumOfTrklets; } | |
65 | UInt_t GetTrgInpts() const { return fTrgInpts; } | |
66 | Float_t GetImpParam() const { return fImpParam; } | |
67 | ||
68 | Bool_t IsMC() const { return fIsMC; } | |
69 | Bool_t IsEvtInChunk() const { return fIsEvtInChunk; } | |
70 | Bool_t IsVtxSeled2013pA() const { return fIsVtxSeled2013pA; } | |
71 | ||
72 | enum { kV0M=0, kV0A, kV0C, kCL1, kZNA, kZNC }; | |
73 | Float_t Centrality(Int_t centEstor=0); | |
74 | ||
75 | enum { | |
76 | kPUc1z1 = BIT(0), // (minContributor=3, minZdis=0.5) | |
77 | kPUc1z2 = BIT(1), // (3, 0.6) | |
78 | kPUc1z3 = BIT(2), // (3, 0.8) | |
79 | kPUc1z4 = BIT(3), // (3, 0.9) | |
80 | kPUc2z1 = BIT(4), // (minContributor=4, minZdis=0.5) | |
81 | kPUc2z2 = BIT(5), // (4, 0.6) | |
82 | kPUc2z3 = BIT(6), // (4, 0.8) | |
83 | kPUc2z4 = BIT(7), // (4, 0.9) | |
84 | kPUc3z1 = BIT(8), // (minContributor=5, minZdis=0.5) | |
85 | kPUc3z2 = BIT(9), // (5, 0.6) | |
86 | kPUc3z3 = BIT(10), // (5, 0.8) | |
87 | kPUc3z4 = BIT(11), // (5, 0.9) | |
88 | kPUc4z1 = BIT(12), // (minContributor=6, minZdis=0.5) | |
89 | kPUc4z2 = BIT(13), // (6, 0.6) | |
90 | kPUc4z3 = BIT(14), // (6, 0.8) | |
91 | kPUc4z4 = BIT(15) // (6, 0.9) | |
92 | }; | |
93 | UInt_t GetPUMask() const { return fPUMask; } | |
94 | ||
4292b3b6 | 95 | private : |
96 | ||
b46f66fc | 97 | void CreateHistosEvnH(TList *list, TString sName=""); |
1195bb6f | 98 | void CreateHistosMuon(TList *list, TString sName=""); |
99 | void CreateHistosDimu(TList *list, TString sName=""); | |
fd1d0cb9 | 100 | |
d387f518 | 101 | UInt_t CollectPUMask(AliVEvent *event); // collect the mask for the plie-up identification |
102 | ||
103 | static const TString fgkStdBranchName; // Standard branch name | |
104 | static Double_t fgCuts[5]; // 0, low limit of num. of vtx contributors | |
105 | // 1, up limit of vz | |
106 | // 2, up limit of vt | |
107 | // 3, centrality max | |
108 | // 4, centrality min | |
109 | ||
110 | Int_t fAnaMode; // analysis mode | |
111 | Bool_t fIsMC; // flag to use MC | |
112 | UInt_t fSelMask; // mask of physics selection | |
113 | Bool_t fIsMB; // is min. bias triggered event (for real data) | |
114 | Bool_t fIsMU; // is MUON triggered event (for real data) | |
115 | Double_t fVtx[3]; // position of vtx | |
116 | Double_t fVMC[3]; // position of vtx in MC | |
117 | Int_t fVtxContrsN; // num. of contributors of vtx rec | |
118 | TString fFiredTriggerClass; // trigger class | |
119 | Int_t fCentQA; // quality of centrality determination | |
120 | Double32_t fEventPlane; // event plane angle | |
121 | Bool_t fIsEvtInChunk; // flag denotes whether the event is in the chunk | |
122 | Bool_t fIsVtxSeled2013pA; // vertex selection based on 2013pA criteria | |
123 | Int_t fNumOfTrklets; // num. of tracklets | |
124 | UInt_t fTrgInpts; // trigger inputs (ID) | |
125 | Float_t fImpParam; // impact parameter | |
126 | ||
127 | Float_t fCentralityV0M; //centrality determinated via employed estimators | |
128 | Float_t fCentralityV0A; | |
129 | Float_t fCentralityV0C; | |
130 | Float_t fCentralityCL1; | |
131 | Float_t fCentralityZNA; | |
132 | Float_t fCentralityZNC; | |
133 | ||
134 | UInt_t fPUMask; // mask for tagging pile-up event | |
135 | ||
136 | ClassDef(AliMuonsHFHeader, 8) | |
4292b3b6 | 137 | }; |
138 | ||
139 | #endif |