]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskHFECal.h
updated
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskHFECal.h
CommitLineData
bfc7c23b 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16#ifndef ALIANALYSISTASKHFECAL_H
17#define ALIANALYSISTASKHFECAL_H
18
19class THnSparse;
20class TH2F;
21class TLorentzVector;
22
23class AliEMCALTrack;
24class AliMagF;
25class AliESDEvent;
26class AliAODEvent;
27class AliEMCALGeometry;
28class AliEMCALRecoUtils;
29class AliAnalysisFilter;
30class AliESDtrackCuts;
31class AliESDtrack;
32class AliHFEcontainer;
33class AliHFEcuts;
34class AliHFEpid;
35class AliHFEpidQAmanager;
36class AliCFManager;
37
38#include "AliAnalysisTaskSE.h"
8806ce6c 39#include "AliStack.h"
bfc7c23b 40
41class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
42 public:
43 AliAnalysisTaskHFECal();
44 AliAnalysisTaskHFECal(const char *name);
45 virtual ~AliAnalysisTaskHFECal();
46
47 virtual void UserCreateOutputObjects();
48 virtual void UserExec(Option_t *option);
49 virtual void Terminate(Option_t *);
50
51 void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
52 void SetOpeningAngleCut (Double_t openingAngle) {fOpeningAngleCut = openingAngle;};
53 void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;};
85985bb0 54 void SetQAHist (int qahist) {fqahist = qahist;};
bfc7c23b 55 AliHFEpid *GetPID() const { return fPID; }
56 void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) { fRejectKinkMother = rejectKinkMother; };
8806ce6c 57 void SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, AliStack *stack, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent);
58 double GetMCweight(double mcPi0pT);
93c189c5 59 double GetMCweightEta(double mcEtapT);
fb87d707 60 void FindTriggerClusters();
bfc7c23b 61 private:
62
63 Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
64
65 AliESDEvent *fESD; //!ESD object
e7d87aef 66 AliMCEvent *fMC; //!MC object
fb87d707 67 AliEMCALGeometry *fGeom; // emcal geometry
bfc7c23b 68
69 TList *fOutputList; //! output list
85985bb0 70 Int_t fqahist;
71
bfc7c23b 72 AliESDtrackCuts *fTrackCuts; //! ESD track cuts
73 AliHFEcuts *fCuts; //! Cut Collection
74 Bool_t fIdentifiedAsOutInz; //Out Of Range in z
75 Bool_t fPassTheEventCut; //Pass The Event Cut
76 Bool_t fRejectKinkMother; //Reject Kink Mother
e7d87aef 77 Bool_t fmcData;
bfc7c23b 78 Double_t fVz; //z position of the primary vertex
79 AliCFManager *fCFM; //! Correction Framework Manager
80 AliHFEpid *fPID; //! PID
81 AliHFEpidQAmanager *fPIDqa; //! PID QA manager
82 Double_t fOpeningAngleCut; //openingAngle cut value
83 Double_t fInvmassCut; //invariant mass cut value
fb87d707 84
85 int ftriggers[48][60];//!
86 int ftriggersCut[48][60];//!
87 int ftriggersTime[48][60];//!
88
e7d87aef 89
bfc7c23b 90 TH1F *fNoEvents; //! no of events
91 THnSparseD *fEMCAccE; //! EMC acc
92 TH1F *fTrkpt; //! track pt
93 TH2F *fTrkEovPBef; //! track E/p before HFE pid
94 TH2F *fTrkEovPAft; //! track E/p after HFE pid
95 TH2F *fdEdxBef; //! track dEdx vs p before HFE pid
96 TH2F *fdEdxAft; //! track dEdx vs p after HFE pid
97 TH2F *fIncpT; //! HFE pid electron vs centrality
fb87d707 98 TH2F *fIncpTM20; //! HFE pid electron vs centrality
f09766dd 99 THnSparseD *fInvmassLS; //! Inv mass of LS (e,e)
100 THnSparseD *fInvmassULS; //! Inv mass of ULS (e,e)
8806ce6c 101 THnSparseD *fInvmassLSmc; //! Inv mass of LS (e,e)
102 THnSparseD *fInvmassULSmc; //! Inv mass of ULS (e,e)
93c189c5 103 TH2D *fInvmassLSmc0; //! Inv mass of ULS (e,e)
104 TH2D *fInvmassLSmc1; //! Inv mass of ULS (e,e)
105 TH2D *fInvmassLSmc2; //! Inv mass of ULS (e,e)
106 TH2D *fInvmassLSmc3; //! Inv mass of ULS (e,e)
107 TH2D *fInvmassULSmc0; //! Inv mass of ULS (e,e)
108 TH2D *fInvmassULSmc1; //! Inv mass of ULS (e,e)
109 TH2D *fInvmassULSmc2; //! Inv mass of ULS (e,e)
110 TH2D *fInvmassULSmc3; //! Inv mass of ULS (e,e)
bfc7c23b 111 TH1F *fOpeningAngleLS; //! opening angle for LS pairs
112 TH1F *fOpeningAngleULS; //! opening angle for ULS pairs
113 TH1F *fPhotoElecPt; //! photonic elec pt
f09766dd 114 TH2F *fPhoElecPt; //! Pho inclusive ele pt
fb87d707 115 TH2F *fPhoElecPtM20; //! Pho inclusive ele pt
f09766dd 116 TH2F *fSameElecPt; //! Same inclusive ele pt
fb87d707 117 TH2F *fSameElecPtM20; //! Same inclusive ele pt
a6df418c 118
bfc7c23b 119 TH1F *fTrackPtBefTrkCuts; //! Track pt before track cuts
120 TH1F *fTrackPtAftTrkCuts; //! Track pt after track cuts
121 TH2F *fTPCnsigma; //! TPC n sigma vs p
122
123 TH1F *fCent; //! centrality
124 THnSparseD *fEleInfo; //! EMC acc
feffe705 125 /*
fb87d707 126 //<---- trigger info
127 TH1F *fClsEBftTrigCut; //Cluster E before trigger selection
128 TH1F *fClsEAftTrigCut; //Cluster E after trigger selection
129 TH1F *fClsEAftTrigCut1; //Cluster E after trigger selection
130 TH1F *fClsEAftTrigCut2; //Cluster E after trigger selection
131 TH1F *fClsEAftTrigCut3; //Cluster E after trigger selection
132 TH1F *fClsEAftTrigCut4; //Cluster E after trigger selection
133 TH2F *fClsETime; //ClsE vs time distribution
134 TH2F *fClsETime1; //ClsE vs time distribution
135 TH1F *fTrigTimes;// trigger time
42c75692 136 TH2F *fCellCheck;// trigger time
feffe705 137 */
e7d87aef 138 //<------ MC
139 TH2F *fInputHFEMC;
feffe705 140 TH2F *fInputAlle;
e7d87aef 141 TH2F *fIncpTMChfe; //! MC HFE pid electron vs centrality
3db00c72 142 TH2F *fIncpTMChfeAll; //! MC HFE pid electron vs centrality
e7d87aef 143 TH2F *fIncpTMCM20hfe; //! MC HFE pid electron vs centrality
3db00c72 144 TH2F *fIncpTMCM20hfeAll; //! MC HFE pid electron vs centrality
60544aea 145 TH2F *fIncpTMCM20hfeCheck; //! MC HFE pid electron vs centrality
44be9e1d 146 THnSparseD *fIncpTMCpho; //! MC HFE pid electron vs centrality
147 THnSparseD *fIncpTMCM20pho; //! MC HFE pid electron vs centrality
148 THnSparseD *fPhoElecPtMC; //! Pho inclusive ele pt
149 THnSparseD *fPhoElecPtMCM20; //! Pho inclusive ele pt
150 THnSparseD *fSameElecPtMC; //! Same inclusive ele pt
151 THnSparseD *fSameElecPtMCM20; //! Same inclusive ele pt
e4b0faf2 152 THnSparseD *fIncpTMCM20pho_pi0e; //! MC HFE pid electron vs centrality
153 THnSparseD *fPhoElecPtMCM20_pi0e; //! Pho inclusive ele pt
154 THnSparseD *fSameElecPtMCM20_pi0e; //! Same inclusive ele pt
93c189c5 155 THnSparseD *fIncpTMCM20pho_eta; //! MC HFE pid electron vs centrality
156 THnSparseD *fPhoElecPtMCM20_eta; //! Pho inclusive ele pt
157 THnSparseD *fSameElecPtMCM20_eta; //! Same inclusive ele pt
d113d7cd 158 TH1D *CheckNclust;
159 TH1D *CheckNits;
160 TH2D *Hpi0pTcheck;
19325033 161 TH2D *HETApTcheck;
e4b0faf2 162 TH2D *HphopTcheck;
93c189c5 163 TH1D *fpTCheck;
50919258 164 TH2D *fMomDtoE;
d113d7cd 165
bfc7c23b 166 AliAnalysisTaskHFECal(const AliAnalysisTaskHFECal&); // not implemented
167 AliAnalysisTaskHFECal& operator=(const AliAnalysisTaskHFECal&); // not implemented
168
169 ClassDef(AliAnalysisTaskHFECal, 1); //!example of analysis
170};
171
172#endif
173
174