#ifndef ALIANALYSISTASKSEDPLUS_H
#define ALIANALYSISTASKSEDPLUS_H
#include <TROOT.h>
#include <TSystem.h>
#include <TNtuple.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>
#include <TArrayD.h>
#include "AliRDHFCutsDplustoKpipi.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisVertexingHF.h"
#include "AliNormalizationCounter.h"
#include "AliAODMCHeader.h"
#include "AliAODMCParticle.h"
class AliAnalysisTaskSEDplus : public AliAnalysisTaskSE
{
public:
AliAnalysisTaskSEDplus();
AliAnalysisTaskSEDplus(const char *name, AliRDHFCutsDplustoKpipi* analysiscuts,Bool_t fillNtuple=kFALSE);
virtual ~AliAnalysisTaskSEDplus();
void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;}
void SetDoLikeSign(Int_t dols=0){fDoLS=dols;}
void SetSystem(Int_t system=0){fSystem=system;}
void SetCutsDistr(Bool_t cutsDistr=kTRUE){fCutsDistr=cutsDistr;}
void SetDoImpactParameterHistos(Bool_t doImp=kTRUE){fDoImpPar=doImp;}
void SetImpactParameterBinning(Int_t nbins, Float_t dmin, Float_t dmax){
fNImpParBins=nbins;
fLowerImpPar=dmin;
fHigherImpPar=dmax;
}
void SetUseStrangeness(Bool_t uses=kTRUE){fUseStrangeness=uses;}
void SetMassLimits(Float_t range);
void SetMassLimits(Float_t lowlimit, Float_t uplimit);
void SetBinWidth(Float_t w);
void SetUseBit(Bool_t dols=kTRUE){fUseBit=dols;}
void SetUseOnlyPositiveEta(){fEtaSelection=1;}
void SetUseOnlyNegativeEta(){fEtaSelection=-1;}
void SetUseFullEta(){fEtaSelection=0;}
Float_t GetUpperMassLimit(){return fUpmasslimit;}
Float_t GetLowerMassLimit(){return fLowmasslimit;}
Int_t GetNBinsPt(){return fNPtBins;}
Float_t GetBinWidth(){return fBinWidth;}
Int_t GetNBinsHistos();
void LSAnalysis(TClonesArray *arrayOppositeSign,TClonesArray *arrayLikeSign,AliAODEvent *aod,AliAODVertex *vtx1, Int_t nDplusOS);
void CreateLikeSignHistos();
void CreateImpactParameterHistos();
virtual void UserCreateOutputObjects();
virtual void Init();
virtual void LocalInit() {Init();}
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *option);
private:
AliAnalysisTaskSEDplus(const AliAnalysisTaskSEDplus &source);
AliAnalysisTaskSEDplus& operator=(const AliAnalysisTaskSEDplus& source);
Int_t GetHistoIndex(Int_t iPtBin) const { return iPtBin*3;}
Int_t GetSignalHistoIndex(Int_t iPtBin) const { return iPtBin*3+1;}
Int_t GetBackgroundHistoIndex(Int_t iPtBin) const { return iPtBin*3+2;}
Int_t GetLSHistoIndex(Int_t iPtBin)const { return iPtBin*5;}
Float_t GetTrueImpactParameter(const AliAODMCHeader *mcHeader, TClonesArray* arrayMC, const AliAODMCParticle *partDp) const;
Float_t GetStrangenessWeights(const AliAODRecoDecayHF3Prong* d, TClonesArray* arrayMC, Float_t factor[3]) const;
enum {kMaxPtBins=20};
TList *fOutput;
TH1F *fHistNEvents;
TH1F *fMassHist[3*kMaxPtBins];
TH1F *fCosPHist[3*kMaxPtBins];
TH1F *fDLenHist[3*kMaxPtBins];
TH1F *fSumd02Hist[3*kMaxPtBins];
TH1F *fSigVertHist[3*kMaxPtBins];
TH1F *fPtMaxHist[3*kMaxPtBins];
TH1F *fPtKHist[3*kMaxPtBins];
TH1F *fPtpi1Hist[3*kMaxPtBins];
TH1F *fPtpi2Hist[3*kMaxPtBins];
TH1F *fDCAHist[3*kMaxPtBins];
TH1F *fDLxy[3*kMaxPtBins];
TH1F *fDLxyTC[3*kMaxPtBins];
TH1F *fCosxy[3*kMaxPtBins];
TH1F *fCosxyTC[3*kMaxPtBins];
TH1F *fMassHistTC[3*kMaxPtBins];
TH1F *fMassHistTCPlus[3*kMaxPtBins];
TH1F *fMassHistTCMinus[3*kMaxPtBins];
TH1F *fMassHistLS[5*kMaxPtBins];
TH1F *fCosPHistLS[3*kMaxPtBins];
TH1F *fDLenHistLS[3*kMaxPtBins];
TH1F *fSumd02HistLS[3*kMaxPtBins];
TH1F *fSigVertHistLS[3*kMaxPtBins];
TH1F *fPtMaxHistLS[3*kMaxPtBins];
TH1F *fDCAHistLS[3*kMaxPtBins];
TH1F *fMassHistLSTC[5*kMaxPtBins];
TH2F *fCorreld0Kd0pi[3];
TH2F *fHistCentrality[3];
THnSparseF *fHistMassPtImpParTC[5];
TH2F *fPtVsMass;
TH2F *fPtVsMassTC;
TH3F *fYVsPt;
TH3F *fYVsPtTC;
TH2F *fYVsPtSig;
TH2F *fYVsPtSigTC;
TH2F *fPhiEtaCand;
TH2F *fPhiEtaCandSigReg;
TH1F *fSPDMult;
TNtuple *fNtupleDplus;
Float_t fUpmasslimit;
Float_t fLowmasslimit;
Int_t fNPtBins;
Float_t fBinWidth;
TList *fListCuts;
AliRDHFCutsDplustoKpipi *fRDCutsAnalysis;
AliNormalizationCounter *fCounter;
Double_t fArrayBinLimits[kMaxPtBins+1];
Bool_t fFillNtuple;
Bool_t fReadMC;
Bool_t fUseStrangeness;
Bool_t fUseBit;
Bool_t fCutsDistr;
Bool_t fDoImpPar;
Int_t fNImpParBins;
Float_t fLowerImpPar;
Float_t fHigherImpPar;
Int_t fDoLS;
Int_t fEtaSelection;
Int_t fSystem;
ClassDef(AliAnalysisTaskSEDplus,21);
};
#endif
AliAnalysisTaskSEDplus.h:1 AliAnalysisTaskSEDplus.h:2 AliAnalysisTaskSEDplus.h:3 AliAnalysisTaskSEDplus.h:4 AliAnalysisTaskSEDplus.h:5 AliAnalysisTaskSEDplus.h:6 AliAnalysisTaskSEDplus.h:7 AliAnalysisTaskSEDplus.h:8 AliAnalysisTaskSEDplus.h:9 AliAnalysisTaskSEDplus.h:10 AliAnalysisTaskSEDplus.h:11 AliAnalysisTaskSEDplus.h:12 AliAnalysisTaskSEDplus.h:13 AliAnalysisTaskSEDplus.h:14 AliAnalysisTaskSEDplus.h:15 AliAnalysisTaskSEDplus.h:16 AliAnalysisTaskSEDplus.h:17 AliAnalysisTaskSEDplus.h:18 AliAnalysisTaskSEDplus.h:19 AliAnalysisTaskSEDplus.h:20 AliAnalysisTaskSEDplus.h:21 AliAnalysisTaskSEDplus.h:22 AliAnalysisTaskSEDplus.h:23 AliAnalysisTaskSEDplus.h:24 AliAnalysisTaskSEDplus.h:25 AliAnalysisTaskSEDplus.h:26 AliAnalysisTaskSEDplus.h:27 AliAnalysisTaskSEDplus.h:28 AliAnalysisTaskSEDplus.h:29 AliAnalysisTaskSEDplus.h:30 AliAnalysisTaskSEDplus.h:31 AliAnalysisTaskSEDplus.h:32 AliAnalysisTaskSEDplus.h:33 AliAnalysisTaskSEDplus.h:34 AliAnalysisTaskSEDplus.h:35 AliAnalysisTaskSEDplus.h:36 AliAnalysisTaskSEDplus.h:37 AliAnalysisTaskSEDplus.h:38 AliAnalysisTaskSEDplus.h:39 AliAnalysisTaskSEDplus.h:40 AliAnalysisTaskSEDplus.h:41 AliAnalysisTaskSEDplus.h:42 AliAnalysisTaskSEDplus.h:43 AliAnalysisTaskSEDplus.h:44 AliAnalysisTaskSEDplus.h:45 AliAnalysisTaskSEDplus.h:46 AliAnalysisTaskSEDplus.h:47 AliAnalysisTaskSEDplus.h:48 AliAnalysisTaskSEDplus.h:49 AliAnalysisTaskSEDplus.h:50 AliAnalysisTaskSEDplus.h:51 AliAnalysisTaskSEDplus.h:52 AliAnalysisTaskSEDplus.h:53 AliAnalysisTaskSEDplus.h:54 AliAnalysisTaskSEDplus.h:55 AliAnalysisTaskSEDplus.h:56 AliAnalysisTaskSEDplus.h:57 AliAnalysisTaskSEDplus.h:58 AliAnalysisTaskSEDplus.h:59 AliAnalysisTaskSEDplus.h:60 AliAnalysisTaskSEDplus.h:61 AliAnalysisTaskSEDplus.h:62 AliAnalysisTaskSEDplus.h:63 AliAnalysisTaskSEDplus.h:64 AliAnalysisTaskSEDplus.h:65 AliAnalysisTaskSEDplus.h:66 AliAnalysisTaskSEDplus.h:67 AliAnalysisTaskSEDplus.h:68 AliAnalysisTaskSEDplus.h:69 AliAnalysisTaskSEDplus.h:70 AliAnalysisTaskSEDplus.h:71 AliAnalysisTaskSEDplus.h:72 AliAnalysisTaskSEDplus.h:73 AliAnalysisTaskSEDplus.h:74 AliAnalysisTaskSEDplus.h:75 AliAnalysisTaskSEDplus.h:76 AliAnalysisTaskSEDplus.h:77 AliAnalysisTaskSEDplus.h:78 AliAnalysisTaskSEDplus.h:79 AliAnalysisTaskSEDplus.h:80 AliAnalysisTaskSEDplus.h:81 AliAnalysisTaskSEDplus.h:82 AliAnalysisTaskSEDplus.h:83 AliAnalysisTaskSEDplus.h:84 AliAnalysisTaskSEDplus.h:85 AliAnalysisTaskSEDplus.h:86 AliAnalysisTaskSEDplus.h:87 AliAnalysisTaskSEDplus.h:88 AliAnalysisTaskSEDplus.h:89 AliAnalysisTaskSEDplus.h:90 AliAnalysisTaskSEDplus.h:91 AliAnalysisTaskSEDplus.h:92 AliAnalysisTaskSEDplus.h:93 AliAnalysisTaskSEDplus.h:94 AliAnalysisTaskSEDplus.h:95 AliAnalysisTaskSEDplus.h:96 AliAnalysisTaskSEDplus.h:97 AliAnalysisTaskSEDplus.h:98 AliAnalysisTaskSEDplus.h:99 AliAnalysisTaskSEDplus.h:100 AliAnalysisTaskSEDplus.h:101 AliAnalysisTaskSEDplus.h:102 AliAnalysisTaskSEDplus.h:103 AliAnalysisTaskSEDplus.h:104 AliAnalysisTaskSEDplus.h:105 AliAnalysisTaskSEDplus.h:106 AliAnalysisTaskSEDplus.h:107 AliAnalysisTaskSEDplus.h:108 AliAnalysisTaskSEDplus.h:109 AliAnalysisTaskSEDplus.h:110 AliAnalysisTaskSEDplus.h:111 AliAnalysisTaskSEDplus.h:112 AliAnalysisTaskSEDplus.h:113 AliAnalysisTaskSEDplus.h:114 AliAnalysisTaskSEDplus.h:115 AliAnalysisTaskSEDplus.h:116 AliAnalysisTaskSEDplus.h:117 AliAnalysisTaskSEDplus.h:118 AliAnalysisTaskSEDplus.h:119 AliAnalysisTaskSEDplus.h:120 AliAnalysisTaskSEDplus.h:121 AliAnalysisTaskSEDplus.h:122 AliAnalysisTaskSEDplus.h:123 AliAnalysisTaskSEDplus.h:124 AliAnalysisTaskSEDplus.h:125 AliAnalysisTaskSEDplus.h:126 AliAnalysisTaskSEDplus.h:127 AliAnalysisTaskSEDplus.h:128 AliAnalysisTaskSEDplus.h:129 AliAnalysisTaskSEDplus.h:130 AliAnalysisTaskSEDplus.h:131 AliAnalysisTaskSEDplus.h:132 AliAnalysisTaskSEDplus.h:133 AliAnalysisTaskSEDplus.h:134 AliAnalysisTaskSEDplus.h:135 AliAnalysisTaskSEDplus.h:136 AliAnalysisTaskSEDplus.h:137 AliAnalysisTaskSEDplus.h:138 AliAnalysisTaskSEDplus.h:139 AliAnalysisTaskSEDplus.h:140 AliAnalysisTaskSEDplus.h:141 AliAnalysisTaskSEDplus.h:142 AliAnalysisTaskSEDplus.h:143 AliAnalysisTaskSEDplus.h:144 AliAnalysisTaskSEDplus.h:145 AliAnalysisTaskSEDplus.h:146 AliAnalysisTaskSEDplus.h:147 AliAnalysisTaskSEDplus.h:148 AliAnalysisTaskSEDplus.h:149 AliAnalysisTaskSEDplus.h:150 AliAnalysisTaskSEDplus.h:151 AliAnalysisTaskSEDplus.h:152 AliAnalysisTaskSEDplus.h:153 AliAnalysisTaskSEDplus.h:154 AliAnalysisTaskSEDplus.h:155 AliAnalysisTaskSEDplus.h:156 AliAnalysisTaskSEDplus.h:157 AliAnalysisTaskSEDplus.h:158