task for ESD kink analysis (Martha)
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Kinks / AliAnalysisKinkESDat.h
1 #ifndef ALIANALYSISKINKESDat_H
2 #define ALIANALYSISKINKESDat_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //                 AliAnalysisKinkESDat class
8 //         This task is an example of an analysis task
9 //                  for kink topology Study
10 //          Authors: Martha Spyropoulou-Stassinaki
11 //           and members of the Greek group at the
12 //          Physics Department of Athens University
13 //                    mspyrop@phys.uoa.gr
14 //-----------------------------------------------------------------
15 //class AliTPCPIDResponse;
16 class AliESDVertex;
17 class AliESDtrack;
18 class TF1;
19 class TH1F;
20 class TH2F;
21 class TH3F;
22 class TH1D;
23 class TH2D;
24 class TList;
25 class AliESDtrackCuts;
26
27 #include "AliAnalysisTaskSE.h"
28
29 class AliAnalysisKinkESDat : public AliAnalysisTaskSE {
30  public:
31  // AliAnalysisKinkESDat();
32   AliAnalysisKinkESDat(const char *name = "AliAnalysisKinkESDat");
33   virtual ~AliAnalysisKinkESDat() {}
34
35   virtual void   UserCreateOutputObjects();
36   virtual void   UserExec(Option_t *option);
37   virtual void   Terminate(Option_t *);
38   
39   const AliESDVertex *GetEventVertex(const AliESDEvent* esd) const;
40 //           Marek multiplicity bins
41   void SetMulCut(Int_t low, Int_t up){fLowMulcut=low;fUpMulcut=up;}       
42
43  private:
44    TH1F        *fHistPtESD; //Pt spectrum of all ESD inside eta, Pt cuts
45    TH1F        *fHistPt; //Pt spectrum of all ESD tracks
46    TH1F        *fHistQtAll; //Qt spectrum of all kinks
47    TH1F        *fHistQt1; //Qt spectrum of Kaon selected sample
48    TH1F        *fHistQt2; //Qt spectrum in Qt region of kaons
49    TH1F        *fHistPtKaon; //Pt Kaon spectrum of clean sample
50    TH1F        *fHistPtKPDG; //Pt Kaon spectrum , confirmed by  PDG,inside kaon Qt region
51    TH1F        *fHistEta; //Eta spectrum of all kinks
52    TH1F        *fHistEtaK; //Eta spectrum of kaons selected by kink topology
53    TH1F        *fptKMC; //Pt Kaon spectrum MC, inside eta and pt cuts 
54    TH1F        *fMultiplMC; //charge multipl MC 
55    TH1F        *fESDMult; //ESD charged mult
56    TH1F        *fgenpt; //Pt Kaon-Kink->mu  spectrum , MC, inside eta, Pt, radius cuts
57    TH1F        *frad; //radius of kinks,  MC , inside the eta nad Pt cuts 
58    TH1F        *fKinkKaon; //Pt of PDG Kaons inside the selcted ones by the KInk topology 
59    TH1F        *fKinKRbn; //Pt of PDG Kaons inside the selcted ones by the KInk topology 
60    TH1F        *fKinkKaonBg; //Pt of the BG inside the kink-Kaon identified spectrum
61    TH1F        *fM1kaon; //inv mass of kink-tracks taken as kaons decaying to  mu + neutrino
62    TH1F        *fgenPtEtR; //MC Pt spectrum of kaons decaying to muon+neutrino and pi +pi, inside eta,Pt,Rad cuts
63    TH1F        *fPtKink; //Pt  spectrum   of all kinks  from track bank
64    TH1F        *fptKink; //Pt  spectrum of all kinks from kink bank
65    TH2F        *fcodeH ; //PDG code(mother)  vrs PDG dcode(daughter) of kinks with Qt <0.12 (fake)
66    TH2F        *fdcodeH ; //inks, code  vrs dcode of BG,if mother code is 321 and daughter code > 
67    TH2F        *fAngMomK; // Decay angle vrs Mother Mom for pdg kaons
68    TH2F        *fAngMomPi; // Decay angle vrs Mother Mom for pdg pions
69    TH2F        *fAngMomKC; //Decay angle vrs Mother Mom for pdg kaons, inside the selected sample
70    TH1F        *fMultESDK; //ESD charged mult
71    TH1F        *fMultMCK; //MC K charged mult
72    TH2F        *fSignPtNcl;//signPt vrs number of clusters in TPC for kaons from kink sele sample
73    TH2F        *fSignPtEta;//signPt vrs Eta  in TPC for kaons from kink sele sample
74    TH2F        *fEtaNcl;//Eta    vrs Nclu in TPC for kaons from kink sele sample
75    TH1F        *fSignPt;//signPt  in TPC for kaons from kink sele sample
76    TH2F        *fChi2NclTPC;//chi2 vrs TPC Nclusters for kaons from kink sele sample
77    TH1F        *fRatChi2Ncl;// Ratio chi2/ Ncl  TPC  for kaons from kink sele sample
78    TH2F        *fRadiusNcl;//kink  Radius      Ncl  TPC  for kaons from kink sele sample
79    TH2F        *fTPCSgnlP;//kink  Radius      Ncl  TPC  for kaons from kink sele sample
80    TH2F        *fTPCSgnlPa;//kink  Radius      Ncl  TPC  for  kink sele sample
81    TH1D        *fRpr; // Radius of VTX at Y , X plane              
82    TH1D        *fZpr; //Z distrio of main vertex                  
83    TH1D        *fdcatoVxXY; //dca to Vertex XY  distrio                   
84    TH1D        *fnSigmToVx; //nSigma to Vertex  distrio of main vertex                  
85    TH2F        *fKinkMothDau; //Mother vrs Daughter                                       
86    TH2F        *fZvXv; //two dime of Z vrs X of vtx main           
87    TH2F        *fZvYv; // two dime of Z vrs Y of vtx main           
88    TH2F        *fXvYv; // two dime of X vrs Y of main tracks vtx main           
89    TH1F        *fPtPrKink; // pt of Primary PDG kaons inside the selected ones by the kink topology              
90    TH1F        *fHistPtKaoP; //Pt Kaon spectrum of clean sample pos
91    TH1F        *fHistPtKaoN; //Pt Kaon spectrum of clean sample neg
92    TH1F        *frapiKESD;// rapidi K      
93    TH1F        *flifetime;//radius of kinks,  MC , inside the eta nad Pt cuts 
94    TH1F        *fradLK;//Length  of kinks,  MC , inside the eta nad Pt cuts 
95    TH3F        *fradPtRpDt;//radius of kinks,  MC , inside the eta nad Pt cuts 
96    TH1F        *fInvMuNuAll;//radius of kinks,  MC , inside the eta nad Pt cuts 
97    TH2F        *fQtInvM;// 
98    TH1F        *fDCAkink;//!MC dcs kink
99    TH2F        *fPosiKink;//!MC position  kink
100    TH2F        *fPosiKinkK;//!MC position  kink
101    TH2F        *fPosiKinKXZ;//!MC position  kink
102    TH2F        *fPosiKinKYZ;//!MC position  kink
103    TH2F        *fPosiKinKBg;//!MC position  kink
104    TH2F        *fQtMothP;//!qt vrs p mother  
105
106    TF1         *f1;
107    TF1         *f2;
108   TList        *fListOfHistos; // list of histos
109 //          Marek Multiplicity
110 Int_t fLowMulcut;  // 
111 Int_t fUpMulcut;
112 AliESDtrackCuts* fCutsMul;
113
114   AliAnalysisKinkESDat(const AliAnalysisKinkESDat&); // not implemented
115   AliAnalysisKinkESDat& operator=(const AliAnalysisKinkESDat&); // not implemented
116
117   ClassDef(AliAnalysisKinkESDat, 1); // example of analysis
118 };
119
120 #endif