]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSOH.h
Merge remote-tracking branch 'origin/master' into flatdev
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskSOH.h
CommitLineData
2b2cdb6e 1#ifndef ALIANALYSISTASKSOH_H
2#define ALIANALYSISTASKSOH_H
e9fd1d62 3
4// $Id$
5
6class TList;
7class TH1F;
8class TH2F;
9733b37f 9class TH3F;
048f6758 10class THnSparse;
e9fd1d62 11class TArrayI;
12class AliESDEvent;
13class AliMCEvent;
14class AliESDtrack;
15class AliESDCaloCluster;
16class AliESDtrackCuts;
17
18#include "AliAnalysisTaskSE.h"
19
20class AliAnalysisTaskSOH : public AliAnalysisTaskSE {
21 public:
22 AliAnalysisTaskSOH();
23 AliAnalysisTaskSOH(const char *name);
24 virtual ~AliAnalysisTaskSOH();
25
26 void UserCreateOutputObjects();
27 void UserExec(Option_t *option);
28 void Terminate(Option_t *);
29
83888eef 30 void SetMcProcess(Bool_t p) { fMcProcess=p; }
31 void SetTrackProcess(Bool_t p) { fTrackProcess=p; }
32 void SetSFProcess(Bool_t p) { fSFProcess=p; }
33 void SetClusterProcess(Bool_t p) { fClusterProcess=p; }
34 void SetZvtx(Double_t zvtx) { fZVtxMax = zvtx; }
35
e9fd1d62 36 void SetEsdTrackCuts(AliESDtrackCuts *cuts) { fEsdTrackCuts = cuts ; }
37 void SetHybridTrackCuts1(AliESDtrackCuts *cuts) { fHybridTrackCuts1 = cuts ; }
38 void SetHybridTrackCuts2(AliESDtrackCuts *cuts) { fHybridTrackCuts2 = cuts ; }
39
40 private:
41
83888eef 42 AliESDtrack *GetAcceptTrack(AliESDtrack *esdtrack) ;
e9fd1d62 43 Bool_t IsGoodCluster(AliESDCaloCluster *cluster) ;
44 Bool_t IsGoodMcParticle(AliVParticle* vParticle, Int_t ipart);
83888eef 45 Bool_t EsdVertexOk() const ;
e9fd1d62 46 void ProcessTrack() ;
4bbf59e5 47 void ProcessCluster() ;
e9fd1d62 48 void ProcessMc() ;
4bbf59e5 49 void ProcessScaleFactor() ;
e9fd1d62 50
51 AliESDEvent *fESD; //!esd event
52 AliMCEvent *fMC; //!mv event
83888eef 53 Double_t fZVtxMax; // Max vertex z cut
e9fd1d62 54 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts
55 AliESDtrackCuts *fHybridTrackCuts1; // hybrid track cuts
56 AliESDtrackCuts *fHybridTrackCuts2; // hybrid track cuts
57 TArrayI *fTrackIndices; //!selected track index
4bbf59e5 58 TArrayI *fClusterIndices; //!cluster with two matched MC track index
59 TObjArray *fClusterArray; //!selected cluster array
83888eef 60 Bool_t fMcProcess;
61 Bool_t fTrackProcess;
62 Bool_t fSFProcess;
63 Bool_t fClusterProcess;
64
e9fd1d62 65 TList *fOutputList; //!output list
83888eef 66
e9fd1d62 67 TH1F *fHEventStat; //!statistics histo
4bbf59e5 68 TH1F *fHScaleFactor; //!scale factor spectrum
69 TH1F *fHScaleFactor100HC; //!scale factor with 100% HC spectrum
e9fd1d62 70 TH2F *fHEOverPVsPt; //!(cluster energy over reconstructed track p) vs. track pt
71 TH2F *fHEMCalResponsePion; //!same as above for pions
72 TH2F *fHEMCalResponseElec; //!same as above for electrons
73 TH2F *fHEMCalResponseProton; //!same as above for protons
e9fd1d62 74 TH2F *fHEMCalRecdPhidEta; //!(EMCal cluster phi - track phi) vs. (EMCal cluster eta - track eta)
75 TH2F *fHEMCalRecdPhidEtaP; //!same as above for positive charge tracks
76 TH2F *fHEMCalRecdPhidEtaM; //!same as above for negative charge tracks
77 TH2F *fHEMCalRecdPhidEta_Truth; //!same as above with mc truth matching
78 TH2F *fHEMCalRecdPhidEtaP_Truth; //!same as above with positive truth charge matching
79 TH2F *fHEMCalRecdPhidEtaM_Truth; //!same as above with negative truth charge matching
80 TH2F *fHEMCalRecdPhidEtaposEta; //!same as above for positive eta
81 TH2F *fHEMCalRecdPhidEtanegEta; //!same as above for negative eta
faba08b8 82 TH2F *fHPhotonEdiff100HC; //!(truth E - calculated E in 100% HC)/truth E vs. truth E with photon
a64777f6 83 TH2F *fHPhotonEdiff70HC; //!(truth E - calculated E in 70% HC)/truth E vs. truth E with photon
84 TH2F *fHPhotonEdiff30HC; //!(truth E - calculated E in 30% HC)/truth E vs. truth E with photon
faba08b8 85 TH2F *fHPhotonEdiff0HC; //!(truth E - cluster E)/truth E vs. truth E with photon
86 TH2F *fHPhotonEVsClsE; //!cluster E vs. truth photon E
048f6758 87 TH2F *fHistEsub1Pch; //!(subtracted E in 100% HC) vs. total track P, clusters with 1 matching track
88 TH2F *fHistEsub2Pch; //!(subtracted E in 100% HC) vs. total track P, clusters with 2 matching tracks
89 TH2F *fHistEsub1PchRat; //!(subtracted E in 100% HC)/total track P vs. total track P, clusters with 1 matching track
90 TH2F *fHistEsub2PchRat; //!(subtracted E in 100% HC)/total track P vs. total track P, clusters with 2 matching tracks
91 THnSparse *fHClsEoverMcE_All; //!cluster E/MC particle E, cluster with only one matching particle
92 THnSparse *fHClsEoverMcE_Photon; //!above for photon
93 THnSparse *fHClsEoverMcE_Elec; //!above for electron
94 THnSparse *fHClsEoverMcE_Pion; //!above for pion
83888eef 95 TH3F *fHParGenPion_p; //!plus pion mc truth pt, phi, eta spectrum
96 TH3F *fHParGenPion_m; //!minus pion mc truth pt, phi, eta spectrum
97 TH3F *fHParGenPion_rmInj_p; //!plus charged mc truth(pion) without injected signal pt, phi, eta spectrum
98 TH3F *fHParGenPion_rmInj_m; //!minus charged mc truth(pion) without injected signal pt, phi, eta spectrum
99 TH3F *fHDetGenFakePion; //!fake pion tracks pt, phi, eta spectrum
100 TH3F *fHDetRecFakePion; //!fake pion tracks pt, phi, eta spectrum
101 TH3F *fHDetGenSecPion; //!secondary pion tracks pt, phi, eta spectrum
102 TH3F *fHDetRecSecPion; //!secondary pion tracks pt, phi, eta spectrum
103 TH3F *fHDetGenPion_p[3]; //!plus pion mc detector level pt, phi, eta spectrum
104 TH3F *fHDetRecPion_p[3]; //!plus pion reconstructed detector level pt, phi, eta spectrum
105 TH3F *fHDetGenPion_m[3]; //!minus pion mc detector level pt, phi, eta spectrum
106 TH3F *fHDetRecPion_m[3]; //!minus pion reconstructed detector level pt, phi, eta spectrum
107 TH3F *fHDetGenPion_rmInj_p[3]; //!plus charged generated detector level particle(pion) without injected signal pt, phi, eta spectrum
108 TH3F *fHDetRecPion_rmInj_p[3]; //!plus charged reconstructed detector level pion+ track without injected signal pt, phi, eta spectrum
109 TH3F *fHDetGenPion_rmInj_m[3]; //!minus charged generated detector level particle(pion) without injected signal pt, phi, eta spectrum
110 TH3F *fHDetRecPion_rmInj_m[3]; //!minus charged reconstructed detector level pion- track without injected signal pt, phi, eta spectrum
111
e9fd1d62 112 AliAnalysisTaskSOH(const AliAnalysisTaskSOH&); // not implemented
113 AliAnalysisTaskSOH& operator=(const AliAnalysisTaskSOH&); // not implemented
114
6418e58f 115 ClassDef(AliAnalysisTaskSOH, 13); // Analysis task Saehanseul Oh
e9fd1d62 116};
117#endif