ROOT logo
#ifndef ALIANALYSISKINKESDMC_H
#define ALIANALYSISKINKESDMC_H

/*  See cxx source for full Copyright notice */

//-----------------------------------------------------------------
//                 AliAnalysisKinkESDMC class
//         This task is an example of an analysis task
//                  for kink topology Study
//          Authors: Martha Spyropoulou-Stassinaki
//           and members of the Greek group at the
//          Physics Department of Athens University
//                    mspyrop@phys.uoa.gr
//-----------------------------------------------------------------

class AliPIDResponse;
class AliESDEvent;
class AliESDVertex;
class AliESDtrack;
class TF1;
class TH1F;
class TH2F;
class TH1D;
class TH2D;
class TList;
class AliESDtrackCuts;
class AliPhysicsSelection;

#include "AliAnalysisTaskSE.h"

class AliAnalysisKinkESDMC : public AliAnalysisTaskSE {
 public:
  AliAnalysisKinkESDMC(const char *name = "AliAnalysisKinkESDMC");
  virtual ~AliAnalysisKinkESDMC() {}

  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t *);
  
  const AliESDVertex *GetEventVertex(const AliESDEvent* esd) const;
//  const AliESDVertex *GetEventVertex(AliESDEvent* esd) ;
  void SetMulCut(Int_t low, Int_t up){fLowMulcut=low;fUpMulcut=up;}

  void SetKinkRadius(Float_t lRadiusKLow, Float_t lRadiusKUp)  { fKinkRadLow=lRadiusKLow; fKinkRadUp=lRadiusKUp;}

  
         void SetNClusterCut(Int_t lowCluster){fLowCluster=lowCluster;}
  void SetQtCut(Float_t   lowQt){fLowQt=lowQt;}
     void SetYKRange(Float_t  RapidityK){fRapiK=RapidityK;}

 private:
   TH1F        *fHistPtESD; //!Pt spectrum of all ESD inside eta, Pt cuts
   TH1F        *fHistPt; //!Pt spectrum of all ESD tracks
   TH1F        *fHistQtAll; //!Qt spectrum of all kinks
   TH1F        *fHistQt1; //!Qt spectrum of Kaon selected sample
   TH1F        *fHistQt2; //!Qt spectrum in Qt region of kaons
   TH1F        *fHistPtKaon; //!Pt Kaon spectrum of clean sample
   TH1F        *fHistPtKPDG; //!Pt Kaon spectrum , confirmed by  PDG,inside kaon Qt region
   TH1F        *fHistEta; //!Eta spectrum of all kinks
   TH1F        *fHistEtaK; //!Eta spectrum of kaons selected by kink topology
   TH1F        *fptKMC; //!Pt Kaon spectrum MC, inside eta and pt cuts 
   TH1F        *fMultiplMC; //!charge multipl MC 
   TH1F        *fESDMult; //!ESD charged mult
   TH1F        *frad; //!radius of kinks,  MC , inside the eta nad Pt cuts 
   TH1F        *fradMC; //!radius of kinks,  MC , inside the eta nad Pt cuts 
   TH1F        *fKinkKaon; //!Pt of PDG Kaons inside the selcted ones by the KInk topology 
   TH1F        *fKinkKaonBg; //!Pt of the BG inside the kink-Kaon identified spectrum
   TH1F        *fM1kaon; //!inv mass of kink-tracks taken as kaons decaying to  mu + neutrino
   TH1F        *fgenPtEtR; //!MC Pt spectrum of kaons decaying to muon+neutrino and pi +pi, inside eta,Pt,Rad cuts
   TH1F        *fPtKink; //!Pt  spectrum   of all kinks  from track bank
   TH2F        *fcodeH; //!PDG code(mother)  vrs PDG dcode(daughter) of kinks with Qt <0.12 (fake)
   TH2F        *fdcodeH; //!inks, code  vrs dcode of BG,if mother code is 321 and daughter code > 
   TH2F        *fAngMomK; //! Decay angle vrs Mother Mom for pdg kaons
   TH2F        *fAngMomPi; //! Decay angle vrs Mother Mom for pdg pions
   TH2F        *fAngMomKC; //!Decay angle vrs Mother Mom for pdg kaons, inside the selected sample
   TH1F        *fMultESDK; //!ESD charged mult
   TH1F        *fMultMCK; //!MC K charged mult
   TH2F        *fSignPtNcl;//!signPt vrs number of clusters in TPC for kaons from kink sele sample
   TH2F        *fSignPtEta;//!signPt vrs Eta  in TPC for kaons from kink sele sample
   TH2F        *fSignPtEtaMC;//!signPt vrs Eta  in TPC for kaons from kink sele sample
   TH1F        *fSignPtMC;//!signPt   in TPC for kaons 
   TH2F        *fEtaNcl;//!Eta    vrs Nclu in TPC for kaons from kink sele sample
   TH1F        *fSignPt;//!signPt  in TPC for kaons from kink sele sample
   TH2F        *fChi2NclTPC;//!chi2 vrs TPC Nclusters for kaons from kink sele sample
   TH1F        *fRatChi2Ncl;//! Ratio chi2/ Ncl  TPC  for kaons from kink sele sample
   TH2F        *fRadiusNcl;//! Radis  f kink vetex   for kaons from kink sele sample
   TH2F        *fTPCSgnlP;//! TPC de/dx signal      for kaons from kink sele sample
   TH2F        *fTPCSgnlPa;//! TPC de/dx signal      for  kink  sample
   TH1F        *fSignPtGen;//!signPt   in TPC for kaonsgenerated 
   TH1D        *fRpr;//! Radius of VTX at Y , X plane
   TH1D        *fZpr;//!Z distrio of main vertex                  
   TH1D        *fdcatoVxXY;//! dca to Vertex XY distr          
   TH1F        *fMCEtaKaon;//!MC eta for kaons                                     
   TH2F        *fZvXv;//! two dime of Z vrs X of vtx main           
   TH2F        *fZvYv;//! two dime of Z vrs Y of vtx main           
   TH2F        *fXvYv;//! two dime of X vrs Y of main tracks vtx main           
   TH1F        *fPtPrKink;//! pt of Primary PDG kaons inside the selected ones by the kink topology              
   TH1F        *fgenPtEtRP;//!MC Pt spectrum of kaons decaying to muon+neutrino and pi +pi, inside eta,Pt,Rad cuts
   TH1F        *fgenPtEtRN;//!MC Pt spectrum of kaons decaying to muon+neutrino and pi +pi, inside eta,Pt,Rad cuts
   TH1F        *fkinkKaonP;//!MC Pt spectrum of kaons decaying to muon+neutrino and pi +pi, inside eta,Pt,Rad cuts
   TH1F        *fkinkKaonN;//!MC Pt spectrum of kaons decaying to muon+neutrino and pi +pi, inside eta,Pt,Rad cuts
   TH1F        *frapidESDK;//!MC ESD K  rapidity distr.                                                                   
   TH1F        *frapidKMC;//!MC MC K rapidity dis
   TH1F        *fPtKPlMC;//!MC MC K rapidity dis
   TH1F        *fPtKMnMC;//!MC MC K rapidity dis
   TH1F        *fHistPtKaoP;//!MC MC K rapidity dis
   TH1F        *fHistPtKaoN;//!MC MC K rapidity dis
   TH1F        *fHiPtKPDGP;//!MC MC K rapidity dis
   TH1F        *fHiPtKPDGN;//!MC MC K rapidity dis
   TH1F        *fKinKBGP;//!MC MC K rapidity dis
   TH1F        *fKinKBGN;//!MC MC K rapidity dis
   TH1F        *fQtKMu;//!MC MC K Qt K to mu
   TH1F        *fQtKPi;//!MC MC K Qt K to mu
   TH1F        *fQtKEl;//!MC MC K Qt K to mu
   TH1F        *fFakepipi;//!MC Fake pipi
   TH1F        *fFakeKPi;//!MC Fake Kpi
   TH1F        *fDCAkink;//!MC dcs kink
   TH1F        *fDCAkinkBG;//!MC dcs kink
   TH2F        *fPosiKink;//!MC position  kink
   TH2F        *fPosiKinkK;//!MC position  kink
   TH2F        *fPosiKinKXZ;//!MC position  kink
   TH2F        *fPosiKinKYZ;//!MC position  kink
   TH2F        *fPosiKinKBgZY;//!MC position  kink
   TH2F        *fcode2;//!PDG code(mother)  vrs PDG dcode(daughter) of kinks with Qt <0.12 (fake)
   TH2F        *fcode4;//!PDG code(mother)  vrs PDG dcode(daughter) of kinks with Qt <0.12 (fake)
   TH2F        *fZkinkZDau;//!   z-position of kink z position of daughter bg                       )
   TH1F        *fQtKMuMC;//!MC MC K Qt K to mu
   TH1F        *fQtKElMC;//!MC MC K Qt K to mu
   TH1F        *fQtKPiMC;//!MC MC K Qt K to mu
   TH1F        *fQtK3PiP;//!EDS   K Qt K to 3Pi
   TH1F        *fQtK3PiM;//!EDS   K Qt K to 3Pi
   TH2F        *fmaxAngMomKmu; //!Decay angle vrs Mother Mom for pdg kaons, inside the selected sample
   TH2F        *fPosiKinKBgZX;//!MC position  kink
   TH2F        *fPosiKinKBgXY;//!MC position  kink
   TH1F        *fMinvPi;//!MC R life time     
   TH1F        *fMinvKa;//!MC R life time     
   TH1F        *fMinvPr;//!MC R life time     
   TH2F        *fTPCSgnlPtpc;//Kink mother moment vrs TPC signal                 
   TH2F        *fTPCMomNSgnl;//kink  mother TPC momentum vrs nsigmas of dEdx                    
   TH2F        *fMothKinkMomSgnl;//kink  mother TPC momentum vrs nsigmas of dEdx                    
   TH1F        *fNSigmTPC;//kink  mother TPC momentum vrs nsigmas of dEdx                    
   TH2F        *fTPCSgnlKinkDau;//Kink mother moment vrs TPC signal 
   TH2F        *fcodeDau1;//!PDG code(mother)  vrs PDG dcode(daughter) of kinks   daughters          
   TH2F        *fcodeDau2;//!PDG code(mother)  vrs PDG dcode(daughter) of kinks   daughters , Bg study
   TH2F        *fMothKinkMomSgnlD;//kink  mother TPC momentum vrs nsigmas of dEdx                    
   TH1F        *fInvMassMuNuAll;//kinks,  Inv Mass all kinks  MuNu                                       
   TH2F        *fInvMassMuNuPt;//kinks,Invariant Mass MuNu     vs Pt                                         
   TH2F        *fInvMassMuNuPtAll;//kinks,Invariant Mass MuNu     vs Pt      22/8/2013                                   
   TH1F        *fRatioCrossedRows; //ratio  crossed rows                                           
   TH1F        *fRatioCrossedRowsKink; //ratio  crossed rows  for kinks                                      
   TH2F        *fRadiusPt;//kinks,  Radius      vs Pt                                        
   TH2F        *fRadiusPtcln;//kinks,  Radius      vs Pt    for clean kaons                                  
   TH2F        *fRadiusPtKaon;//kinks,  Radius      vs Pt    for clean kaons                                  
   TH2F        *fRadiusPtPion;//kinks,  Radius      vs Pt    for clean kaons                                  
   TH2F        *fRadiusPtFake;//kinks,  Radius      vs Pt    for clean kaons                                  
   TH1F        *fPtCut1; //K Pt  spectrum   of all kinks  from track bank, K0 bins
   TH1F        *fPtCut2; //K Pt  spectrum   of all kinks  from track bank, K0 bins
   TH1F        *fPtCut3; //K Pt  spectrum   of all kinks  from track bank, K0 bins
   TH2F        *fAngMomKKinks;//kinks,  Angle vs Momentum  for K-kinks                                      
    TH1F        *flengthMCK;//!MC R life time
   TH1F        *flifetiMCK;//!MC R life time
   TH1F        *flifetim2;//!MC R life time
   TH1F        *fLHelESDK;//!MC R life time
   TH1F        *flifeInt;//!MC R life time
   TH1F        *flifeYuri;//!MC R life time
   TH1F        *flenYuri;//!MC R life time
   TH1F        *flenTrRef;//!MC R life time
   TH1F        *flifeSmall;//!MC R life time
   TH1F        *flifetime;//!MC R life time
   TH1F        *flifTiESDK;//!MC R life time
   TH1F        *flifeKink;//!MC R life time
   TH1F        *flenHelx;//!MC R life time
   TH3F        *fradPtRapMC;//!MC R life time
   TH3F        *fradPtRapDC;//!MC R life time
   TH3F        *fradPtRapESD;//!MC R life time
   TH2F        *fRadNclcln;//!MC R life time


    
   TF1         *f1;
   TF1         *f2;
  TList        *fListOfHistos; //! list of histos

 Int_t fLowMulcut; //
