Update for Kink tasks:
[u/mrichter/AliRoot.git] / PWG2 / KINK / AliAnalysisKinkESDMC.h
1 #ifndef ALIANALYSISKINKESDMC_H
2 #define ALIANALYSISKINKESDMC_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //                 AliAnalysisKinkESDMC 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
16 #include "AliAnalysisTaskSE.h"
17
18 class AliESDtrack;
19 class AliESDVertex;
20 class AliESDEvent;
21 class TH1F;
22 class TH2F;
23 class TH1D;
24 class TF1;
25 class TList;
26
27 class AliAnalysisKinkESDMC : public AliAnalysisTaskSE {
28  public:
29  // AliAnalysisKinkESDMC();
30   AliAnalysisKinkESDMC(const char *name = "AliAnalysisKinkESDMC");
31   virtual ~AliAnalysisKinkESDMC() {}
32
33   virtual void   UserCreateOutputObjects();
34   virtual void   UserExec(Option_t *option);
35   virtual void   Terminate(Option_t *);
36   
37   Float_t  GetSigmaToVertex(AliESDtrack* esdTrack) const;
38   const AliESDVertex *GetEventVertex(const AliESDEvent* esd) const;
39   
40  private:
41    TH1F        *fHistPtESD; //Pt spectrum of all ESD inside eta, Pt cuts
42    TH1F        *fHistPt; //Pt spectrum of all ESD tracks
43    TH1F        *fHistQtAll; //Qt spectrum of all kinks
44    TH1F        *fHistQt1; //Qt spectrum of Kaon selected sample
45    TH1F        *fHistQt2; //Qt spectrum in Qt region of kaons
46    TH1F        *fHistPtKaon; //Pt Kaon spectrum of clean sample
47    TH1F        *fHistPtKPDG; //Pt Kaon spectrum , confirmed by  PDG,inside kaon Qt region
48    TH1F        *fHistEta; //Eta spectrum of all kinks
49    TH1F        *fHistEtaK; //Eta spectrum of kaons selected by kink topology
50    TH1F        *fptKMC; //Pt Kaon spectrum MC, inside eta and pt cuts 
51    TH1F        *fMultiplMC; //charge multipl MC 
52    TH1F        *fESDMult; //ESD charged mult
53    TH1F        *fgenpt; //Pt Kaon-Kink->mu  spectrum , MC, inside eta, Pt, radius cuts
54    TH1F        *frad; //radius of kinks,  MC , inside the eta nad Pt cuts 
55    TH1F        *fKinkKaon; //Pt of PDG Kaons inside the selcted ones by the KInk topology 
56    TH1F        *fKinkKaonBg; //Pt of the BG inside the kink-Kaon identified spectrum
57    TH1F        *fM1kaon; //inv mass of kink-tracks taken as kaons decaying to  mu + neutrino
58    TH1F        *fgenPtEtR; //MC Pt spectrum of kaons decaying to muon+neutrino and pi +pi, inside eta,Pt,Rad cuts
59    TH1F        *fPtKink; //Pt  spectrum   of all kinks  from track bank
60    TH1F        *fptKink; //Pt  spectrum of all kinks from kink bank
61    TH2F        *fcodeH ; //PDG code(mother)  vrs PDG dcode(daughter) of kinks with Qt <0.12 (fake)
62    TH2F        *fdcodeH ; //inks, code  vrs dcode of BG,if mother code is 321 and daughter code > 
63    TH2F        *fAngMomK; // Decay angle vrs Mother Mom for pdg kaons
64    TH2F        *fAngMomPi; // Decay angle vrs Mother Mom for pdg pions
65    TH2F        *fAngMomKC; //Decay angle vrs Mother Mom for pdg kaons, inside the selected sample
66    TH1F        *fMultESDK; //ESD charged mult
67    TH1F        *fMultMCK; //MC K charged mult
68    TH1D        *fRpr; // Radius of VTX at Y , X plane              
69    TH1D        *fZpr; //Z distrio of main vertex                  
70    TH2F        *fZvXv; //two dime of Z vrs X of vtx main           
71    TH2F        *fZvYv; // two dime of Z vrs Y of vtx main           
72    TH2F        *fXvYv; // two dime of X vrs Y of main tracks vtx main           
73    TH1F        *fPtPrKink; // pt of Primary PDG kaons inside the selected ones by the kink topology              
74    TF1         *f1; // upper limit curve for the decay K->mu
75    TF1         *f2; // upper limit curve for the decay pi->mu
76   TList        *fListOfHistos; // list of histos
77
78   AliAnalysisKinkESDMC(const AliAnalysisKinkESDMC&); // not implemented
79   AliAnalysisKinkESDMC& operator=(const AliAnalysisKinkESDMC&); // not implemented
80
81   ClassDef(AliAnalysisKinkESDMC, 1); // example of analysis
82 };
83
84 #endif