]>
Commit | Line | Data |
---|---|---|
388ca814 | 1 | #ifndef AliAnalysisTaskVertexESD_cxx |
2 | #define AliAnalysisTaskVertexESD_cxx | |
3 | ||
4 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //************************************************************************* | |
8 | // Class AliAnalysisTaskVertexESD | |
9 | // AliAnalysisTask to extract from ESD the information for the analysis | |
10 | // of the primary vertex reconstruction efficiency and resolution | |
11 | // (for MC events) and distributions (for real data). Three vertices: | |
12 | // - SPD tracklets | |
13 | // - ITS+TPC tracks | |
14 | // - TPC-only tracks | |
15 | // | |
16 | // Author: A.Dainese, andrea.dainese@pd.infn.it | |
17 | //************************************************************************* | |
18 | ||
19 | class TNtuple; | |
8e74e9cf | 20 | class TH1F; |
388ca814 | 21 | class TH2F; |
22 | class AliESDEvent; | |
388ca814 | 23 | class AliESDVertex; |
24 | ||
74917c1f | 25 | #include "AliAnalysisTaskSE.h" |
388ca814 | 26 | |
74917c1f | 27 | class AliAnalysisTaskVertexESD : public AliAnalysisTaskSE |
388ca814 | 28 | { |
29 | public: | |
30 | ||
31 | AliAnalysisTaskVertexESD(const char *name = "AliAnalysisTaskVertexESD"); | |
32 | virtual ~AliAnalysisTaskVertexESD(); | |
33 | ||
74917c1f | 34 | virtual void UserCreateOutputObjects(); |
35 | virtual void UserExec(Option_t *option); | |
388ca814 | 36 | virtual void Terminate(Option_t *); |
4148ee5b | 37 | void SetCheckEventType(Bool_t check=kTRUE) {fCheckEventType=check;} |
388ca814 | 38 | Bool_t GetReadMC() const { return fReadMC; } |
4148ee5b | 39 | void SetReadMC(Bool_t flag=kTRUE) { fReadMC=flag; if(flag) fCheckEventType=kFALSE;} |
fb5f0fd9 | 40 | void SetRerecoVertexTPC(Bool_t flag=kTRUE) { fRecoVtxTPC=flag; } |
41 | void SetRerecoVertexITSTPC(Bool_t flag=kTRUE) { fRecoVtxITSTPC=flag; } | |
cb393b39 | 42 | void SetOnlyITSTPCTracks() {fOnlyITSTPCTracks=kTRUE;} |
43 | void SetOnlyITSSATracks() {fOnlyITSSATracks=kTRUE;} | |
b588553c | 44 | void SetFillNtuple(Bool_t fill=kTRUE) {fFillNtuple=fill;} |
45 | ||
388ca814 | 46 | protected: |
4148ee5b | 47 | Bool_t fCheckEventType; // read only events of type 7 |
388ca814 | 48 | Bool_t fReadMC; // read Monte Carlo |
94f15f9b | 49 | Bool_t fRecoVtxTPC; // reco TPC vertex on the flight |
50 | Bool_t fRecoVtxITSTPC; // reco ITS+TPC vertex on the flight | |
4d95fd6c | 51 | Bool_t fRecoVtxITSTPCHalfEvent; // reco ITS+TPC vertex with even and odd tracks |
cb393b39 | 52 | Bool_t fOnlyITSTPCTracks; // only ITS-TPC tracks to redo ITSTPC vertex |
53 | Bool_t fOnlyITSSATracks; // only ITS-SA tracks to redo ITSTPC vertex | |
b588553c | 54 | Bool_t fFillNtuple; // fill ntuple |
388ca814 | 55 | AliESDEvent *fESD; // ESD object |
388ca814 | 56 | TList *fOutput; //! list send on output slot 0 |
57 | TNtuple *fNtupleVertexESD;//! output ntuple | |
b588553c | 58 | TH1F *fhSPDVertexX; //! output histo |
59 | TH1F *fhSPDVertexY; //! output histo | |
60 | TH1F *fhSPDVertexZ; //! output histo | |
61 | TH1F *fhTRKVertexX; //! output histo | |
62 | TH1F *fhTRKVertexY; //! output histo | |
63 | TH1F *fhTRKVertexZ; //! output histo | |
64 | TH1F *fhTPCVertexX; //! output histo | |
65 | TH1F *fhTPCVertexY; //! output histo | |
66 | TH1F *fhTPCVertexZ; //! output histo | |
388ca814 | 67 | TH2F *fhTrackRefs; //! output histo |
68 | ||
69 | private: | |
70 | ||
71 | AliAnalysisTaskVertexESD(const AliAnalysisTaskVertexESD&); // not implemented | |
72 | AliAnalysisTaskVertexESD& operator=(const AliAnalysisTaskVertexESD&); // not implemented | |
8c7764e0 | 73 | AliESDVertex* ReconstructPrimaryVertexTPC(Bool_t constr=kFALSE) const; |
4d95fd6c | 74 | AliESDVertex* ReconstructPrimaryVertexITSTPC(Bool_t constr=kFALSE,Int_t mode=0) const; |
388ca814 | 75 | |
b588553c | 76 | ClassDef(AliAnalysisTaskVertexESD,7); // primary vertex analysis |
388ca814 | 77 | }; |
78 | ||
79 | #endif |