Int_t fUpMulcut;
Float_t fKinkRadUp;
Float_t fKinkRadLow;
    Int_t fLowCluster;
Float_t  fLowQt;
 Float_t  fRapiK;

AliESDtrackCuts*  fCutsMul;

     AliESDtrackCuts* fMaxDCAtoVtxCut;
 AliPIDResponse *fPIDResponse;     //! PID response object

  AliAnalysisKinkESDMC(const AliAnalysisKinkESDMC&); // not implemented
  AliAnalysisKinkESDMC& operator=(const AliAnalysisKinkESDMC&); // not implemented

  ClassDef(AliAnalysisKinkESDMC, 1); // example of analysis
};

#endif
 AliAnalysisKinkESDMC.h:1
 AliAnalysisKinkESDMC.h:2
 AliAnalysisKinkESDMC.h:3
 AliAnalysisKinkESDMC.h:4
 AliAnalysisKinkESDMC.h:5
 AliAnalysisKinkESDMC.h:6
 AliAnalysisKinkESDMC.h:7
 AliAnalysisKinkESDMC.h:8
 AliAnalysisKinkESDMC.h:9
 AliAnalysisKinkESDMC.h:10
 AliAnalysisKinkESDMC.h:11
 AliAnalysisKinkESDMC.h:12
 AliAnalysisKinkESDMC.h:13
 AliAnalysisKinkESDMC.h:14
 AliAnalysisKinkESDMC.h:15
 AliAnalysisKinkESDMC.h:16
 AliAnalysisKinkESDMC.h:17
 AliAnalysisKinkESDMC.h:18
 AliAnalysisKinkESDMC.h:19
 AliAnalysisKinkESDMC.h:20
 AliAnalysisKinkESDMC.h:21
 AliAnalysisKinkESDMC.h:22
 AliAnalysisKinkESDMC.h:23
 AliAnalysisKinkESDMC.h:24
 AliAnalysisKinkESDMC.h:25
 AliAnalysisKinkESDMC.h:26
 AliAnalysisKinkESDMC.h:27
 AliAnalysisKinkESDMC.h:28
 AliAnalysisKinkESDMC.h:29
 AliAnalysisKinkESDMC.h:30
 AliAnalysisKinkESDMC.h:31
 AliAnalysisKinkESDMC.h:32
 AliAnalysisKinkESDMC.h:33
 AliAnalysisKinkESDMC.h:34
 AliAnalysisKinkESDMC.h:35
 AliAnalysisKinkESDMC.h:36
 AliAnalysisKinkESDMC.h:37
 AliAnalysisKinkESDMC.h:38
 AliAnalysisKinkESDMC.h:39
 AliAnalysisKinkESDMC.h:40
 AliAnalysisKinkESDMC.h:41
 AliAnalysisKinkESDMC.h:42
 AliAnalysisKinkESDMC.h:43
 AliAnalysisKinkESDMC.h:44
 AliAnalysisKinkESDMC.h:45
 AliAnalysisKinkESDMC.h:46
 AliAnalysisKinkESDMC.h:47
 AliAnalysisKinkESDMC.h:48
 AliAnalysisKinkESDMC.h:49
 AliAnalysisKinkESDMC.h:50
 AliAnalysisKinkESDMC.h:51
 AliAnalysisKinkESDMC.h:52
 AliAnalysisKinkESDMC.h:53
 AliAnalysisKinkESDMC.h:54
 AliAnalysisKinkESDMC.h:55
 AliAnalysisKinkESDMC.h:56
 AliAnalysisKinkESDMC.h:57
 AliAnalysisKinkESDMC.h:58
 AliAnalysisKinkESDMC.h:59
 AliAnalysisKinkESDMC.h:60
 AliAnalysisKinkESDMC.h:61
 AliAnalysisKinkESDMC.h:62
 AliAnalysisKinkESDMC.h:63
 AliAnalysisKinkESDMC.h:64
 AliAnalysisKinkESDMC.h:65
 AliAnalysisKinkESDMC.h:66
 AliAnalysisKinkESDMC.h:67
 AliAnalysisKinkESDMC.h:68
 AliAnalysisKinkESDMC.h:69
 AliAnalysisKinkESDMC.h:70
 AliAnalysisKinkESDMC.h:71
 AliAnalysisKinkESDMC.h:72
 AliAnalysisKinkESDMC.h:73
 AliAnalysisKinkESDMC.h:74
 AliAnalysisKinkESDMC.h:75
 AliAnalysisKinkESDMC.h:76
 AliAnalysisKinkESDMC.h:77
 AliAnalysisKinkESDMC.h:78
 AliAnalysisKinkESDMC.h:79
 AliAnalysisKinkESDMC.h:80
 AliAnalysisKinkESDMC.h:81
 AliAnalysisKinkESDMC.h:82
 AliAnalysisKinkESDMC.h:83
 AliAnalysisKinkESDMC.h:84
 AliAnalysisKinkESDMC.h:85
 AliAnalysisKinkESDMC.h:86
 AliAnalysisKinkESDMC.h:87
 AliAnalysisKinkESDMC.h:88
 AliAnalysisKinkESDMC.h:89
 AliAnalysisKinkESDMC.h:90
 AliAnalysisKinkESDMC.h:91
 AliAnalysisKinkESDMC.h:92
 AliAnalysisKinkESDMC.h:93
 AliAnalysisKinkESDMC.h:94
 AliAnalysisKinkESDMC.h:95
 AliAnalysisKinkESDMC.h:96
 AliAnalysisKinkESDMC.h:97
 AliAnalysisKinkESDMC.h:98
 AliAnalysisKinkESDMC.h:99
 AliAnalysisKinkESDMC.h:100
 AliAnalysisKinkESDMC.h:101
 AliAnalysisKinkESDMC.h:102
 AliAnalysisKinkESDMC.h:103
 AliAnalysisKinkESDMC.h:104
 AliAnalysisKinkESDMC.h:105
 AliAnalysisKinkESDMC.h:106
 AliAnalysisKinkESDMC.h:107
 AliAnalysisKinkESDMC.h:108
 AliAnalysisKinkESDMC.h:109
 AliAnalysisKinkESDMC.h:110
 AliAnalysisKinkESDMC.h:111
 AliAnalysisKinkESDMC.h:112
 AliAnalysisKinkESDMC.h:113
 AliAnalysisKinkESDMC.h:114
 AliAnalysisKinkESDMC.h:115
 AliAnalysisKinkESDMC.h:116
 AliAnalysisKinkESDMC.h:117
 AliAnalysisKinkESDMC.h:118
 AliAnalysisKinkESDMC.h:119
 AliAnalysisKinkESDMC.h:120
 AliAnalysisKinkESDMC.h:121
 AliAnalysisKinkESDMC.h:122
 AliAnalysisKinkESDMC.h:123
 AliAnalysisKinkESDMC.h:124
 AliAnalysisKinkESDMC.h:125
 AliAnalysisKinkESDMC.h:126
 AliAnalysisKinkESDMC.h:127
 AliAnalysisKinkESDMC.h:128
 AliAnalysisKinkESDMC.h:129
 AliAnalysisKinkESDMC.h:130
 AliAnalysisKinkESDMC.h:131
 AliAnalysisKinkESDMC.h:132
 AliAnalysisKinkESDMC.h:133
 AliAnalysisKinkESDMC.h:134
 AliAnalysisKinkESDMC.h:135
 AliAnalysisKinkESDMC.h:136
 AliAnalysisKinkESDMC.h:137
 AliAnalysisKinkESDMC.h:138
 AliAnalysisKinkESDMC.h:139
 AliAnalysisKinkESDMC.h:140
 AliAnalysisKinkESDMC.h:141
 AliAnalysisKinkESDMC.h:142
 AliAnalysisKinkESDMC.h:143
 AliAnalysisKinkESDMC.h:144
 AliAnalysisKinkESDMC.h:145
 AliAnalysisKinkESDMC.h:146
 AliAnalysisKinkESDMC.h:147
 AliAnalysisKinkESDMC.h:148
 AliAnalysisKinkESDMC.h:149
 AliAnalysisKinkESDMC.h:150
 AliAnalysisKinkESDMC.h:151
 AliAnalysisKinkESDMC.h:152
 AliAnalysisKinkESDMC.h:153
 AliAnalysisKinkESDMC.h:154
 AliAnalysisKinkESDMC.h:155
 AliAnalysisKinkESDMC.h:156
 AliAnalysisKinkESDMC.h:157
 AliAnalysisKinkESDMC.h:158
 AliAnalysisKinkESDMC.h:159
 AliAnalysisKinkESDMC.h:160
 AliAnalysisKinkESDMC.h:161
 AliAnalysisKinkESDMC.h:162
 AliAnalysisKinkESDMC.h:163
 AliAnalysisKinkESDMC.h:164
 AliAnalysisKinkESDMC.h:165
 AliAnalysisKinkESDMC.h:166
 AliAnalysisKinkESDMC.h:167
 AliAnalysisKinkESDMC.h:168
 AliAnalysisKinkESDMC.h:169
 AliAnalysisKinkESDMC.h:170
 AliAnalysisKinkESDMC.h:171
 AliAnalysisKinkESDMC.h:172
 AliAnalysisKinkESDMC.h:173
 AliAnalysisKinkESDMC.h:174
 AliAnalysisKinkESDMC.h:175
 AliAnalysisKinkESDMC.h:176
 AliAnalysisKinkESDMC.h:177
 AliAnalysisKinkESDMC.h:178
 AliAnalysisKinkESDMC.h:179
 AliAnalysisKinkESDMC.h:180
 AliAnalysisKinkESDMC.h:181
 AliAnalysisKinkESDMC.h:182
 AliAnalysisKinkESDMC.h:183
 AliAnalysisKinkESDMC.h:184
 AliAnalysisKinkESDMC.h:185
 AliAnalysisKinkESDMC.h:186
 AliAnalysisKinkESDMC.h:187
 AliAnalysisKinkESDMC.h:188
 AliAnalysisKinkESDMC.h:189
 AliAnalysisKinkESDMC.h:190
 AliAnalysisKinkESDMC.h:191
 AliAnalysisKinkESDMC.h:192
 AliAnalysisKinkESDMC.h:193
 AliAnalysisKinkESDMC.h:194
 AliAnalysisKinkESDMC.h:195
 AliAnalysisKinkESDMC.h:196
 AliAnalysisKinkESDMC.h:197
 AliAnalysisKinkESDMC.h:198
 AliAnalysisKinkESDMC.h:199
 AliAnalysisKinkESDMC.h:200
 AliAnalysisKinkESDMC.h:201
 AliAnalysisKinkESDMC.h:202
 AliAnalysisKinkESDMC.h:203