]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/DIFFRACTIVE/AliAnalysisTaskDDMeson.h
run flow analysis with Bayesian pid
[u/mrichter/AliRoot.git] / PWG2 / DIFFRACTIVE / AliAnalysisTaskDDMeson.h
CommitLineData
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
28class AliESDEvent;
29class AliESDtrack;
30
31class TH1I;
32class TH2I;
33class TH2D;
34class TList;
35class THnSparse;
36class TLorentzVector;
37
38class 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