]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskHFECal.h
added a histogram
[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;
09022877 22class TGraphErrors;
bfc7c23b 23
24class AliEMCALTrack;
25class AliMagF;
26class AliESDEvent;
27class AliAODEvent;
28class AliEMCALGeometry;
29class AliEMCALRecoUtils;
30class AliAnalysisFilter;
31class AliESDtrackCuts;
32class AliESDtrack;
33class AliHFEcontainer;
34class AliHFEcuts;
35class AliHFEpid;
36class AliHFEpidQAmanager;
37class AliCFManager;
38
39#include "AliAnalysisTaskSE.h"
8806ce6c 40#include "AliStack.h"
bfc7c23b 41
42class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
43 public:
44 AliAnalysisTaskHFECal();
45 AliAnalysisTaskHFECal(const char *name);
46 virtual ~AliAnalysisTaskHFECal();
47
48 virtual void UserCreateOutputObjects();
49 virtual void UserExec(Option_t *option);
50 virtual void Terminate(Option_t *);
51
52 void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
53 void SetOpeningAngleCut (Double_t openingAngle) {fOpeningAngleCut = openingAngle;};
6451f693 54 void SetMimpTassCut (Double_t MimpTassCut) {fMimpTassCut = MimpTassCut;};
6b2cee73 55 void SetMimNsigassCut (Double_t MimNsigassCut) {fMimNsigassCut = MimNsigassCut;};
bfc7c23b 56 void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;};
a009053a 57 void SetMassConstraint (Bool_t MassConstraint) { fSetMassConstraint = MassConstraint; };
3c475a9d 58 void SetMassWidthCut (Bool_t MassWidthCut) { fSetMassWidthCut = MassWidthCut; };
2f8ef315 59 void SetMassNonlinear (Bool_t MassNonlinear) { fSetMassNonlinear = MassNonlinear; };
6451f693 60 void SetMassCalMethod (Bool_t KFpart) { fSetKFpart = KFpart; };
85985bb0 61 void SetQAHist (int qahist) {fqahist = qahist;};
bfc7c23b 62 AliHFEpid *GetPID() const { return fPID; }
63 void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) { fRejectKinkMother = rejectKinkMother; };
2b4460a6 64 void SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta);
6451f693 65 void SelectPhotonicElectron2(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta);
5e38d973 66 double SumpT(Int_t itrack, AliESDtrack *track);
46305ed6 67 void FindMother(TParticle* part, int &label, int &pid);
8806ce6c 68 double GetMCweight(double mcPi0pT);
93c189c5 69 double GetMCweightEta(double mcEtapT);
fb87d707 70 void FindTriggerClusters();
8efacc22 71 double MCEopMeanCorrection(double pTmc, float central);
09022877 72 double NsigmaCorrection(double tmpeta, float central);
bfc7c23b 73 private:
74
75 Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
76
77 AliESDEvent *fESD; //!ESD object
e7d87aef 78 AliMCEvent *fMC; //!MC object
46305ed6 79 AliStack *stack; //!MC object
fb87d707 80 AliEMCALGeometry *fGeom; // emcal geometry
bfc7c23b 81
82 TList *fOutputList; //! output list
85985bb0 83 Int_t fqahist;
84
bfc7c23b 85 AliESDtrackCuts *fTrackCuts; //! ESD track cuts
86 AliHFEcuts *fCuts; //! Cut Collection
87 Bool_t fIdentifiedAsOutInz; //Out Of Range in z
88 Bool_t fPassTheEventCut; //Pass The Event Cut
89 Bool_t fRejectKinkMother; //Reject Kink Mother
e7d87aef 90 Bool_t fmcData;
bfc7c23b 91 Double_t fVz; //z position of the primary vertex
92 AliCFManager *fCFM; //! Correction Framework Manager
93 AliHFEpid *fPID; //! PID
94 AliHFEpidQAmanager *fPIDqa; //! PID QA manager
95 Double_t fOpeningAngleCut; //openingAngle cut value
6451f693 96 Double_t fMimpTassCut; //openingAngle cut value
6b2cee73 97 Double_t fMimNsigassCut; //openingAngle cut value
bfc7c23b 98 Double_t fInvmassCut; //invariant mass cut value
a009053a 99 Bool_t fSetMassConstraint; // Set mass constraint
3c475a9d 100 Bool_t fSetMassWidthCut; // Set mass constraint
2f8ef315 101 Bool_t fSetMassNonlinear; // Set mass constraint
6451f693 102 Bool_t fSetKFpart; // Set mass constraint
fb87d707 103
104 int ftriggers[48][60];//!
105 int ftriggersCut[48][60];//!
106 int ftriggersTime[48][60];//!
107
e7d87aef 108
bfc7c23b 109 TH1F *fNoEvents; //! no of events
110 THnSparseD *fEMCAccE; //! EMC acc
f4e0d2d5 111 TH2F *hEMCAccE; //! EMC acc
bfc7c23b 112 TH1F *fTrkpt; //! track pt
113 TH2F *fTrkEovPBef; //! track E/p before HFE pid
114 TH2F *fTrkEovPAft; //! track E/p after HFE pid
115 TH2F *fdEdxBef; //! track dEdx vs p before HFE pid
116 TH2F *fdEdxAft; //! track dEdx vs p after HFE pid
117 TH2F *fIncpT; //! HFE pid electron vs centrality
fb87d707 118 TH2F *fIncpTM20; //! HFE pid electron vs centrality
f09766dd 119 THnSparseD *fInvmassLS; //! Inv mass of LS (e,e)
120 THnSparseD *fInvmassULS; //! Inv mass of ULS (e,e)
8806ce6c 121 THnSparseD *fInvmassLSmc; //! Inv mass of LS (e,e)
122 THnSparseD *fInvmassULSmc; //! Inv mass of ULS (e,e)
727e91fd 123 TH2D *fInvmassLSreco; //! Inv mass of LS (e,e)
124 TH2D *fInvmassULSreco; //! Inv mass of ULS (e,e)
93c189c5 125 TH2D *fInvmassLSmc0; //! Inv mass of ULS (e,e)
126 TH2D *fInvmassLSmc1; //! Inv mass of ULS (e,e)
127 TH2D *fInvmassLSmc2; //! Inv mass of ULS (e,e)
128 TH2D *fInvmassLSmc3; //! Inv mass of ULS (e,e)
129 TH2D *fInvmassULSmc0; //! Inv mass of ULS (e,e)
130 TH2D *fInvmassULSmc1; //! Inv mass of ULS (e,e)
131 TH2D *fInvmassULSmc2; //! Inv mass of ULS (e,e)
132 TH2D *fInvmassULSmc3; //! Inv mass of ULS (e,e)
bfc7c23b 133 TH1F *fOpeningAngleLS; //! opening angle for LS pairs
134 TH1F *fOpeningAngleULS; //! opening angle for ULS pairs
135 TH1F *fPhotoElecPt; //! photonic elec pt
f09766dd 136 TH2F *fPhoElecPt; //! Pho inclusive ele pt
fb87d707 137 TH2F *fPhoElecPtM20; //! Pho inclusive ele pt
f09766dd 138 TH2F *fSameElecPt; //! Same inclusive ele pt
fb87d707 139 TH2F *fSameElecPtM20; //! Same inclusive ele pt
ebef1da9 140 TH2F *fSemiElecPtM20; //! Same inclusive ele pt
a6df418c 141
bfc7c23b 142 TH1F *fTrackPtBefTrkCuts; //! Track pt before track cuts
143 TH1F *fTrackPtAftTrkCuts; //! Track pt after track cuts
144 TH2F *fTPCnsigma; //! TPC n sigma vs p
145
146 TH1F *fCent; //! centrality
147 THnSparseD *fEleInfo; //! EMC acc
e1f0fb74 148 THnSparseD *fElenSigma; //! EMC acc
feffe705 149 /*
fb87d707 150 //<---- trigger info
151 TH1F *fClsEBftTrigCut; //Cluster E before trigger selection
152 TH1F *fClsEAftTrigCut; //Cluster E after trigger selection
153 TH1F *fClsEAftTrigCut1; //Cluster E after trigger selection
154 TH1F *fClsEAftTrigCut2; //Cluster E after trigger selection
155 TH1F *fClsEAftTrigCut3; //Cluster E after trigger selection
156 TH1F *fClsEAftTrigCut4; //Cluster E after trigger selection
157 TH2F *fClsETime; //ClsE vs time distribution
158 TH2F *fClsETime1; //ClsE vs time distribution
159 TH1F *fTrigTimes;// trigger time
42c75692 160 TH2F *fCellCheck;// trigger time
feffe705 161 */
e7d87aef 162 //<------ MC
163 TH2F *fInputHFEMC;
feffe705 164 TH2F *fInputAlle;
e7d87aef 165 TH2F *fIncpTMChfe; //! MC HFE pid electron vs centrality
3db00c72 166 TH2F *fIncpTMChfeAll; //! MC HFE pid electron vs centrality
e7d87aef 167 TH2F *fIncpTMCM20hfe; //! MC HFE pid electron vs centrality
3db00c72 168 TH2F *fIncpTMCM20hfeAll; //! MC HFE pid electron vs centrality
60544aea 169 TH2F *fIncpTMCM20hfeCheck; //! MC HFE pid electron vs centrality
bd6ee6dd 170 THnSparseD *fInputHFEMC_weight; //! MC HFE pid electron vs centrality
171 THnSparseD *fIncpTMCM20hfeCheck_weight; //! MC HFE pid electron vs centrality
44be9e1d 172 THnSparseD *fIncpTMCpho; //! MC HFE pid electron vs centrality
173 THnSparseD *fIncpTMCM20pho; //! MC HFE pid electron vs centrality
174 THnSparseD *fPhoElecPtMC; //! Pho inclusive ele pt
175 THnSparseD *fPhoElecPtMCM20; //! Pho inclusive ele pt
176 THnSparseD *fSameElecPtMC; //! Same inclusive ele pt
177 THnSparseD *fSameElecPtMCM20; //! Same inclusive ele pt
e4b0faf2 178 THnSparseD *fIncpTMCM20pho_pi0e; //! MC HFE pid electron vs centrality
179 THnSparseD *fPhoElecPtMCM20_pi0e; //! Pho inclusive ele pt
180 THnSparseD *fSameElecPtMCM20_pi0e; //! Same inclusive ele pt
93c189c5 181 THnSparseD *fIncpTMCM20pho_eta; //! MC HFE pid electron vs centrality
182 THnSparseD *fPhoElecPtMCM20_eta; //! Pho inclusive ele pt
183 THnSparseD *fSameElecPtMCM20_eta; //! Same inclusive ele pt
697ecf6b 184 THnSparseD *fIncpTMCpho_pi0e_TPC; //! MC HFE pid electron vs centrality
185 THnSparseD *fPhoElecPtMC_pi0e_TPC; //! Pho inclusive ele pt
186 THnSparseD *fSameElecPtMC_pi0e_TPC; //! Same inclusive ele pt
2f8ef315 187 THnSparseD *fIncpTMCpho_eta_TPC; //! MC HFE pid electron vs centrality
188 THnSparseD *fPhoElecPtMC_eta_TPC; //! Pho inclusive ele pt
189 THnSparseD *fSameElecPtMC_eta_TPC; //! Same inclusive ele pt
d113d7cd 190 TH1D *CheckNclust;
191 TH1D *CheckNits;
68d718e7 192 THnSparseD *Hpi0pTcheck;
193 THnSparseD *HETApTcheck;
e4b0faf2 194 TH2D *HphopTcheck;
5e0e45b3 195 TH2D *HDpTcheck;
196 TH2D *HBpTcheck;
93c189c5 197 TH1D *fpTCheck;
50919258 198 TH2D *fMomDtoE;
70448e3b 199 TH2D *fLabelCheck;
200 TH2D *fgeoFake;
d19af75d 201 TH2D *fFakeTrk0;
202 TH2D *fFakeTrk1;
59d998de 203 TH2D *ftimingEle;
6f4a9952 204 TH2D *fIncMaxE;
5e38d973 205 TH2D *fIncReco;
206 TH2D *fPhoReco;
207 TH2D *fSamReco;
c82f1b9d 208 TH2D *fIncRecoMaxE;
209 TH2D *fPhoRecoMaxE;
210 TH2D *fSamRecoMaxE;
5e38d973 211
09022877 212 //<----- correction
213 TGraphErrors *fnSigEtaCorr[7];
214
215
bfc7c23b 216 AliAnalysisTaskHFECal(const AliAnalysisTaskHFECal&); // not implemented
217 AliAnalysisTaskHFECal& operator=(const AliAnalysisTaskHFECal&); // not implemented
218
219 ClassDef(AliAnalysisTaskHFECal, 1); //!example of analysis
220};
221
222#endif
223
224