ROOT logo
#ifndef ALIXISTAR_H
#define ALIXISTAR_H
//
// Class AliXiStar
//
// AliXiStar
// author:
//        Dhevan Gangadharan (dhevan.raja.gangadharan@cern.ch)
//



class TH1F;
class TH1D;
class TH2D;
class TH3D;
class TProfile;

class AliESDEvent;
class AliAODEvent;
class AliESDtrackCuts;
class AliESDpid;

#include "AliAnalysisTask.h"
#include "AliAnalysisTaskSE.h"
#include "AliAODPid.h"
#include "AliESDpid.h"
#include "AliXiStarEventCollection.h"

class AliXiStar : public AliAnalysisTaskSE {
 public:
 
  AliXiStar();
  AliXiStar(const char *name, Bool_t AODdecision, Bool_t MCdecision, Int_t CutListOption=0);
  virtual ~AliXiStar();
  AliXiStar(const AliXiStar &obj); 
  AliXiStar &operator=(const AliXiStar &obj);

 private:
 
  virtual void   UserCreateOutputObjects();
  virtual void   Exec(Option_t *option);
  virtual void   Terminate(Option_t *);
  

  void XiStarInit();// initialization of fixed values
  Double_t LinearPropagateToDCA(AliESDtrack*, AliESDtrack*, Double_t);// for linear propagation
  Double_t Det(Double_t, Double_t, Double_t, Double_t) const;// for linear propagation
  Double_t Det(Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t) const;// for linear propagation


 
  enum {
    kNbinsM              = 300,// mult bins for certain histograms
    kXiStarCode          = 3324,// Xi(1530)^0 MC code
    kXiCode              = 3312,// Xi- MC code
    kLambdaCode          = 3122,// Lambda MC code
    kProtonCode          = 2212,// Proton+ MC code
    kPionCode            = 211,// Pion+ MC code
    kNCutVariations      = 13,// number of cut variations
    kNCuts               = 15// number of cut types
  };
  
  const char* fname;// name of class
  AliAODEvent            *fAOD; //!    // AOD object
  AliESDEvent            *fESD; //!    // ESD object
  TList                  *fOutputList; //! Compact Output list
  AliESDtrackCuts        *fTrackCut; //! ESD track cuts
  AliPIDResponse         *fPIDResponse; //! PID object
  
   
  AliXiStarEventCollection ***fEC; //! The event collection 
  AliXiStarEventStruct *fEvt; //! The current event type
  AliXiStarTrackStruct *fTempStruct; //! A temporary track storage.  Eventually put into fEvt
  
  //

  Int_t fZvertexBins;// number of Z-vertex bins for event-mixing
  Int_t fEventsToMix;// number of maximum events to mix
  Int_t fMultBins;// number of multiplicity bins for event-mixing
  Int_t fMultLimits[11+1];// the multiplicity edges of the mult bins
  Bool_t fMCcase;// switch for MC data or real data
  Bool_t fAODcase;// switch for AODs or ESDs
  Int_t fEventCounter;// The event counter
 
  // cut list data members
  Float_t fMaxDecayLength;// max decay length
  Float_t fMassWindow;// Mass window of acceptance for Lambda and Xi candidates
  
  Double_t fCovMatrix[21];// Covarience matrix of track
  Double_t fTrueMassPr, fTrueMassPi, fTrueMassK, fTrueMassLam, fTrueMassXi;// The PDG mass values
  
  /////////////////////////////////////

  struct St_CutType {
    TH3F *fXi; //!
    TH3F *fXibar; //!
    //    
    TH3F *fXiMinusPiPlus; //!
    TH3F *fXiMinusPiMinus; //!
    TH3F *fXiPlusPiPlus; //!
    TH3F *fXiPlusPiMinus; //!
    
    TH3F *fXiMinusPiPlusbkg; //!
    TH3F *fXiMinusPiMinusbkg; //!
    TH3F *fXiPlusPiPlusbkg; //!
    TH3F *fXiPlusPiMinusbkg; //!
    //
    TH3F *fMCrecXi; //!
    TH3F *fMCrecXibar; //!
        
    TH3F *fMCrecXiMinusPiPlus; //!
    TH3F *fMCrecXiPlusPiMinus; //!
    //    
    /*TH2F *fMCrecXiStarxiy; //!
    TH2F *fMCrecXiStarpiony; //!
    TH2F *fMCrecXilambday; //!
    TH2F *fMCrecXipiony; //!
    TH2F *fMCrecLamprotony; //!
    TH2F *fMCrecLampiony; //!*/
  };
  struct St_CutType CutVar[kNCutVariations]; //!
  
  
  AliESDtrack* fESDTrack4; //! esdtrack for XiStar's daughter pion
  AliESDtrack* fXiTrack; //! esdtrack for XiStar's daughter Xi
  
