1 #ifndef ALIANALYSISTASKSOH_H
2 #define ALIANALYSISTASKSOH_H
14 class AliESDCaloCluster;
15 class AliESDtrackCuts;
17 #include "AliAnalysisTaskSE.h"
19 class AliAnalysisTaskSOH : public AliAnalysisTaskSE {
22 AliAnalysisTaskSOH(const char *name);
23 virtual ~AliAnalysisTaskSOH();
25 void UserCreateOutputObjects();
26 void UserExec(Option_t *option);
27 void Terminate(Option_t *);
29 void SetEsdTrackCuts(AliESDtrackCuts *cuts) { fEsdTrackCuts = cuts ; }
30 void SetHybridTrackCuts1(AliESDtrackCuts *cuts) { fHybridTrackCuts1 = cuts ; }
31 void SetHybridTrackCuts2(AliESDtrackCuts *cuts) { fHybridTrackCuts2 = cuts ; }
35 AliESDtrack *GetAcceptTrack(AliESDtrack *esdtrack) ;
36 Bool_t IsGoodCluster(AliESDCaloCluster *cluster) ;
37 Bool_t IsGoodMcParticle(AliVParticle* vParticle, Int_t ipart);
39 void ProcessCluster() ;
41 void ProcessScaleFactor() ;
43 AliESDEvent *fESD; //!esd event
44 AliMCEvent *fMC; //!mv event
45 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts
46 AliESDtrackCuts *fHybridTrackCuts1; // hybrid track cuts
47 AliESDtrackCuts *fHybridTrackCuts2; // hybrid track cuts
48 TArrayI *fTrackIndices; //!selected track index
49 TArrayI *fClusterIndices; //!cluster with two matched MC track index
50 TObjArray *fClusterArray; //!selected cluster array
52 TList *fOutputList; //!output list
53 TH1F *fHEventStat; //!statistics histo
54 TH3F *fHTrkEffParGenPtEtaPhi; //!mc truth pt spectrum
55 TH3F *fHTrkEffDetGenPtEtaPhi; //!mc detector level pt spectrum
56 TH3F *fHTrkEffDetRecPtEtaPhi; //!reconstructed detector level pt spectrum
57 TH3F *fHTrkEffDetRecFakePtEtaPhi;//!fake and secondary tracks pt spectrum
58 TH1F *fHScaleFactor; //!scale factor spectrum
59 TH1F *fHScaleFactor100HC; //!scale factor with 100% HC spectrum
60 TH2F *fHEOverPVsPt; //!(cluster energy over reconstructed track p) vs. track pt
61 TH2F *fHEMCalResponsePion; //!same as above for pions
62 TH2F *fHEMCalResponseElec; //!same as above for electrons
63 TH2F *fHEMCalResponseProton; //!same as above for protons
64 TH2F *fHEMCalRecdPhidEta; //!(EMCal cluster phi - track phi) vs. (EMCal cluster eta - track eta)
65 TH2F *fHEMCalRecdPhidEtaP; //!same as above for positive charge tracks
66 TH2F *fHEMCalRecdPhidEtaM; //!same as above for negative charge tracks
67 TH2F *fHEMCalRecdPhidEta_Truth; //!same as above with mc truth matching
68 TH2F *fHEMCalRecdPhidEtaP_Truth; //!same as above with positive truth charge matching
69 TH2F *fHEMCalRecdPhidEtaM_Truth; //!same as above with negative truth charge matching
70 TH2F *fHEMCalRecdPhidEtaposEta; //!same as above for positive eta
71 TH2F *fHEMCalRecdPhidEtanegEta; //!same as above for negative eta
72 TH2F *fHPhotonEdiff100HC; //!(truth E - calculated E in 100% HC)/truth E vs. truth E with photon
73 TH2F *fHPhotonEdiff70HC; //!(truth E - calculated E in 70% HC)/truth E vs. truth E with photon
74 TH2F *fHPhotonEdiff30HC; //!(truth E - calculated E in 30% HC)/truth E vs. truth E with photon
75 TH2F *fHPhotonEdiff0HC; //!(truth E - cluster E)/truth E vs. truth E with photon
76 TH2F *fHPhotonEVsClsE; //!cluster E vs. truth photon E
77 TH2F *fHistEsub1Pch; //!(subtracted E in 100% HC) vs. total track P, clusters with 1 matching track
78 TH2F *fHistEsub2Pch; //!(subtracted E in 100% HC) vs. total track P, clusters with 2 matching tracks
79 TH2F *fHistEsub1PchRat; //!(subtracted E in 100% HC)/total track P vs. total track P, clusters with 1 matching track
80 TH2F *fHistEsub2PchRat; //!(subtracted E in 100% HC)/total track P vs. total track P, clusters with 2 matching tracks
83 AliAnalysisTaskSOH(const AliAnalysisTaskSOH&); // not implemented
84 AliAnalysisTaskSOH& operator=(const AliAnalysisTaskSOH&); // not implemented
86 ClassDef(AliAnalysisTaskSOH, 6); // Analysis task Saehanseul Oh