]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskFlowITSTPCTOFQCSP.h
Fix for user input file
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskFlowITSTPCTOFQCSP.h
CommitLineData
4c12b1ec
R
1#ifndef ALIANALYSISTASKFLOWITSTPCTOFQCSP_H
2#define ALIANALYSISTASKFLOWITSTPCTOFQCSP_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7////////////////////////////////////////////////////////////////////////
8// //
9// Task for Heavy Flavour Electron Flow TPC plus TOF //
10// //
11// Author: Andrea Dubla (Utrecht University) //
12// //
13////////////////////////////////////////////////////////////////////////
14
15class THnSparse;
16class TH2F;
17class TLorentzVector;
18class AliMagF;
19class AliESDEvent;
20class AliAODEvent;
21class AliAnalysisFilter;
22class AliESDtrackCuts;
23class AliESDtrack;
24class AliAODtrack;
25class AliHFEcontainer;
26class AliHFEcuts;
27class AliHFEpid;
28class AliHFEpidQAmanager;
29class AliCFManager;
30class AliFlowTrackCuts;
31class AliFlowTrack;
32class AliFlowEvent;
33class AliFlowCandidateTrack;
34class AliFlowEventSimple;
35class AliCentrality;
36class AliPIDResponse;
37class AliSelectNonHFE;
38#include "AliAnalysisTaskSE.h"
39
40
41class AliAnalysisTaskFlowITSTPCTOFQCSP : public AliAnalysisTaskSE {
42
43public:
44 AliAnalysisTaskFlowITSTPCTOFQCSP();
45 AliAnalysisTaskFlowITSTPCTOFQCSP(const char *name);
46 virtual ~AliAnalysisTaskFlowITSTPCTOFQCSP();
47
48 void SetEnableDebugMode() {fDebug = kTRUE; };
49 void SetCentralityParameters(Double_t CentralityMin, Double_t CentralityMax, const char* CentralityMethod); //select centrality
50 void CheckCentrality(AliAODEvent *event,Bool_t &centralitypass); //to use only events with the correct centrality....
51 void SelectPhotonicElectron(Int_t itrack,const AliAODTrack *track, Bool_t &fFlagPhotonicElec);
52 void SelectPhotonicElectronMethod(Bool_t dca){fDCA = dca;}
53 void SetInvariantMassCut(Double_t invmass) {fInvmassCut = invmass;};
54 void SetpTCuttrack(Double_t ptcutmin, Double_t ptcutmax);
55 void SetTrigger(Int_t trig) {fTrigger = trig;};
56 void SetTPCS(Int_t sig) {fTPCS = sig;};
57 void SetVz(Int_t ver) {fVz = ver;};
58// void SetQAPIDSparse(Bool_t qapidsparse) {fQAPIDSparse = qapidsparse;};
59 void SetOpeningAngleflag(Bool_t opang){fOP_angle = opang;};
60 void SetOpeningAngleCut(Double_t opanglecut) {fOpeningAngleCut = opanglecut;};
61 template <typename T> void PlotVZeroMultiplcities(const T* event) const;
62 template <typename T> void SetNullCuts(T* aod);
63 void PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const;
64 virtual void UserCreateOutputObjects();
65 virtual void UserExec(Option_t *option);
66 virtual void Terminate(Option_t *);
67 void SetRPCuts(AliFlowTrackCuts *cutsRP) { fCutsRP = cutsRP; }
68 void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
69 void SetIDCuts(Double_t minTOFnSigma, Double_t maxTOFnSigma, Double_t minITSnsigmalowpt, Double_t maxITSnsigmalowpt,Double_t minITSnsigmahighpt, Double_t maxITSnsigmahighpt, Double_t minTPCnsigmalowpt, Double_t maxTPCnsigmalowpt,Double_t minTPCnsigmahighpt, Double_t maxTPCnsigmahighpt );
70
71 void SetMultCorrelationCut(Bool_t multcut) {fMultCut = multcut;};
72 void SetHistoForCentralityFlattening(TH1F *h,Double_t minCentr,Double_t maxCentr,Double_t centrRef=0.,Int_t switchTRand=0);
73 Bool_t IsEventSelectedForCentrFlattening(Float_t centvalue);
74
75
76 AliHFEpid *GetPID() const { return fPID; };
77
78private:
79
80 Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
81
82 Bool_t fDebug; //! enable debug mode
83 AliAODEvent *fAOD; //AOD object
84 TList *fOutputList; //output list
85 AliHFEcuts *fCuts; //Cut Collection
86 Bool_t fIdentifiedAsOutInz; //Out Of Range in z
87 Bool_t fPassTheEventCut; //Pass The Event Cut
88 AliCFManager *fCFM; //!Correction Framework Manager
89 AliHFEpid *fPID; //PID
90 AliHFEpidQAmanager *fPIDqa; //! PID QA manager
91 AliFlowTrackCuts *fCutsRP; // track cuts for reference particles
92 AliFlowTrackCuts *fNullCuts; // dummy cuts for flow event tracks
93 AliFlowEvent *fFlowEvent; //! flow events Inclusive e
94 const char *fkCentralityMethod; // method used to determine centrality (V0 by default)
95 Double_t fCentrality; // event centrality for QA
96 Double_t fCentralityMin; // lower bound of cenrality bin
97 Double_t fCentralityMax; // upper bound of centrality bin
98 Double_t fInvmassCut; //invariant mass cut value
99 Double_t fpTCutmin; //pt cut value min
100 Double_t fpTCutmax; //pt cut value max
101 Int_t fTrigger; //invariant mass cut value
102 TH1F *fPhi; //! QA plot of azimuthal distribution of tracks used for event plane estimation
103 TH1F *fEta; //! QA plot of eta distribution of tracks used for event plane estimation
104 TH1F *fVZEROA; //! QA plot vzeroa multiplicity (all tracks in event)
105 TH1F *fVZEROC; //! QA plot vzeroc multiplicity (all tracks in event)
106 TH1F *fTPCM; //! QA plot TPC multiplicity (tracks used for event plane estimation)
107 TH1F *fNoEvents; //no of events
108 TH1F *fInclusiveElecPt; // Inclusive elec pt
109 TH2F *fTPCnsigma; //TPC n sigma vs p
110 TH2F *fTPCnsigmaAft; //TPC n sigma vs p after HFE pid
111 TH2F *fITSnsigmaAft; //ITS n sigma vs p after HFE pid
112 TH2F *fTPCnsigmaVSptAft; //lodviow
113 TH2F *fTOFns; //track TOFnSigma
114 TH2F *fTOFnsAft; //track TOFnSigma after PID
115 TH2F *fTOFBetaAft;
116 TH1F *fCentralityPass; // ! QA histogram of events that pass centrality cut
117 TH1F *fCentralityNoPass; //! QA histogram of events that do not pass centrality cut
118 TH1F *fInvmassLS1; //LS Invmass for all rec par
119 TH1F *fInvmassULS1;//ULS Invmass for all rec par
120 TH1F *fPhotoElecPt; //photonic elec pt
121 TH1F *fSemiInclElecPt; //Semi inclusive ele pt
122 TH1F *fULSElecPt; //ULS elec Pt
123 TH1F *fLSElecPt;// LS elec pt
124 TH2F *fMultCorAfterCuts; //! QA profile global and tpc multiplicity after outlier cut
125 TH2F *fMultvsCentr; //! QA profile of centralty vs multiplicity
126 TProfile *fSubEventDPhiv2;
127 TH1D *EPVzA;//ep v0a
128 TH1D *EPVzC;//ep v0c
129 TH1D *EPTPC;//ep tpc
130 THnSparseF *fV2Phi;//! v2 analysis of EP-V0
131 TH1D *fvertex;//vertex
132 TH2F *fMultCorBeforeCuts; //! QA profile global and tpc multiplicity after outlier cut
133 THnSparseF *fQAPid; //! v2 analysis of EP-V0
134 Double_t fminITSnsigmaLowpT; //ID cuts its
135 Double_t fmaxITSnsigmaLowpT; //ID cuts its
136 Double_t fminITSnsigmaHighpT; //ID cuts its
137 Double_t fmaxITSnsigmaHighpT; //ID cuts its
138 Double_t fminTPCnsigmaLowpT; //ID cuts tpc
139 Double_t fmaxTPCnsigmaLowpT; //ID cuts tpc
140 Double_t fminTPCnsigmaHighpT; //ID cuts tpc
141 Double_t fmaxTPCnsigmaHighpT; //ID cuts tpc
142 // Bool_t fQAPIDSparse; //QAPIDSPARSE
143 Double_t fminTOFnSigma; //ID cuts tof
144 Double_t fmaxTOFnSigma;//ID cuts tof
145 THnSparseF *fQAPidSparse; //! v2 analysis of EP-V0
146 Int_t fTPCS; //tpc signal cluster
147 Int_t fVz; //vertex range
148 Double_t fOpeningAngleCut; //openingAngle cut value
149 Bool_t fOP_angle; //to shitch on and off the op_angle cut
150 TH1F *fOpeningAngleLS; //opening angle for LS pairs
151 TH1F *fOpeningAngleULS; //opening angle for ULS pairs
152 AliSelectNonHFE *fNonHFE;//new elienos stuff
153 Bool_t fDCA;//selection PHelectron
154 TH2F *fITSnsigma; //TPC n sigma vs p
155 TH2F *fTPCnsigmaAftITSTOF; //TPC n sigma vs p
156 TH2F *fTPCnsigmaAftTOF; //TPC n sigma vs p
157 TH2F *fITSnsigmaAftTOF;//jbd
158 TH2F *fITSvsTOF; //TPC n sigma vs p
159 TH2F *fTPCvsITS; //TPC n sigma vs p
160 TH2F *fTPCvsITSafterTOF; //TPC n sigma vs p
161 TH2F *fTPCvsTOF;//jbd
162 Bool_t fMultCut;//for mult correlationcut
163 TH2F *fMultCorAfterCentrBeforeCuts; //! QA profile global and tpc multiplicity after outlier cut
164 TH2F *fMultCorAfterVZTRKComp;//!after cent comp
165 TH1F *fCentralityBeforePileup;//!cent chneck
166 TH1F *fCentralityAfterVZTRK;//!cent chneck2
167 TH1F *fCentralityAfterCorrCut;//!cent chneck2
168 TH2F *fMultCorAfterCorrCut;//!after cent comp
169 TH1D *EPVz;//v0cep
170 TH1D *EPTPCp;//tpcep
171 TH1D *EPTPCn;//!tpcep
172 TProfile *fSubEventDPhiv2new;
173 THnSparseF *fV2Phivzerotot;//! v2 analysis of EP-V0
174 TH1F *fHistCentrDistr;// isto for Centr Flat
175 TH1F *fCentralityNoPassForFlattening; //! QA histogram of events that do not pass centrality cut for flattening
176
177
178 AliAnalysisTaskFlowITSTPCTOFQCSP(const AliAnalysisTaskFlowITSTPCTOFQCSP&); // not implemented
179 AliAnalysisTaskFlowITSTPCTOFQCSP& operator=(const AliAnalysisTaskFlowITSTPCTOFQCSP&); // not implemented
180
181 ClassDef(AliAnalysisTaskFlowITSTPCTOFQCSP, 2); //!example of analysis
182};
183
184#endif
185
186
187
188