#ifndef ALIANALYSISTASKPI0V2_H
#define ALIANALYSISTASKPI0V2_H
class TH1F;
class TH2F;
class TH3F;
class TList;
class AliESDCaloCluster;
class AliVCluster;
class AliESDtrackCuts;
class AliESDEvent;
class THnSparse;
class TClonesArray;
class TString;
class TProfile;
class AliOADBContainer;
class AliEPFlattener;
#ifndef ALIANALYSISTASKSE_H
#include "AliAnalysisTaskSE.h"
#endif
class AliAnalysisTaskPi0V2 : public AliAnalysisTaskSE {
public:
AliAnalysisTaskPi0V2();
AliAnalysisTaskPi0V2(const char *name);
virtual ~AliAnalysisTaskPi0V2();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
Double_t GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax) const;
Double_t GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const;
Bool_t IsWithinFiducialVolume(Short_t id) const;
Bool_t IsGoodCluster(const AliVCluster *c) const;
Bool_t IsGoodClusterV1(const AliVCluster *c) const;
Bool_t IsGoodPion(const TLorentzVector& p1, const TLorentzVector& p2) const;
void FillPion(const TLorentzVector& p1, const TLorentzVector& p2, Double_t EPV0A, Double_t EPV0C, Double_t EPTPC);
void FillCluster(const TLorentzVector& p1, Double_t EPV0r, Double_t EPV0C, Double_t EPTPC, AliVCluster *c);
void GetMom(TLorentzVector& p, const AliVCluster *c, Double_t *vertex);
void SetVtxCut(Double_t v ) { fVtxCut =v ;}
void SetClusNcell(Double_t c ) { fNcellCut =c ;}
void SetClusE(Double_t e ) { fECut =e ;}
void SetClusEta(Double_t e ) { fEtaCut =e ;}
void SetClusM02(Double_t m ) { fM02Cut =m ;}
void SetDrCut(Double_t m ) { fDrCut =m ;}
void SetPi0Asy(Double_t a ) { fPi0AsyCut =a ;}
void SetTracksName(const char *n) { fTracksName =n ;}
void SetTrigClass(const char *n) { fTrigClass =n ;}
void SetV1ClusName(const char *n) { fV1ClusName =n ;}
void SetV2ClusName(const char *n) { fV2ClusName =n ;}
Int_t ConvertToInternalRunNumber(Int_t n);
void FillEPQA();
void SetIsV1Clus(Bool_t e) { isV1Clus =e ;}
void SetIsPHOSCali(Bool_t e) { isPhosCali =e ;}
void SetIsCentFlat(Bool_t e) { isCentFlat =e ;}
void SetIsFullHist(Bool_t e) { isFullHist =e ;}
void SetFlatteningData();
Double_t ApplyFlattening(Double_t phi, Double_t c) ;
Double_t ApplyFlatteningV0A(Double_t phi, Double_t c) ;
Double_t ApplyFlatteningV0C(Double_t phi, Double_t c) ;
private:
TList *fOutput;
AliESDEvent *fESD;
AliAODEvent *fAOD;
TString fTracksName;
TString fV1ClusName;
TString fV2ClusName;
TString fTrigClass;
TClonesArray *fTracks;
TClonesArray *fV1Clus;
TClonesArray *fV2Clus;
Int_t fRunNumber;
Int_t fInterRunNumber;
Double_t fVtxCut;
Double_t fNcellCut;
Double_t fECut;
Double_t fEtaCut;
Double_t fM02Cut;
Double_t fDrCut;
Bool_t fPi0AsyCut;
Bool_t isV1Clus;
Bool_t isPhosCali;
Bool_t isCentFlat;
Bool_t isFullHist;
Double_t fCentrality;
Double_t fEPTPC;
Double_t fEPTPCreso;
Double_t fEPV0;
Double_t fEPV0A;
Double_t fEPV0C;
Double_t fEPV0Ar;
Double_t fEPV0Cr;
Double_t fEPV0r;
Double_t fEPV0AR4;
Double_t fEPV0AR5;
Double_t fEPV0AR6;
Double_t fEPV0AR7;
Double_t fEPV0CR0;
Double_t fEPV0CR1;
Double_t fEPV0CR2;
Double_t fEPV0CR3;
TH1F *hEvtCount;
TH1F *hCent;
TProfile *h2DcosV0A;
TProfile *h2DsinV0A;
TProfile *h2DcosV0C;
TProfile *h2DsinV0C;
TProfile *h2DcosTPC;
TProfile *h2DsinTPC;
TH2F *hEPTPC;
TH2F *hresoTPC;
TH2F *hEPV0;
TH2F *hEPV0A;
TH2F *hEPV0C;
TH2F *hEPV0Ar;
TH2F *hEPV0Cr;
TH2F *hEPV0r;
TH2F *hEPV0AR4;
TH2F *hEPV0AR7;
TH2F *hEPV0CR0;
TH2F *hEPV0CR3;
TH2F *hEPTPCCor;
TH2F *hEPV0ACor;
TH2F *hEPV0CCor;
TH2F *hdifV0Ar_V0Cr;
TH2F *hdifV0A_V0CR0;
TH2F *hdifV0A_V0CR3;
TH2F *hdifV0ACR0_V0CR3;
TH2F *hdifV0C_V0AR4;
TH2F *hdifV0C_V0AR7;
TH2F *hdifV0AR4_V0AR7;
TH2F *hdifV0A_V0C;
TH2F *hdifV0A_TPC;
TH2F *hdifV0C_TPC;
TH2F *hdifV0C_V0A;
TH2F *hM02vsPtA;
TH2F *hM02vsPtB;
TH2F *hClusDxDZA;
TH2F *hClusDxDZB;
TH3F *hdifEMC_EPV0A;
TH3F *hdifEMC_EPV0C;
TH3F *hdifful_EPV0A;
TH3F *hdifful_EPV0C;
TH3F *hdifout_EPV0A;
TH3F *hdifout_EPV0C;
TH3F *hCv2EMC_EPV0A;
TH3F *hCv2EMC_EPV0C;
TH3F *hCv2ful_EPV0A;
TH3F *hCv2ful_EPV0C;
TH3F *hCv2out_EPV0A;
TH3F *hCv2out_EPV0C;
TH3F *hclusDif_EPV0A;
TH3F *hclusDif_EPV0C;
TH3F *hclusv2_EPV0A;
TH3F *hclusv2_EPV0C;
TString fEPcalibFileName;
AliEPFlattener *fTPCFlat;
AliEPFlattener *fV0AFlat;
AliEPFlattener *fV0CFlat;
THnSparse *fClusterPbV0;
THnSparse *fClusterPbV0A;
THnSparse *fClusterPbV0C;
THnSparse *fClusterPbTPC;
THnSparse *fHEPV0A;
THnSparse *fHEPV0C;
THnSparse *fHEPTPC;
THnSparse *fHEPV0AM2;
THnSparse *fHEPV0CM2;
THnSparse *fHEPTPCM2;
AliAnalysisTaskPi0V2(const AliAnalysisTaskPi0V2&);
AliAnalysisTaskPi0V2& operator=(const AliAnalysisTaskPi0V2&);
ClassDef(AliAnalysisTaskPi0V2, 6);
};
#endif
AliAnalysisTaskPi0V2.h:10 AliAnalysisTaskPi0V2.h:11 AliAnalysisTaskPi0V2.h:12 AliAnalysisTaskPi0V2.h:13 AliAnalysisTaskPi0V2.h:14 AliAnalysisTaskPi0V2.h:15 AliAnalysisTaskPi0V2.h:16 AliAnalysisTaskPi0V2.h:17 AliAnalysisTaskPi0V2.h:18 AliAnalysisTaskPi0V2.h:19 AliAnalysisTaskPi0V2.h:20 AliAnalysisTaskPi0V2.h:21 AliAnalysisTaskPi0V2.h:22 AliAnalysisTaskPi0V2.h:23 AliAnalysisTaskPi0V2.h:24 AliAnalysisTaskPi0V2.h:25 AliAnalysisTaskPi0V2.h:26 AliAnalysisTaskPi0V2.h:27 AliAnalysisTaskPi0V2.h:28 AliAnalysisTaskPi0V2.h:29 AliAnalysisTaskPi0V2.h:30 AliAnalysisTaskPi0V2.h:31 AliAnalysisTaskPi0V2.h:32 AliAnalysisTaskPi0V2.h:33 AliAnalysisTaskPi0V2.h:34 AliAnalysisTaskPi0V2.h:35 AliAnalysisTaskPi0V2.h:36 AliAnalysisTaskPi0V2.h:37 AliAnalysisTaskPi0V2.h:38 AliAnalysisTaskPi0V2.h:39 AliAnalysisTaskPi0V2.h:40 AliAnalysisTaskPi0V2.h:41 AliAnalysisTaskPi0V2.h:42 AliAnalysisTaskPi0V2.h:43 AliAnalysisTaskPi0V2.h:44 AliAnalysisTaskPi0V2.h:45 AliAnalysisTaskPi0V2.h:46 AliAnalysisTaskPi0V2.h:47 AliAnalysisTaskPi0V2.h:48 AliAnalysisTaskPi0V2.h:49 AliAnalysisTaskPi0V2.h:50 AliAnalysisTaskPi0V2.h:51 AliAnalysisTaskPi0V2.h:52 AliAnalysisTaskPi0V2.h:53 AliAnalysisTaskPi0V2.h:54 AliAnalysisTaskPi0V2.h:55 AliAnalysisTaskPi0V2.h:56 AliAnalysisTaskPi0V2.h:57 AliAnalysisTaskPi0V2.h:58 AliAnalysisTaskPi0V2.h:59 AliAnalysisTaskPi0V2.h:60 AliAnalysisTaskPi0V2.h:61 AliAnalysisTaskPi0V2.h:62 AliAnalysisTaskPi0V2.h:63 AliAnalysisTaskPi0V2.h:64 AliAnalysisTaskPi0V2.h:65 AliAnalysisTaskPi0V2.h:66 AliAnalysisTaskPi0V2.h:67 AliAnalysisTaskPi0V2.h:68 AliAnalysisTaskPi0V2.h:69 AliAnalysisTaskPi0V2.h:70 AliAnalysisTaskPi0V2.h:71 AliAnalysisTaskPi0V2.h:72 AliAnalysisTaskPi0V2.h:73 AliAnalysisTaskPi0V2.h:74 AliAnalysisTaskPi0V2.h:75 AliAnalysisTaskPi0V2.h:76 AliAnalysisTaskPi0V2.h:77 AliAnalysisTaskPi0V2.h:78 AliAnalysisTaskPi0V2.h:79 AliAnalysisTaskPi0V2.h:80 AliAnalysisTaskPi0V2.h:81 AliAnalysisTaskPi0V2.h:82 AliAnalysisTaskPi0V2.h:83 AliAnalysisTaskPi0V2.h:84 AliAnalysisTaskPi0V2.h:85 AliAnalysisTaskPi0V2.h:86 AliAnalysisTaskPi0V2.h:87 AliAnalysisTaskPi0V2.h:88 AliAnalysisTaskPi0V2.h:89 AliAnalysisTaskPi0V2.h:90 AliAnalysisTaskPi0V2.h:91 AliAnalysisTaskPi0V2.h:92 AliAnalysisTaskPi0V2.h:93 AliAnalysisTaskPi0V2.h:94 AliAnalysisTaskPi0V2.h:95 AliAnalysisTaskPi0V2.h:96 AliAnalysisTaskPi0V2.h:97 AliAnalysisTaskPi0V2.h:98 AliAnalysisTaskPi0V2.h:99 AliAnalysisTaskPi0V2.h:100 AliAnalysisTaskPi0V2.h:101 AliAnalysisTaskPi0V2.h:102 AliAnalysisTaskPi0V2.h:103 AliAnalysisTaskPi0V2.h:104 AliAnalysisTaskPi0V2.h:105 AliAnalysisTaskPi0V2.h:106 AliAnalysisTaskPi0V2.h:107 AliAnalysisTaskPi0V2.h:108 AliAnalysisTaskPi0V2.h:109 AliAnalysisTaskPi0V2.h:110 AliAnalysisTaskPi0V2.h:111 AliAnalysisTaskPi0V2.h:112 AliAnalysisTaskPi0V2.h:113 AliAnalysisTaskPi0V2.h:114 AliAnalysisTaskPi0V2.h:115 AliAnalysisTaskPi0V2.h:116 AliAnalysisTaskPi0V2.h:117 AliAnalysisTaskPi0V2.h:118 AliAnalysisTaskPi0V2.h:119 AliAnalysisTaskPi0V2.h:120 AliAnalysisTaskPi0V2.h:121 AliAnalysisTaskPi0V2.h:122 AliAnalysisTaskPi0V2.h:123 AliAnalysisTaskPi0V2.h:124 AliAnalysisTaskPi0V2.h:125 AliAnalysisTaskPi0V2.h:126 AliAnalysisTaskPi0V2.h:127 AliAnalysisTaskPi0V2.h:128 AliAnalysisTaskPi0V2.h:129 AliAnalysisTaskPi0V2.h:130 AliAnalysisTaskPi0V2.h:131 AliAnalysisTaskPi0V2.h:132 AliAnalysisTaskPi0V2.h:133 AliAnalysisTaskPi0V2.h:134 AliAnalysisTaskPi0V2.h:135 AliAnalysisTaskPi0V2.h:136 AliAnalysisTaskPi0V2.h:137 AliAnalysisTaskPi0V2.h:138 AliAnalysisTaskPi0V2.h:139 AliAnalysisTaskPi0V2.h:140 AliAnalysisTaskPi0V2.h:141 AliAnalysisTaskPi0V2.h:142 AliAnalysisTaskPi0V2.h:143 AliAnalysisTaskPi0V2.h:144 AliAnalysisTaskPi0V2.h:145 AliAnalysisTaskPi0V2.h:146 AliAnalysisTaskPi0V2.h:147 AliAnalysisTaskPi0V2.h:148 AliAnalysisTaskPi0V2.h:149 AliAnalysisTaskPi0V2.h:150 AliAnalysisTaskPi0V2.h:151 AliAnalysisTaskPi0V2.h:152 AliAnalysisTaskPi0V2.h:153 AliAnalysisTaskPi0V2.h:154 AliAnalysisTaskPi0V2.h:155 AliAnalysisTaskPi0V2.h:156 AliAnalysisTaskPi0V2.h:157 AliAnalysisTaskPi0V2.h:158 AliAnalysisTaskPi0V2.h:159 AliAnalysisTaskPi0V2.h:160 AliAnalysisTaskPi0V2.h:161 AliAnalysisTaskPi0V2.h:162 AliAnalysisTaskPi0V2.h:163 AliAnalysisTaskPi0V2.h:164 AliAnalysisTaskPi0V2.h:165 AliAnalysisTaskPi0V2.h:166 AliAnalysisTaskPi0V2.h:167 AliAnalysisTaskPi0V2.h:168 AliAnalysisTaskPi0V2.h:169 AliAnalysisTaskPi0V2.h:170 AliAnalysisTaskPi0V2.h:171 AliAnalysisTaskPi0V2.h:172 AliAnalysisTaskPi0V2.h:173 AliAnalysisTaskPi0V2.h:174 AliAnalysisTaskPi0V2.h:175 AliAnalysisTaskPi0V2.h:176 AliAnalysisTaskPi0V2.h:177 AliAnalysisTaskPi0V2.h:178 AliAnalysisTaskPi0V2.h:179 AliAnalysisTaskPi0V2.h:180 AliAnalysisTaskPi0V2.h:181 AliAnalysisTaskPi0V2.h:182 AliAnalysisTaskPi0V2.h:183 AliAnalysisTaskPi0V2.h:184 AliAnalysisTaskPi0V2.h:185 AliAnalysisTaskPi0V2.h:186 AliAnalysisTaskPi0V2.h:187 AliAnalysisTaskPi0V2.h:188 AliAnalysisTaskPi0V2.h:189 AliAnalysisTaskPi0V2.h:190 AliAnalysisTaskPi0V2.h:191 AliAnalysisTaskPi0V2.h:192 AliAnalysisTaskPi0V2.h:193 AliAnalysisTaskPi0V2.h:194 AliAnalysisTaskPi0V2.h:195 AliAnalysisTaskPi0V2.h:196 AliAnalysisTaskPi0V2.h:197 AliAnalysisTaskPi0V2.h:198 AliAnalysisTaskPi0V2.h:199 AliAnalysisTaskPi0V2.h:200 AliAnalysisTaskPi0V2.h:201