  Int_t fCutList;// Cut List option (mean values or systematic variations)

  Float_t fDecayParameters[kNCuts];// array of reconstruction kinematics
  Float_t fCutValues[kNCutVariations][kNCuts];// array of reconstruction kinematics

  ClassDef(AliXiStar, 1); 
};

#endif
 AliXiStar.h:1
 AliXiStar.h:2
 AliXiStar.h:3
 AliXiStar.h:4
 AliXiStar.h:5
 AliXiStar.h:6
 AliXiStar.h:7
 AliXiStar.h:8
 AliXiStar.h:9
 AliXiStar.h:10
 AliXiStar.h:11
 AliXiStar.h:12
 AliXiStar.h:13
 AliXiStar.h:14
 AliXiStar.h:15
 AliXiStar.h:16
 AliXiStar.h:17
 AliXiStar.h:18
 AliXiStar.h:19
 AliXiStar.h:20
 AliXiStar.h:21
 AliXiStar.h:22
 AliXiStar.h:23
 AliXiStar.h:24
 AliXiStar.h:25
 AliXiStar.h:26
 AliXiStar.h:27
 AliXiStar.h:28
 AliXiStar.h:29
 AliXiStar.h:30
 AliXiStar.h:31
 AliXiStar.h:32
 AliXiStar.h:33
 AliXiStar.h:34
 AliXiStar.h:35
 AliXiStar.h:36
 AliXiStar.h:37
 AliXiStar.h:38
 AliXiStar.h:39
 AliXiStar.h:40
 AliXiStar.h:41
 AliXiStar.h:42
 AliXiStar.h:43
 AliXiStar.h:44
 AliXiStar.h:45
 AliXiStar.h:46
 AliXiStar.h:47
 AliXiStar.h:48
 AliXiStar.h:49
 AliXiStar.h:50
 AliXiStar.h:51
 AliXiStar.h:52
 AliXiStar.h:53
 AliXiStar.h:54
 AliXiStar.h:55
 AliXiStar.h:56
 AliXiStar.h:57
 AliXiStar.h:58
 AliXiStar.h:59
 AliXiStar.h:60
 AliXiStar.h:61
 AliXiStar.h:62
 AliXiStar.h:63
 AliXiStar.h:64
 AliXiStar.h:65
 AliXiStar.h:66
 AliXiStar.h:67
 AliXiStar.h:68
 AliXiStar.h:69
 AliXiStar.h:70
 AliXiStar.h:71
 AliXiStar.h:72
 AliXiStar.h:73
 AliXiStar.h:74
 AliXiStar.h:75
 AliXiStar.h:76
 AliXiStar.h:77
 AliXiStar.h:78
 AliXiStar.h:79
 AliXiStar.h:80
 AliXiStar.h:81
 AliXiStar.h:82
 AliXiStar.h:83
 AliXiStar.h:84
 AliXiStar.h:85
 AliXiStar.h:86
 AliXiStar.h:87
 AliXiStar.h:88
 AliXiStar.h:89
 AliXiStar.h:90
 AliXiStar.h:91
 AliXiStar.h:92
 AliXiStar.h:93
 AliXiStar.h:94
 AliXiStar.h:95
 AliXiStar.h:96
 AliXiStar.h:97
 AliXiStar.h:98
 AliXiStar.h:99
 AliXiStar.h:100
 AliXiStar.h:101
 AliXiStar.h:102
 AliXiStar.h:103
 AliXiStar.h:104
 AliXiStar.h:105
 AliXiStar.h:106
 AliXiStar.h:107
 AliXiStar.h:108
 AliXiStar.h:109
 AliXiStar.h:110
 AliXiStar.h:111
 AliXiStar.h:112
 AliXiStar.h:113
 AliXiStar.h:114
 AliXiStar.h:115
 AliXiStar.h:116
 AliXiStar.h:117
 AliXiStar.h:118
 AliXiStar.h:119
 AliXiStar.h:120
 AliXiStar.h:121
 AliXiStar.h:122
 AliXiStar.h:123
 AliXiStar.h:124
 AliXiStar.h:125
 AliXiStar.h:126
 AliXiStar.h:127
 AliXiStar.h:128
 AliXiStar.h:129
 AliXiStar.h:130
 AliXiStar.h:131
 AliXiStar.h:132
 AliXiStar.h:133
 AliXiStar.h:134
 AliXiStar.h:135
 AliXiStar.h:136