]>
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; } | |
64d0fccb | 42 | void SetRerecoVertexITSTPCHalfEvent(Bool_t flag=kTRUE) { fRecoVtxITSTPCHalfEvent=flag; } |
cb393b39 | 43 | void SetOnlyITSTPCTracks() {fOnlyITSTPCTracks=kTRUE;} |
44 | void SetOnlyITSSATracks() {fOnlyITSSATracks=kTRUE;} | |
b588553c | 45 | void SetFillNtuple(Bool_t fill=kTRUE) {fFillNtuple=fill;} |
30b05a14 | 46 | void SetFillNtupleBeamSpot(Bool_t fillBeamSpot=kFALSE){fFillNtupleBeamSpot = fillBeamSpot;} |
b588553c | 47 | |
388ca814 | 48 | protected: |
4148ee5b | 49 | Bool_t fCheckEventType; // read only events of type 7 |
388ca814 | 50 | Bool_t fReadMC; // read Monte Carlo |
94f15f9b | 51 | Bool_t fRecoVtxTPC; // reco TPC vertex on the flight |
52 | Bool_t fRecoVtxITSTPC; // reco ITS+TPC vertex on the flight | |
4d95fd6c | 53 | Bool_t fRecoVtxITSTPCHalfEvent; // reco ITS+TPC vertex with even and odd tracks |
cb393b39 | 54 | Bool_t fOnlyITSTPCTracks; // only ITS-TPC tracks to redo ITSTPC vertex |
55 | Bool_t fOnlyITSSATracks; // only ITS-SA tracks to redo ITSTPC vertex | |
b588553c | 56 | Bool_t fFillNtuple; // fill ntuple |
30b05a14 | 57 | Bool_t fFillNtupleBeamSpot; //beam spot info |
388ca814 | 58 | AliESDEvent *fESD; // ESD object |
388ca814 | 59 | TList *fOutput; //! list send on output slot 0 |
60 | TNtuple *fNtupleVertexESD;//! output ntuple | |
b588553c | 61 | TH1F *fhSPDVertexX; //! output histo |
62 | TH1F *fhSPDVertexY; //! output histo | |
63 | TH1F *fhSPDVertexZ; //! output histo | |
64 | TH1F *fhTRKVertexX; //! output histo | |
65 | TH1F *fhTRKVertexY; //! output histo | |
66 | TH1F *fhTRKVertexZ; //! output histo | |
67 | TH1F *fhTPCVertexX; //! output histo | |
68 | TH1F *fhTPCVertexY; //! output histo | |
69 | TH1F *fhTPCVertexZ; //! output histo | |
388ca814 | 70 | TH2F *fhTrackRefs; //! output histo |
30b05a14 | 71 | TNtuple *fNtupleBeamSpot; //! output ntuple beam spot |
388ca814 | 72 | |
73 | private: | |
74 | ||
75 | AliAnalysisTaskVertexESD(const AliAnalysisTaskVertexESD&); // not implemented | |
76 | AliAnalysisTaskVertexESD& operator=(const AliAnalysisTaskVertexESD&); // not implemented | |
8c7764e0 | 77 | AliESDVertex* ReconstructPrimaryVertexTPC(Bool_t constr=kFALSE) const; |
4d95fd6c | 78 | AliESDVertex* ReconstructPrimaryVertexITSTPC(Bool_t constr=kFALSE,Int_t mode=0) const; |
388ca814 | 79 | |
30b05a14 | 80 | ClassDef(AliAnalysisTaskVertexESD,8); // primary vertex analysis |
388ca814 | 81 | }; |
82 | ||
83 | #endif |