]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskFlowTPCEMCalQCSP.h
Updates for TRD HFE analysis
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskFlowTPCEMCalQCSP.h
CommitLineData
9d63a2f6 1#ifndef AlIANALYSISTASKFLOWTPCEMCALQCSP_H
2#define AlIANALYSISTASKFLOWTPCEMCALQCSP_H
914042c2 3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7////////////////////////////////////////////////////////////////////////
8// //
9d63a2f6 9// Task for Heavy Flavour Electron Flow TPC plus EMCal //
914042c2 10// //
11// Author: Andrea Dubla (Utrecht University) //
12// //
13////////////////////////////////////////////////////////////////////////
14
15class THnSparse;
16class TH2F;
17class TLorentzVector;
18
19class AliEMCALTrack;
20class AliMagF;
21class AliESDEvent;
22class AliAODEvent;
23class AliEMCALGeometry;
24class AliEMCALRecoUtils;
25class AliAnalysisFilter;
26class AliESDtrackCuts;
27class AliESDtrack;
28class AliAODtrack;
29class AliHFEcontainer;
30class AliHFEcuts;
31class AliHFEpid;
32class AliHFEpidQAmanager;
33class AliCFManager;
34class AliFlowTrackCuts;
35class AliFlowTrack;
36class AliFlowEvent;
37class AliFlowCandidateTrack;
38class AliFlowEventSimple;
39class AliCentrality;
40#include "AliAnalysisTaskSE.h"
914042c2 41
a70c9e97 42class AliAnalysisTaskFlowTPCEMCalQCSP : public AliAnalysisTaskSE {
914042c2 43
44 public:
a70c9e97 45 AliAnalysisTaskFlowTPCEMCalQCSP();
46 AliAnalysisTaskFlowTPCEMCalQCSP(const char *name);
47 virtual ~AliAnalysisTaskFlowTPCEMCalQCSP();
914042c2 48
49 void SetEnableDebugMode() {fDebug = kTRUE; };
50 void SetCentralityParameters(Double_t CentralityMin, Double_t CentralityMax, const char* CentralityMethod); //select centrality
51 void CheckCentrality(AliAODEvent *event,Bool_t &centralitypass); //to use only events with the correct centrality....
52 void SelectPhotonicElectron(Int_t itrack,const AliAODTrack *track, Bool_t &fFlagPhotonicElec);
53 void SetInvariantMassCut(Double_t invmass) {fInvmassCut = invmass;};
54 void SetTrigger(Int_t trig) {fTrigger = trig;};
9d63a2f6 55 void SetFlowSideBands(Bool_t sidebandsflow){fSideBandsFlow = sidebandsflow;}
56 void Setphiminuspsi(Bool_t phipsi){fPhiminusPsi = phipsi;}
57 void SetPurity(Bool_t Purityel){fpurity = Purityel;}
914042c2 58 template <typename T> void PlotVZeroMultiplcities(const T* event) const;
59 template <typename T> void SetNullCuts(T* aod);
60 void PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const;
61 virtual void UserCreateOutputObjects();
62 virtual void UserExec(Option_t *option);
63 virtual void Terminate(Option_t *);
64 void SetRPCuts(AliFlowTrackCuts *cutsRP) { fCutsRP = cutsRP; }
65 void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
66 void SetIDCuts(Double_t minTPC, Double_t maxTPC, Double_t minEovP, Double_t maxEovP, Double_t minM20, Double_t maxM20, Double_t minM02, Double_t maxM02, Double_t Dispersion);
67
68
69
70 AliHFEpid *GetPID() const { return fPID; };
71
72 private:
73
74 Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
75
76 Bool_t fDebug; //! enable debug mode
77 AliAODEvent *fAOD; //AOD object
78 AliEMCALGeometry *fGeom; // emcal geometry
79 TList *fOutputList; //output list
80 AliHFEcuts *fCuts; //Cut Collection
81 Bool_t fIdentifiedAsOutInz; //Out Of Range in z
82 Bool_t fPassTheEventCut; //Pass The Event Cut
914042c2 83 AliCFManager *fCFM; //!Correction Framework Manager
84 AliHFEpid *fPID; //PID
85 AliHFEpidQAmanager *fPIDqa; //! PID QA manager
86 AliFlowTrackCuts *fCutsRP; // track cuts for reference particles
87 AliFlowTrackCuts *fNullCuts; // dummy cuts for flow event tracks
88 AliFlowEvent *fFlowEvent; //! flow events Inclusive e
89 const char *fkCentralityMethod; // method used to determine centrality (V0 by default)
90 Double_t fCentrality; // event centrality for QA
91 Double_t fCentralityMin; // lower bound of cenrality bin
92 Double_t fCentralityMax; // upper bound of centrality bin
93 Double_t fInvmassCut; //invariant mass cut value
94 Int_t fTrigger; //invariant mass cut value
95 TH1F *fPhi; //! QA plot of azimuthal distribution of tracks used for event plane estimation
96 TH1F *fEta; //! QA plot of eta distribution of tracks used for event plane estimation
97 TH1F *fVZEROA; //! QA plot vzeroa multiplicity (all tracks in event)
98 TH1F *fVZEROC; //! QA plot vzeroc multiplicity (all tracks in event)
99 TH1F *fTPCM; //! QA plot TPC multiplicity (tracks used for event plane estimation)
100 TH1F *fNoEvents; //no of events
101 TH2F *fTrkEovPBef; //track E/p before HFE pid
9d63a2f6 102 // TH2F *fdEdxBef; //track dEdx vs p before HFE pid
914042c2 103 TH1F *fInclusiveElecPt; // Inclusive elec pt
104 TH2F *fTPCnsigma; //TPC n sigma vs p
105 TH2F *fTPCnsigmaAft; //TPC n sigma vs p after HFE pid
106 TH1F *fCentralityPass; // ! QA histogram of events that pass centrality cut
107 TH1F *fCentralityNoPass; //! QA histogram of events that do not pass centrality cut
914042c2 108 TH1F *fInvmassLS1; //LS Invmass for all rec par
109 TH1F *fInvmassULS1;//ULS Invmass for all rec par
110 TH1F *fPhotoElecPt; //photonic elec pt
111 TH1F *fSemiInclElecPt; //Semi inclusive ele pt
112 TH1F *fULSElecPt; //ULS elec Pt
113 TH1F *fLSElecPt;// LS elec pt
9d63a2f6 114 Double_t fminTPC; //ID cuts tpc
115 Double_t fmaxTPC; //ID cuts tpc
116 Double_t fminEovP; //ID cuts eovp
117 Double_t fmaxEovP;//ID cuts eovp
118 Double_t fminM20;//ID cuts SS
119 Double_t fmaxM20;//ID cuts SS
120 Double_t fminM02;//ID cuts SS
121 Double_t fmaxM02;//ID cuts SS
122 Double_t fDispersion;//ID cuts SS
123 TH2F *fMultCorAfterCuts; //! QA profile global and tpc multiplicity after outlier cut
124 TH2F *fMultvsCentr; //! QA profile of centralty vs multiplicity
125 TProfile *fSubEventDPhiv2;
126 TH1D *EPVzA;//v0aep
127 TH1D *EPVzC;//v0cep
128 TH1D *EPTPC;//tpcep
129 THnSparseF *fV2Phi;//! v2 analysis of EP-V0
130 THnSparseD *fSparseElectronHadron;//! Trk matching sparse for v1 clusterizer
131 TH1D *fvertex;//huge ThNsparse
132 TH2F *fMultCorBeforeCuts; //! QA profile global and tpc multiplicity after outlier cut
133 Bool_t fSideBandsFlow;//flow from side bands for contamination
134 Bool_t fPhiminusPsi;//flow from phi minus psi method
135 AliFlowEvent *fFlowEventCont; //! flow events for elect Contamination
136 Bool_t fpurity; //for purity evaluation
137 THnSparseD *fSparseElectronpurity;//! Trk matching sparse for v1 clusterizer
914042c2 138
a70c9e97 139 AliAnalysisTaskFlowTPCEMCalQCSP(const AliAnalysisTaskFlowTPCEMCalQCSP&); // not implemented
140 AliAnalysisTaskFlowTPCEMCalQCSP& operator=(const AliAnalysisTaskFlowTPCEMCalQCSP&); // not implemented
914042c2 141
a70c9e97 142 ClassDef(AliAnalysisTaskFlowTPCEMCalQCSP, 2); //!example of analysis
914042c2 143};
144
145#endif
146
147