]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskFlowTPCTOFQCSP.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskFlowTPCTOFQCSP.h
CommitLineData
32eb38ff 1#ifndef ALIANALYSISTASKFLOWTPCTOFQCSP_H
2#define ALIANALYSISTASKFLOWTPCTOFQCSP_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;
27//class AliHFEpid;
28//class AliHFEpidQAmanager;
29class AliCFManager;
30class AliFlowTrackCuts;
31class AliFlowTrack;
32class AliFlowEvent;
33class AliFlowCandidateTrack;
34class AliFlowEventSimple;
35class AliCentrality;
36class AliPIDResponse;
20791315 37class AliSelectNonHFE;
32eb38ff 38#include "AliAnalysisTaskSE.h"
39
20791315 40
32eb38ff 41class AliAnalysisTaskFlowTPCTOFQCSP : public AliAnalysisTaskSE {
42
43 public:
44 AliAnalysisTaskFlowTPCTOFQCSP();
45 AliAnalysisTaskFlowTPCTOFQCSP(const char *name);
46 virtual ~AliAnalysisTaskFlowTPCTOFQCSP();
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);
20791315 52 void SelectPhotonicElectronMethod(Bool_t dca){fDCA = dca;}
32eb38ff 53 void SetInvariantMassCut(Double_t invmass) {fInvmassCut = invmass;};
040cc6fa 54 void SetpTCuttrack(Double_t ptcut) {fpTCut = ptcut;};
32eb38ff 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 SetPhiCut(Bool_t phicut){fPhiCut = phicut;};
78a4bfc0 60 void SetOpeningAngleflag(Bool_t opang){fOP_angle = opang;};
61 void SetOpeningAngleCut(Double_t opanglecut) {fOpeningAngleCut = opanglecut;};
32eb38ff 62 template <typename T> void PlotVZeroMultiplcities(const T* event) const;
63 template <typename T> void SetNullCuts(T* aod);
64 void PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const;
65 virtual void UserCreateOutputObjects();
66 virtual void UserExec(Option_t *option);
67 virtual void Terminate(Option_t *);
68 void SetRPCuts(AliFlowTrackCuts *cutsRP) { fCutsRP = cutsRP; }
69 void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
70 void SetIDCuts(Double_t minTPCnsigma, Double_t maxTPCnsigma, Double_t minTOFnSigma, Double_t maxTOFnSigma);
71
72
73
74 // AliHFEpid *GetPID() const { return fPID; };
75
76 private:
77
78 Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
79
80 Bool_t fDebug; //! enable debug mode
81 AliAODEvent *fAOD; //AOD object
82 TList *fOutputList; //output list
83 AliHFEcuts *fCuts; //Cut Collection
84 Bool_t fIdentifiedAsOutInz; //Out Of Range in z
85 Bool_t fPassTheEventCut; //Pass The Event Cut
86 AliCFManager *fCFM; //!Correction Framework Manager
87 // AliHFEpid *fPID; //PID
88 // AliHFEpidQAmanager *fPIDqa; //! PID QA manager
89 AliFlowTrackCuts *fCutsRP; // track cuts for reference particles
90 AliFlowTrackCuts *fNullCuts; // dummy cuts for flow event tracks
91 AliFlowEvent *fFlowEvent; //! flow events Inclusive e
92 const char *fkCentralityMethod; // method used to determine centrality (V0 by default)
93 Double_t fCentrality; // event centrality for QA
94 Double_t fCentralityMin; // lower bound of cenrality bin
95 Double_t fCentralityMax; // upper bound of centrality bin
96 Double_t fInvmassCut; //invariant mass cut value
040cc6fa 97 Double_t fpTCut; //pt cut value
32eb38ff 98 Int_t fTrigger; //invariant mass cut value
99 TH1F *fPhi; //! QA plot of azimuthal distribution of tracks used for event plane estimation
100 TH1F *fEta; //! QA plot of eta distribution of tracks used for event plane estimation
101 TH1F *fVZEROA; //! QA plot vzeroa multiplicity (all tracks in event)
102 TH1F *fVZEROC; //! QA plot vzeroc multiplicity (all tracks in event)
103 TH1F *fTPCM; //! QA plot TPC multiplicity (tracks used for event plane estimation)
104 TH1F *fNoEvents; //no of events
105 TH1F *fInclusiveElecPt; // Inclusive elec pt
106// TH2F *fTPCnsigma; //TPC n sigma vs p
107 TH2F *fTPCnsigmaAft; //TPC n sigma vs p after HFE pid
108// TH2F *fTOFns; //track TOFnSigma
109 TH2F *fTOFnsAft; //track TOFnSigma after PID
110 TH2F *fTOFBetaAft;
111 TH1F *fCentralityPass; // ! QA histogram of events that pass centrality cut
112 TH1F *fCentralityNoPass; //! QA histogram of events that do not pass centrality cut
113 TH1F *fInvmassLS1; //LS Invmass for all rec par
114 TH1F *fInvmassULS1;//ULS Invmass for all rec par
115 TH1F *fPhotoElecPt; //photonic elec pt
116 TH1F *fSemiInclElecPt; //Semi inclusive ele pt
117 TH1F *fULSElecPt; //ULS elec Pt
118 TH1F *fLSElecPt;// LS elec pt
119 TH2F *fMultCorAfterCuts; //! QA profile global and tpc multiplicity after outlier cut
120 TH2F *fMultvsCentr; //! QA profile of centralty vs multiplicity
121 TProfile *fSubEventDPhiv2;
122 TH1D *EPVzA;//ep v0a
123 TH1D *EPVzC;//ep v0c
124 TH1D *EPTPC;//ep tpc
125 THnSparseF *fV2Phi;//! v2 analysis of EP-V0
126 TH1D *fvertex;//vertex
127 TH2F *fMultCorBeforeCuts; //! QA profile global and tpc multiplicity after outlier cut
128 AliPIDResponse *fPIDResponse;//! pidresponse
129 THnSparseF *fQAPid; //! v2 analysis of EP-V0
130 Double_t fminTPCnsigma; //ID cuts tpc
131 Double_t fmaxTPCnsigma; //ID cuts tpc
132 Bool_t fQAPIDSparse; //QAPIDSPARSE
133 Double_t fminTOFnSigma; //ID cuts tof
134 Double_t fmaxTOFnSigma;//ID cuts tof
135 THnSparseF *fQAPidSparse; //! v2 analysis of EP-V0
136 Int_t fTPCS; //tpc signal cluster
137 Int_t fVz; //vertex range
138 Bool_t fPhiCut; //Phi cut to simulate emcal acc
78a4bfc0 139 Double_t fOpeningAngleCut; //openingAngle cut value
140 Bool_t fOP_angle; //to shitch on and off the op_angle cut
141 TH1F *fOpeningAngleLS; //opening angle for LS pairs
142 TH1F *fOpeningAngleULS; //opening angle for ULS pairs
20791315 143 AliSelectNonHFE *fNonHFE;//new elienos stuff
144 Bool_t fDCA;//selection PHelectron
145
78a4bfc0 146
32eb38ff 147 AliAnalysisTaskFlowTPCTOFQCSP(const AliAnalysisTaskFlowTPCTOFQCSP&); // not implemented
148 AliAnalysisTaskFlowTPCTOFQCSP& operator=(const AliAnalysisTaskFlowTPCTOFQCSP&); // not implemented
149
150 ClassDef(AliAnalysisTaskFlowTPCTOFQCSP, 2); //!example of analysis
151};
152
153#endif
154
155