]>
Commit | Line | Data |
---|---|---|
878f37d6 | 1 | /************************************************************************* |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | // | |
16 | // Select events accroding to L0 trigger input | |
17 | // Reconstruct 2pi mass | |
18 | // save charge, Armenteros' x and y, pid, momentum | |
19 | // | |
20 | ||
21 | #ifndef ALIANALYSISTASKDDMESON_H | |
22 | #define ALIANALYSISTASKDDMESON_H | |
23 | ||
24 | #ifndef ALIANALYSISTASK_H | |
25 | #include "AliAnalysisTaskSE.h" | |
26 | #endif | |
27 | ||
28 | class AliESDEvent; | |
29 | class AliESDtrack; | |
30 | ||
31 | class TH1I; | |
32 | class TH2I; | |
33 | class TH2D; | |
34 | class TList; | |
35 | class THnSparse; | |
36 | class TLorentzVector; | |
37 | ||
38 | class AliAnalysisTaskDDMeson : public AliAnalysisTaskSE{ | |
39 | public: | |
40 | ||
41 | AliAnalysisTaskDDMeson(const TString opt); | |
42 | AliAnalysisTaskDDMeson(const AliAnalysisTaskDDMeson &p); | |
43 | AliAnalysisTaskDDMeson& operator=(const AliAnalysisTaskDDMeson &p); | |
44 | virtual ~AliAnalysisTaskDDMeson(); | |
45 | ||
46 | virtual void UserCreateOutputObjects(); | |
47 | virtual void UserExec(Option_t *); | |
48 | virtual void Terminate(Option_t *); | |
49 | ||
50 | void IniTask(); | |
51 | ||
52 | Bool_t CheckESD(); | |
53 | Bool_t CheckBit(); | |
54 | Int_t CutESD(const AliESDtrack *outtrk[]); | |
55 | //Bool_t CutTrack(const AliESDtrack * esdtrack) const; | |
56 | ||
57 | //------ | |
58 | void SwapTrack(const AliESDtrack * trks[]) const; | |
59 | ||
60 | Int_t GetV0() const; | |
61 | Int_t GetCombCh(const Double_t s1, const Double_t s2) const; | |
62 | ||
63 | TLorentzVector GetKinematics(const Double_t *pa, const Double_t *pb, const Double_t ma, const Double_t mb, Double_t & cts) const; | |
64 | Double_t GetCtlab(const Double_t *pa, const Double_t *pb) const; | |
65 | ||
66 | void CheckRange(Double_t &ptv, Double_t &pta, Double_t &etaa | |
67 | , Double_t &mpi | |
68 | ) const; | |
69 | ||
70 | void FillBit(); | |
71 | void CalcBit(TH1I *hc, Double_t tot[]) const; | |
72 | ||
73 | //--- | |
74 | void SPDLoadGeom() const; | |
75 | Bool_t SPDLoc2Glo(const Int_t id, const Double_t *loc, Double_t *glo) const; | |
76 | Bool_t CheckChipEta(const Int_t chipKey) const; | |
77 | void GetNFO(Int_t &ni, Int_t &no) const; | |
78 | ||
79 | private: | |
80 | TString fOpt; //option | |
81 | AliESDEvent *fESD; //esd event | |
82 | //------ | |
83 | ||
84 | Int_t fnmass; //nbins for mass | |
85 | Double_t fmass1; //upper edge of axis | |
86 | ||
87 | Int_t fnptv; //nbins for p | |
88 | Double_t fptv1; //upper edge of axis | |
89 | ||
90 | Int_t fnpta; //nbins for p | |
91 | Double_t fpta1; //upper edge of axis | |
92 | ||
93 | Int_t fneta; //nbins for eta | |
94 | Double_t feta; //upper edge of axis | |
95 | ||
96 | Int_t fnnsel; //nbins for nsel | |
97 | Double_t fnsel1; //upper edge of axis | |
98 | ||
99 | Int_t fncts; //nbins for cts | |
100 | Int_t fnctlab; //nbins for ctlab | |
101 | ||
102 | //------ | |
103 | Int_t fCHECKVBA; //V0A bit | |
104 | Int_t fCHECKVBC; //V0C bit | |
105 | ||
106 | TH1I *fHBIT; //histogram of bits | |
107 | Int_t fBitcg; //trigger bit configuration | |
108 | ||
109 | Int_t fRun; //run number | |
110 | TH1I *fat; //V0A-only | |
111 | TH1I *fct; //V0C-only | |
112 | TH1I *fbt; //V0A & V0C | |
113 | TH1I *fnt; //!V0A & !V0C | |
114 | TH1I *ftt; //TOTAL | |
115 | ||
116 | //------ | |
117 | TH2D *fv0ntrk; //v0bit vs. nch | |
118 | TH2D *frsntrk; //raw vs. sel | |
119 | ||
120 | TH1I *fhps; //V0 BG | |
121 | TH2I *fhfo; //SPD fastor hardware, in eta acceptance | |
122 | TH1I *fhspd;//SPD fastor offline | |
123 | TH2I *fhv0fmd; //v0 vs fmd | |
124 | TH1I *fhpriv; //primary vertex cut effect | |
125 | TH1I *fhntrk; //n-trk-after-cut effect | |
126 | ||
127 | //------ | |
128 | TList *fHist; //output list | |
129 | THnSparse *fThnMass; //ThnSparse for mother pt and Mass | |
130 | THnSparse *fThnDPt; //ThnSparse for pt and eta of daughter | |
131 | THnSparse *fThnDEta; //ThnSparse for pt and eta of daughter | |
132 | THnSparse *fThnKF; //kf | |
133 | ClassDef(AliAnalysisTaskDDMeson, 1); | |
134 | }; | |
135 | ||
136 | ||
137 | #endif | |
138 |