#ifndef ALIXISTAR_H
#define ALIXISTAR_H
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();
Double_t LinearPropagateToDCA(AliESDtrack*, AliESDtrack*, Double_t);
Double_t Det(Double_t, Double_t, Double_t, Double_t) const;
Double_t Det(Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t) const;
enum {
kNbinsM = 300,
kXiStarCode = 3324,
kXiCode = 3312,
kLambdaCode = 3122,
kProtonCode = 2212,
kPionCode = 211,
kNCutVariations = 13,
kNCuts = 15
};
const char* fname;
AliAODEvent *fAOD;
AliESDEvent *fESD;
TList *fOutputList;
AliESDtrackCuts *fTrackCut;
AliPIDResponse *fPIDResponse;
AliXiStarEventCollection ***fEC;
AliXiStarEventStruct *fEvt;
AliXiStarTrackStruct *fTempStruct;
Int_t fZvertexBins;
Int_t fEventsToMix;
Int_t fMultBins;
Int_t fMultLimits[11+1];
Bool_t fMCcase;
Bool_t fAODcase;
Int_t fEventCounter;
Float_t fMaxDecayLength;
Float_t fMassWindow;
Double_t fCovMatrix[21];
Double_t fTrueMassPr, fTrueMassPi, fTrueMassK, fTrueMassLam, fTrueMassXi;
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;
};
struct St_CutType CutVar[kNCutVariations];
AliESDtrack* fESDTrack4;
AliESDtrack* fXiTrack;
Int_t fCutList;
Float_t fDecayParameters[kNCuts];
Float_t fCutValues[kNCutVariations][kNCuts];
ClassDef(AliXiStar, 1);
};
#endif