#ifndef ALIANALYSISTASKPIDCORR_H
#define ALIANALYSISTASKPIDCORR_H
class TH1F;
class TH2F;
class TList;
class TObjArray;
class AliAODEvent;
class AliAODVertex;
class AliAODTrack;
class AliPIDResponse;
class AliPID;
class AliEventPoolManager;
class AliPIDCorrParticle;
#include <TObject.h> //PIDCorrParticle is a derived class from"TObject"
#ifndef ALIANALYSISTASKSE_H
#include "AliAnalysisTaskSE.h"
#endif
class AliAnalysisTaskPIDCORR : public AliAnalysisTaskSE {
public:
AliAnalysisTaskPIDCORR();
AliAnalysisTaskPIDCORR(const char *name);
virtual ~AliAnalysisTaskPIDCORR();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
private:
Bool_t SelectEvent(AliAODVertex *vertex);
Int_t ClassifyTrack(AliAODTrack* track);
void FillGlobalTracksArray();
AliAODTrack* GetGlobalTrack(Int_t trackIndx);
Double_t PhiRange(Double_t DPhi);
Bool_t GetTrackStatus(AliAODTrack *track);
Int_t GetTriggerPtBin(AliAODTrack *track);
Bool_t TwoTrackEfficiency(AliAODTrack *Trig,AliAODTrack *Asso,Float_t TwoTrackEfficiencyCut,Float_t BSign);
Bool_t TwoTrackEfficiencyBg(AliAODTrack *Trig,AliPIDCorrParticle *Asso,Float_t TwoTrackEfficiencyCut,Float_t BSign);
Float_t GetDPhiStar(Float_t phi1, Float_t pt1, Float_t charge1, Float_t phi2, Float_t pt2, Float_t charge2, Float_t radius, Float_t BSign);
AliAODEvent *fAOD;
AliAODVertex *fAODVertex;
AliPIDResponse *fPIDResponse;
TList *fOutputList;
TH1F *fHistPt;
TH2F *fHistdEdx;
TH1F *fHistNSigmaTPCPion[10];
TH2F *fDihadronCorrelation[10];
TH2F *fDihadronCorrelationPion[10];
TH2F *fDihadronCorrelationProtonKaon[10];
TH2F *fMixedEvent[10];
TH2F *fMixedPion[10];
TH2F *fMixedProtonKaon[10];
TH1F *fTriggerPhiAll;
TH1F *fTriggerPhiPion;
TH1F *fTriggerPhiKaonProton;
TH1F *fTriggerEtaAll;
TH1F *fTriggerEtaPion;
TH1F *fTriggerEtaKaonProton;
TH1F *fAssoPhi;
TH1F *fAssoEta;
TObjArray *fGlobalTracks;
TClonesArray *fArrayMC;
TH1F *fHistNSAll[3];
TH1F *fHistNSPion[3];
TH1F *fHistNSProton[3];
TH1F *fHistASAll[3];
TH1F *fHistASPion[3];
TH1F *fHistASProton[3];
TH1F *fHistBgAll[3];
TH1F *fHistBgPion[3];
TH1F *fHistBgProton[3];
TH1F *fHistBulkAll[3];
TH1F *fHistBulkPion[3];
TH1F *fHistBulkProton[3];
void DefineEventPool();
TObjArray *AcceptTracksforMixing(AliAODEvent *event);
AliEventPoolManager *fPoolMgr;
Float_t GetEtaCorrectionFactorAsso(Double_t Eta);
Float_t GetEtaCorrectionFactorTrigAll(Double_t Eta);
Float_t GetEtaCorrectionFactorTrigPion(Double_t Eta);
Float_t GetEtaCorrectionFactorTrigProton(Double_t Eta);
Float_t EffEtaTrigPr;
Float_t EffEtaTrigPi;
Float_t EffEtaTrigAll;
void IdentifyAssociated(Double_t ETA_trig,Double_t PHI_trig,Bool_t kPION,Bool_t kPROTON,AliAODTrack *track);
Int_t GetTOFPID(AliAODTrack *track);
Int_t GetTPCTOFPID(AliAODTrack *track);
Bool_t CheckTOF(AliVTrack *track);
AliAnalysisTaskPIDCORR(const AliAnalysisTaskPIDCORR&);
AliAnalysisTaskPIDCORR& operator=(const AliAnalysisTaskPIDCORR&);
ClassDef(AliAnalysisTaskPIDCORR, 1);
};
class AliPIDCorrParticle : public TObject
{
public:
AliPIDCorrParticle(Float_t eta, Float_t phi, Float_t pt, Short_t charge)
: fEta(eta), fPhi(phi), fpT(pt), fCharge(charge)
{
}
virtual Double_t Pt() const { return fpT; }
virtual Double_t Phi() const { return fPhi; }
virtual Double_t Eta() const { return fEta; }
virtual Short_t Charge() const { return fCharge; }
~AliPIDCorrParticle() {}
private:
AliPIDCorrParticle(const AliPIDCorrParticle&);
AliPIDCorrParticle& operator=(const AliPIDCorrParticle&);
Float_t fEta;
Float_t fPhi;
Float_t fpT;
Short_t fCharge;
ClassDef( AliPIDCorrParticle, 1);
};
#endif
AliAnalysisTaskPIDCORR.h:1 AliAnalysisTaskPIDCORR.h:2 AliAnalysisTaskPIDCORR.h:3 AliAnalysisTaskPIDCORR.h:4 AliAnalysisTaskPIDCORR.h:5 AliAnalysisTaskPIDCORR.h:6 AliAnalysisTaskPIDCORR.h:7 AliAnalysisTaskPIDCORR.h:8 AliAnalysisTaskPIDCORR.h:9 AliAnalysisTaskPIDCORR.h:10 AliAnalysisTaskPIDCORR.h:11 AliAnalysisTaskPIDCORR.h:12 AliAnalysisTaskPIDCORR.h:13 AliAnalysisTaskPIDCORR.h:14 AliAnalysisTaskPIDCORR.h:15 AliAnalysisTaskPIDCORR.h:16 AliAnalysisTaskPIDCORR.h:17 AliAnalysisTaskPIDCORR.h:18 AliAnalysisTaskPIDCORR.h:19 AliAnalysisTaskPIDCORR.h:20 AliAnalysisTaskPIDCORR.h:21 AliAnalysisTaskPIDCORR.h:22 AliAnalysisTaskPIDCORR.h:23 AliAnalysisTaskPIDCORR.h:24 AliAnalysisTaskPIDCORR.h:25 AliAnalysisTaskPIDCORR.h:26 AliAnalysisTaskPIDCORR.h:27 AliAnalysisTaskPIDCORR.h:28 AliAnalysisTaskPIDCORR.h:29 AliAnalysisTaskPIDCORR.h:30 AliAnalysisTaskPIDCORR.h:31 AliAnalysisTaskPIDCORR.h:32 AliAnalysisTaskPIDCORR.h:33 AliAnalysisTaskPIDCORR.h:34 AliAnalysisTaskPIDCORR.h:35 AliAnalysisTaskPIDCORR.h:36 AliAnalysisTaskPIDCORR.h:37 AliAnalysisTaskPIDCORR.h:38 AliAnalysisTaskPIDCORR.h:39 AliAnalysisTaskPIDCORR.h:40 AliAnalysisTaskPIDCORR.h:41 AliAnalysisTaskPIDCORR.h:42 AliAnalysisTaskPIDCORR.h:43 AliAnalysisTaskPIDCORR.h:44 AliAnalysisTaskPIDCORR.h:45 AliAnalysisTaskPIDCORR.h:46 AliAnalysisTaskPIDCORR.h:47 AliAnalysisTaskPIDCORR.h:48 AliAnalysisTaskPIDCORR.h:49 AliAnalysisTaskPIDCORR.h:50 AliAnalysisTaskPIDCORR.h:51 AliAnalysisTaskPIDCORR.h:52 AliAnalysisTaskPIDCORR.h:53 AliAnalysisTaskPIDCORR.h:54 AliAnalysisTaskPIDCORR.h:55 AliAnalysisTaskPIDCORR.h:56 AliAnalysisTaskPIDCORR.h:57 AliAnalysisTaskPIDCORR.h:58 AliAnalysisTaskPIDCORR.h:59 AliAnalysisTaskPIDCORR.h:60 AliAnalysisTaskPIDCORR.h:61 AliAnalysisTaskPIDCORR.h:62 AliAnalysisTaskPIDCORR.h:63 AliAnalysisTaskPIDCORR.h:64 AliAnalysisTaskPIDCORR.h:65 AliAnalysisTaskPIDCORR.h:66 AliAnalysisTaskPIDCORR.h:67 AliAnalysisTaskPIDCORR.h:68 AliAnalysisTaskPIDCORR.h:69 AliAnalysisTaskPIDCORR.h:70 AliAnalysisTaskPIDCORR.h:71 AliAnalysisTaskPIDCORR.h:72 AliAnalysisTaskPIDCORR.h:73 AliAnalysisTaskPIDCORR.h:74 AliAnalysisTaskPIDCORR.h:75 AliAnalysisTaskPIDCORR.h:76 AliAnalysisTaskPIDCORR.h:77 AliAnalysisTaskPIDCORR.h:78 AliAnalysisTaskPIDCORR.h:79 AliAnalysisTaskPIDCORR.h:80 AliAnalysisTaskPIDCORR.h:81 AliAnalysisTaskPIDCORR.h:82 AliAnalysisTaskPIDCORR.h:83 AliAnalysisTaskPIDCORR.h:84 AliAnalysisTaskPIDCORR.h:85 AliAnalysisTaskPIDCORR.h:86 AliAnalysisTaskPIDCORR.h:87 AliAnalysisTaskPIDCORR.h:88 AliAnalysisTaskPIDCORR.h:89 AliAnalysisTaskPIDCORR.h:90 AliAnalysisTaskPIDCORR.h:91 AliAnalysisTaskPIDCORR.h:92 AliAnalysisTaskPIDCORR.h:93 AliAnalysisTaskPIDCORR.h:94 AliAnalysisTaskPIDCORR.h:95 AliAnalysisTaskPIDCORR.h:96 AliAnalysisTaskPIDCORR.h:97 AliAnalysisTaskPIDCORR.h:98 AliAnalysisTaskPIDCORR.h:99 AliAnalysisTaskPIDCORR.h:100 AliAnalysisTaskPIDCORR.h:101 AliAnalysisTaskPIDCORR.h:102 AliAnalysisTaskPIDCORR.h:103 AliAnalysisTaskPIDCORR.h:104 AliAnalysisTaskPIDCORR.h:105 AliAnalysisTaskPIDCORR.h:106 AliAnalysisTaskPIDCORR.h:107 AliAnalysisTaskPIDCORR.h:108 AliAnalysisTaskPIDCORR.h:109 AliAnalysisTaskPIDCORR.h:110 AliAnalysisTaskPIDCORR.h:111 AliAnalysisTaskPIDCORR.h:112 AliAnalysisTaskPIDCORR.h:113 AliAnalysisTaskPIDCORR.h:114 AliAnalysisTaskPIDCORR.h:115 AliAnalysisTaskPIDCORR.h:116 AliAnalysisTaskPIDCORR.h:117 AliAnalysisTaskPIDCORR.h:118 AliAnalysisTaskPIDCORR.h:119 AliAnalysisTaskPIDCORR.h:120 AliAnalysisTaskPIDCORR.h:121 AliAnalysisTaskPIDCORR.h:122 AliAnalysisTaskPIDCORR.h:123 AliAnalysisTaskPIDCORR.h:124 AliAnalysisTaskPIDCORR.h:125 AliAnalysisTaskPIDCORR.h:126 AliAnalysisTaskPIDCORR.h:127 AliAnalysisTaskPIDCORR.h:128 AliAnalysisTaskPIDCORR.h:129 AliAnalysisTaskPIDCORR.h:130 AliAnalysisTaskPIDCORR.h:131 AliAnalysisTaskPIDCORR.h:132 AliAnalysisTaskPIDCORR.h:133 AliAnalysisTaskPIDCORR.h:134 AliAnalysisTaskPIDCORR.h:135 AliAnalysisTaskPIDCORR.h:136 AliAnalysisTaskPIDCORR.h:137 AliAnalysisTaskPIDCORR.h:138 AliAnalysisTaskPIDCORR.h:139 AliAnalysisTaskPIDCORR.h:140 AliAnalysisTaskPIDCORR.h:141 AliAnalysisTaskPIDCORR.h:142 AliAnalysisTaskPIDCORR.h:143 AliAnalysisTaskPIDCORR.h:144 AliAnalysisTaskPIDCORR.h:145 AliAnalysisTaskPIDCORR.h:146 AliAnalysisTaskPIDCORR.h:147 AliAnalysisTaskPIDCORR.h:148 AliAnalysisTaskPIDCORR.h:149 AliAnalysisTaskPIDCORR.h:150 AliAnalysisTaskPIDCORR.h:151 AliAnalysisTaskPIDCORR.h:152 AliAnalysisTaskPIDCORR.h:153 AliAnalysisTaskPIDCORR.h:154 AliAnalysisTaskPIDCORR.h:155 AliAnalysisTaskPIDCORR.h:156 AliAnalysisTaskPIDCORR.h:157 AliAnalysisTaskPIDCORR.h:158 AliAnalysisTaskPIDCORR.h:159 AliAnalysisTaskPIDCORR.h:160 AliAnalysisTaskPIDCORR.h:161 AliAnalysisTaskPIDCORR.h:162 AliAnalysisTaskPIDCORR.h:163