]>
Commit | Line | Data |
---|---|---|
f9afc48d | 1 | #ifndef ALIRESONANCEKINK_H |
2 | #define ALIRESONANCEKINK_H | |
10eaad41 | 3 | |
4 | /* See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------------------------------ | |
f9afc48d | 7 | // class AliResonanceKink |
10eaad41 | 8 | // This task is an example of an analysis task |
9 | // for analysing resonances having one kaon kink | |
10 | //Author: Paraskevi Ganoti, University of Athens (pganoti@phys.uoa.gr) | |
11 | //------------------------------------------------------------------------------ | |
be1a7181 | 12 | |
92adf4f6 | 13 | #include "TVector3.h" |
be1a7181 | 14 | |
10eaad41 | 15 | class TF1; |
92adf4f6 | 16 | class TH1D; |
17 | class TH2D; | |
10eaad41 | 18 | class AliESDEvent; |
f27d6e67 | 19 | class AliESDtrack; |
f9afc48d | 20 | class AliESDVertex; |
21 | class AliMCEvent; | |
22 | class TList; | |
23 | class TString; | |
10eaad41 | 24 | |
f9afc48d | 25 | class AliResonanceKink : public TObject { |
10eaad41 | 26 | public: |
f9afc48d | 27 | |
28 | enum ResonanceType {kPhi=333, kKstar0=313, kLambda1520=3124}; | |
10eaad41 | 29 | |
f9afc48d | 30 | AliResonanceKink(); |
31 | AliResonanceKink(Int_t nbins, Float_t nlowx, Float_t nhighx, Int_t daughter1, Int_t daughter2, Int_t resonancePDG); | |
32 | virtual ~AliResonanceKink(); | |
10eaad41 | 33 | |
f9afc48d | 34 | TList* GetHistogramList(); |
35 | void Analyse(AliESDEvent* esd, AliMCEvent* mcEvent); | |
10eaad41 | 36 | Float_t GetSigmaToVertex(AliESDtrack* esdTrack) const ; |
37 | const AliESDVertex *GetEventVertex(const AliESDEvent* esd) const; | |
0aa3a5b9 | 38 | void SetDebugLevel(Int_t level) {fDebug = level;} |
f9afc48d | 39 | void SetAnalysisType(TString type) {fAnalysisType=type;} |
40 | void SetPDGCodes(Int_t d1, Int_t d2, Int_t res) {fdaughter1pdg=d1; fdaughter2pdg=d2; fresonancePDGcode=res;} | |
41 | void InitOutputHistograms(Int_t nbins, Float_t nlowx, Float_t nhighx); | |
92adf4f6 | 42 | Bool_t IsAcceptedForKink(AliESDEvent *localesd, const AliESDVertex *localvertex, AliESDtrack *localtrack); |
43 | Bool_t IsAcceptedForTrack(AliESDEvent *localesd, const AliESDVertex *localvertex, AliESDtrack *localtrack); | |
44 | Bool_t IsKink(AliESDEvent *localesd, Int_t kinkIndex, TVector3 trackMom); | |
45 | ||
46 | void SetMaxNsigmaToVertex(Float_t maxNSigmaToVertex) { | |
47 | fMaxNSigmaToVertex=maxNSigmaToVertex; | |
48 | } | |
49 | Float_t GetMaxNsigmaToVertex() const {return fMaxNSigmaToVertex;} | |
50 | ||
51 | void SetPtTrackCut(Double_t minPtTrackCut) { | |
52 | fMinPtTrackCut=minPtTrackCut; | |
53 | } | |
54 | Double_t GetPtTrackCut() const {return fMinPtTrackCut;} | |
55 | ||
56 | void SetMaxDCAxy(Double_t maxDCAxy) { | |
57 | fMaxDCAxy=maxDCAxy; | |
58 | } | |
59 | Double_t GetMaxDCAxy() const {return fMaxDCAxy;} | |
60 | ||
61 | void SetMaxDCAzaxis(Double_t maxDCAzaxis) { | |
62 | fMaxDCAzaxis=maxDCAzaxis; | |
63 | } | |
64 | Double_t GetMaxDCAzaxis() const {return fMaxDCAzaxis;} | |
65 | ||
66 | void SetMinTPCclusters(Int_t minTPCclusters) { | |
67 | fMinTPCclusters=minTPCclusters; | |
68 | } | |
69 | Int_t GetMinTPCclusters() const {return fMinTPCclusters;} | |
70 | ||
71 | void SetMaxChi2PerTPCcluster(Double_t maxChi2PerTPCcluster) { | |
72 | fMaxChi2PerTPCcluster=maxChi2PerTPCcluster; | |
73 | } | |
74 | Double_t GetMaxChi2PerTPCcluster() const {return fMaxChi2PerTPCcluster;} | |
75 | ||
76 | void SetMaxCov0(Double_t maxCov0) { | |
77 | fMaxCov0=maxCov0; | |
78 | } | |
79 | Double_t GetMaxCov0() const {return fMaxCov0;} | |
80 | ||
81 | void SetMaxCov2(Double_t maxCov2) { | |
82 | fMaxCov2=maxCov2; | |
83 | } | |
84 | Double_t GetMaxCov2() const {return fMaxCov2;} | |
85 | ||
86 | void SetMaxCov5(Double_t maxCov5) { | |
87 | fMaxCov5=maxCov5; | |
88 | } | |
89 | Double_t GetMaxCov5() const {return fMaxCov5;} | |
90 | ||
91 | void SetMaxCov9(Double_t maxCov9) { | |
92 | fMaxCov9=maxCov9; | |
93 | } | |
94 | Double_t GetMaxCov9() const {return fMaxCov9;} | |
95 | ||
96 | void SetMaxCov14(Double_t maxCov14) { | |
97 | fMaxCov14=maxCov14; | |
98 | } | |
99 | Double_t GetMaxCov14() const {return fMaxCov14;} | |
100 | ||
101 | //void SetTPCrefit() {Int_t fTPCrefitFlag=kTRUE;} | |
102 | ||
10eaad41 | 103 | private: |
f9afc48d | 104 | |
0aa3a5b9 | 105 | Int_t fDebug; // Debug flag |
92adf4f6 | 106 | TList *fListOfHistos; // List |
107 | TH1D *fOpeningAngle; // Opening | |
108 | TH1D *fInvariantMass; // invMass spectrum | |
109 | TH1D *fInvMassTrue; // invMassTrue spectrum | |
110 | TH1D *fPhiBothKinks; // bothKaonsKinks | |
111 | TH1D *fRecPt; // pT spectrum | |
112 | TH1D *fRecEta; // Eta spectrum | |
113 | TH2D *fRecEtaPt; // Eta pT spectrum | |
114 | TH1D *fSimPt; // pT Sim spectrum | |
115 | TH1D *fSimEta; // Eta Sim spectrum | |
116 | TH2D *fSimEtaPt; // Eta pT Sim spectrum | |
117 | TH1D *fSimPtKink; // pT Sim one kaon kink spectrum | |
118 | TH1D *fSimEtaKink; // Eta Sim one kaon kink spectrum spectrum | |
119 | TH2D *fSimEtaPtKink; // Eta pT Sim one kaon kink spectrum | |
120 | TH1D *fhdr ; // radial impact | |
121 | TH1D *fhdz ; // z impact | |
04c3c355 | 122 | TF1 *f1; //upper limit curve for the decay K->mu |
123 | TF1 *f2; //upper limit curve for the decay pi->mu | |
10eaad41 | 124 | TString fAnalysisType;//"ESD" or "MC" |
92adf4f6 | 125 | TH1D *fvtxz ; // vtx z component |
126 | Int_t fNbins; // bins | |
127 | Float_t fLowX;// lowx | |
128 | Float_t fHighX; // high x | |
04c3c355 | 129 | Int_t fdaughter1pdg; // pdg code of the resonance's first daughter |
130 | Int_t fdaughter2pdg; // pdg code of the resonance's second daughter | |
131 | Int_t fresonancePDGcode; // pdg code of the resonance | |
132 | Float_t fMaxNSigmaToVertex; // standard cut to select primary tracks | |
133 | Double_t fMinPtTrackCut; // lower pt cut for the tracks | |
134 | Double_t fMaxDCAxy; // impact parameter in the xy plane | |
135 | Double_t fMaxDCAzaxis; // impact parameter in the z axis | |
136 | Int_t fMinTPCclusters; // standard cut for the TPC clusters | |
137 | Double_t fMaxChi2PerTPCcluster; // standard cut for the chi2 of the TPC clusters | |
138 | Double_t fMaxCov0; // standard cut | |
139 | Double_t fMaxCov2; // standard cut | |
140 | Double_t fMaxCov5; // standard cut | |
141 | Double_t fMaxCov9; // standard cut | |
142 | Double_t fMaxCov14; // standard cut | |
143 | TH2D *fInvmassPt; // 2D histo for invariant mass calculation in pt bins (all pairs, ESD) | |
144 | TH2D *fInvmassPtTrue; // 2D histo for invariant mass calculation in pt bins (true pairs, ESD) | |
145 | TH2D *fMCInvmassPt; // 2D histo for invariant mass calculation in pt bins (all pairs, MC) | |
146 | TH2D *fMCInvmassPtTrue; // 2D histo for invariant mass calculation in pt bins (true pairs, MC) | |
92adf4f6 | 147 | // Bool_t fTPCrefitFlag; |
10eaad41 | 148 | |
f9afc48d | 149 | AliResonanceKink(const AliResonanceKink&); // not implemented |
150 | AliResonanceKink& operator=(const AliResonanceKink&); // not implemented | |
10eaad41 | 151 | |
f9afc48d | 152 | ClassDef(AliResonanceKink, 1); // example of analysis |
10eaad41 | 153 | }; |
154 | ||
155 | #endif |