]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/global/AliAnalysisTaskVertexESD.h
Possibility to compute vertex with even and odd number tracks
[u/mrichter/AliRoot.git] / PWG1 / global / AliAnalysisTaskVertexESD.h
CommitLineData
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
19class TNtuple;
8e74e9cf 20class TH1F;
388ca814 21class TH2F;
22class AliESDEvent;
388ca814 23class AliESDVertex;
24
74917c1f 25#include "AliAnalysisTaskSE.h"
388ca814 26
74917c1f 27class 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