1 #ifndef ALIRESONANCEKINKLIKESIGN_H
2 #define ALIRESONANCEKINKLIKESIGN_H
4 /* See cxx source for full Copyright notice */
6 //--------------------------------------------------------------------------------
7 // class AliResonanceKinkLikeSign
8 // This task is an example of an analysis task
9 // for producing a like-sign background for resonances having at least one
10 // kaon-kink in their decay products.
11 // Author: Paraskevi Ganoti, University of Athens (pganoti@phys.uoa.gr)
12 //---------------------------------------------------------------------------------
14 #include "AliAnalysisTaskSE.h"
24 class AliResonanceKinkLikeSign : public AliAnalysisTaskSE {
26 AliResonanceKinkLikeSign(const char *name = "AliResonanceKinkLikeSign");
27 virtual ~AliResonanceKinkLikeSign() {}
29 virtual void UserCreateOutputObjects();
30 virtual void UserExec(Option_t *option);
31 virtual void Terminate(Option_t *);
33 void SetPDGCodes(Int_t d1, Int_t d2) {fdaughter1pdg=d1; fdaughter2pdg=d2;}
34 void SetHistoSettings(Int_t nbins, Float_t nlowx, Float_t nhighx) {fnbins=nbins; fnlowx=nlowx; fnhighx=nhighx;}
35 Float_t GetSigmaToVertex(AliESDtrack* esdTrack) const ;
36 const AliESDVertex *GetEventVertex(const AliESDEvent* esd) const;
37 void SetDebugLevel(Int_t level) {fDebug = level;}
38 Bool_t IsAcceptedForKink(AliESDEvent *localesd, const AliESDVertex *localvertex, AliESDtrack *localtrack);
39 Bool_t IsAcceptedForTrack(AliESDEvent *localesd, const AliESDVertex *localvertex, AliESDtrack *localtrack);
40 Bool_t IsKink(AliESDEvent *localesd, Int_t kinkIndex, TVector3 trackMom);
42 void SetMaxNsigmaToVertex(Float_t maxNSigmaToVertex) {
43 fMaxNSigmaToVertex=maxNSigmaToVertex;
45 Float_t GetMaxNsigmaToVertex() const {return fMaxNSigmaToVertex;}
47 void SetPtTrackCut(Double_t minPtTrackCut) {
48 fMinPtTrackCut=minPtTrackCut;
50 Double_t GetPtTrackCut() const {return fMinPtTrackCut;}
52 void SetMaxDCAxy(Double_t maxDCAxy) {
55 Double_t GetMaxDCAxy() const {return fMaxDCAxy;}
57 void SetMaxDCAzaxis(Double_t maxDCAzaxis) {
58 fMaxDCAzaxis=maxDCAzaxis;
60 Double_t GetMaxDCAzaxis() const {return fMaxDCAzaxis;}
62 void SetMinTPCclusters(Int_t minTPCclusters) {
63 fMinTPCclusters=minTPCclusters;
65 Int_t GetMinTPCclusters() const {return fMinTPCclusters;}
67 void SetMaxChi2PerTPCcluster(Double_t maxChi2PerTPCcluster) {
68 fMaxChi2PerTPCcluster=maxChi2PerTPCcluster;
70 Double_t GetMaxChi2PerTPCcluster() const {return fMaxChi2PerTPCcluster;}
72 void SetMaxCov0(Double_t maxCov0) {
75 Double_t GetMaxCov0() const {return fMaxCov0;}
77 void SetMaxCov2(Double_t maxCov2) {
80 Double_t GetMaxCov2() const {return fMaxCov2;}
82 void SetMaxCov5(Double_t maxCov5) {
85 Double_t GetMaxCov5() const {return fMaxCov5;}
87 void SetMaxCov9(Double_t maxCov9) {
90 Double_t GetMaxCov9() const {return fMaxCov9;}
92 void SetMaxCov14(Double_t maxCov14) {
95 Double_t GetMaxCov14() const {return fMaxCov14;}
98 Int_t fDebug; // Debug flag
99 // AliESDEvent *fESD; // ESD object
100 TList *fListOfHistos; // List
101 TF1 *f1; //upper limit curve for the decay K->mu
102 TF1 *f2; //upper limit curve for the decay pi->mu
103 TH1D *fPosKaonLikeSign; // negative spectrum
104 TH2D *fLikeSignInvmassPt; // negative spectrum
105 Float_t fMaxNSigmaToVertex; // standard cut to select primary tracks
106 Double_t fMinPtTrackCut; // lower pt cut for the tracks
107 Double_t fMaxDCAxy; // impact parameter in the xy plane
108 Double_t fMaxDCAzaxis; // impact parameter in the z axis
109 Int_t fMinTPCclusters; // standard cut for the TPC clusters
110 Double_t fMaxChi2PerTPCcluster; // standard cut for the chi2 of the TPC clusters
111 Double_t fMaxCov0; // standard cut
112 Double_t fMaxCov2; // standard cut
113 Double_t fMaxCov5; // standard cut
114 Double_t fMaxCov9; // standard cut
115 Double_t fMaxCov14; // standard cut
116 Int_t fdaughter1pdg; // pdg code of the resonance's first daughter
117 Int_t fdaughter2pdg; // pdg code of the resonance's second daughter
118 Int_t fnbins; // Inv mass histo number of bins
119 Float_t fnlowx; // Inv mass histo lower limit
120 Float_t fnhighx; // Inv mass histo upper limit
121 AliResonanceKinkLikeSign(const AliResonanceKinkLikeSign&); // not implemented
122 AliResonanceKinkLikeSign& operator=(const AliResonanceKinkLikeSign&); // not implemented
124 ClassDef(AliResonanceKinkLikeSign, 1); // example of analysis