]>
Commit | Line | Data |
---|---|---|
8a9b2231 | 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 | // // | |
a70c9e97 | 9 | // Task for Heavy Flavour Electron Flow // |
914042c2 | 10 | // // |
11 | // Author: Andrea Dubla (Utrecht University) // | |
12 | // // | |
13 | //////////////////////////////////////////////////////////////////////// | |
14 | ||
15 | class THnSparse; | |
16 | class TH2F; | |
17 | class TLorentzVector; | |
18 | ||
19 | class AliEMCALTrack; | |
20 | class AliMagF; | |
21 | class AliESDEvent; | |
22 | class AliAODEvent; | |
23 | class AliEMCALGeometry; | |
24 | class AliEMCALRecoUtils; | |
25 | class AliAnalysisFilter; | |
26 | class AliESDtrackCuts; | |
27 | class AliESDtrack; | |
28 | class AliAODtrack; | |
29 | class AliHFEcontainer; | |
30 | class AliHFEcuts; | |
31 | class AliHFEpid; | |
32 | class AliHFEpidQAmanager; | |
33 | class AliCFManager; | |
34 | class AliFlowTrackCuts; | |
35 | class AliFlowTrack; | |
36 | class AliFlowEvent; | |
37 | class AliFlowCandidateTrack; | |
38 | class AliFlowEventSimple; | |
39 | class AliCentrality; | |
40 | #include "AliAnalysisTaskSE.h" | |
41 | //#include "AliCentrality.h" | |
42 | ||
a70c9e97 | 43 | class AliAnalysisTaskFlowTPCEMCalQCSP : public AliAnalysisTaskSE { |
914042c2 | 44 | |
45 | public: | |
a70c9e97 | 46 | AliAnalysisTaskFlowTPCEMCalQCSP(); |
47 | AliAnalysisTaskFlowTPCEMCalQCSP(const char *name); | |
48 | virtual ~AliAnalysisTaskFlowTPCEMCalQCSP(); | |
914042c2 | 49 | |
50 | void SetEnableDebugMode() {fDebug = kTRUE; }; | |
51 | void SetCentralityParameters(Double_t CentralityMin, Double_t CentralityMax, const char* CentralityMethod); //select centrality | |
52 | void CheckCentrality(AliAODEvent *event,Bool_t ¢ralitypass); //to use only events with the correct centrality.... | |
53 | void SelectPhotonicElectron(Int_t itrack,const AliAODTrack *track, Bool_t &fFlagPhotonicElec); | |
54 | void SetInvariantMassCut(Double_t invmass) {fInvmassCut = invmass;}; | |
55 | void SetTrigger(Int_t trig) {fTrigger = trig;}; | |
56 | template <typename T> void PlotVZeroMultiplcities(const T* event) const; | |
57 | template <typename T> void SetNullCuts(T* aod); | |
58 | void PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const; | |
59 | virtual void UserCreateOutputObjects(); | |
60 | virtual void UserExec(Option_t *option); | |
61 | virtual void Terminate(Option_t *); | |
62 | void SetRPCuts(AliFlowTrackCuts *cutsRP) { fCutsRP = cutsRP; } | |
63 | void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; }; | |
64 | 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); | |
65 | ||
66 | ||
67 | ||
68 | AliHFEpid *GetPID() const { return fPID; }; | |
69 | ||
70 | private: | |
71 | ||
72 | Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track); | |
73 | ||
74 | Bool_t fDebug; //! enable debug mode | |
75 | AliAODEvent *fAOD; //AOD object | |
76 | AliEMCALGeometry *fGeom; // emcal geometry | |
77 | TList *fOutputList; //output list | |
78 | AliHFEcuts *fCuts; //Cut Collection | |
79 | Bool_t fIdentifiedAsOutInz; //Out Of Range in z | |
80 | Bool_t fPassTheEventCut; //Pass The Event Cut | |
81 | Double_t fVz; //z position of the primary vertex | |
82 | AliCFManager *fCFM; //!Correction Framework Manager | |
83 | AliHFEpid *fPID; //PID | |
84 | AliHFEpidQAmanager *fPIDqa; //! PID QA manager | |
85 | AliFlowTrackCuts *fCutsRP; // track cuts for reference particles | |
86 | AliFlowTrackCuts *fNullCuts; // dummy cuts for flow event tracks | |
87 | AliFlowEvent *fFlowEvent; //! flow events Inclusive e | |
88 | const char *fkCentralityMethod; // method used to determine centrality (V0 by default) | |
89 | Double_t fCentrality; // event centrality for QA | |
90 | Double_t fCentralityMin; // lower bound of cenrality bin | |
91 | Double_t fCentralityMax; // upper bound of centrality bin | |
92 | Double_t fInvmassCut; //invariant mass cut value | |
93 | Int_t fTrigger; //invariant mass cut value | |
94 | TH1F *fPhi; //! QA plot of azimuthal distribution of tracks used for event plane estimation | |
95 | TH1F *fEta; //! QA plot of eta distribution of tracks used for event plane estimation | |
96 | TH1F *fVZEROA; //! QA plot vzeroa multiplicity (all tracks in event) | |
97 | TH1F *fVZEROC; //! QA plot vzeroc multiplicity (all tracks in event) | |
98 | TH1F *fTPCM; //! QA plot TPC multiplicity (tracks used for event plane estimation) | |
99 | TH1F *fNoEvents; //no of events | |
100 | TH2F *fTrkEovPBef; //track E/p before HFE pid | |
101 | TH2F *fdEdxBef; //track dEdx vs p before HFE pid | |
102 | TH1F *fInclusiveElecPt; // Inclusive elec pt | |
103 | TH2F *fTPCnsigma; //TPC n sigma vs p | |
104 | TH2F *fTPCnsigmaAft; //TPC n sigma vs p after HFE pid | |
105 | TH1F *fCentralityPass; // ! QA histogram of events that pass centrality cut | |
106 | TH1F *fCentralityNoPass; //! QA histogram of events that do not pass centrality cut | |
a70c9e97 | 107 | THnSparse *fSparseElectron;//! Trk matching sparse for v1 clusterizer |
108 | Double_t *fvalueElectron;//! 6dim sparse fill for trk matching quantities | |
914042c2 | 109 | TH1F *fInvmassLS1; //LS Invmass for all rec par |
110 | TH1F *fInvmassULS1;//ULS Invmass for all rec par | |
111 | TH1F *fPhotoElecPt; //photonic elec pt | |
112 | TH1F *fSemiInclElecPt; //Semi inclusive ele pt | |
113 | TH1F *fULSElecPt; //ULS elec Pt | |
114 | TH1F *fLSElecPt;// LS elec pt | |
115 | ||
116 | Double_t fminTPC; //ID cuts tpc | |
117 | Double_t fmaxTPC; //ID cuts tpc | |
118 | Double_t fminEovP; //ID cuts eovp | |
119 | Double_t fmaxEovP;//ID cuts eovp | |
120 | Double_t fminM20;//ID cuts SS | |
121 | Double_t fmaxM20;//ID cuts SS | |
122 | Double_t fminM02;//ID cuts SS | |
123 | Double_t fmaxM02;//ID cuts SS | |
124 | Double_t fDispersion;//ID cuts SS | |
125 | ||
126 | ||
a70c9e97 | 127 | AliAnalysisTaskFlowTPCEMCalQCSP(const AliAnalysisTaskFlowTPCEMCalQCSP&); // not implemented |
128 | AliAnalysisTaskFlowTPCEMCalQCSP& operator=(const AliAnalysisTaskFlowTPCEMCalQCSP&); // not implemented | |
914042c2 | 129 | |
a70c9e97 | 130 | ClassDef(AliAnalysisTaskFlowTPCEMCalQCSP, 2); //!example of analysis |
914042c2 | 131 | }; |
132 | ||
133 | #endif | |
134 | ||
135 |