]>
Commit | Line | Data |
---|---|---|
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 | ||
15 | class THnSparse; | |
16 | class TH2F; | |
17 | class TLorentzVector; | |
18 | class AliMagF; | |
19 | class AliESDEvent; | |
20 | class AliAODEvent; | |
21 | class AliAnalysisFilter; | |
22 | class AliESDtrackCuts; | |
23 | class AliESDtrack; | |
24 | class AliAODtrack; | |
25 | class AliHFEcontainer; | |
26 | class AliHFEcuts; | |
27 | //class AliHFEpid; | |
28 | //class AliHFEpidQAmanager; | |
29 | class AliCFManager; | |
30 | class AliFlowTrackCuts; | |
31 | class AliFlowTrack; | |
32 | class AliFlowEvent; | |
33 | class AliFlowCandidateTrack; | |
34 | class AliFlowEventSimple; | |
35 | class AliCentrality; | |
36 | class AliPIDResponse; | |
20791315 | 37 | class AliSelectNonHFE; |
32eb38ff | 38 | #include "AliAnalysisTaskSE.h" |
39 | ||
20791315 | 40 | |
32eb38ff | 41 | class 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 ¢ralitypass); //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 |