]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIANALYSISTASKIPINFO_H | |
2 | #define ALIANALYSISTASKIPINFO_H | |
3 | ||
4 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | class AliESDfriend; | |
8 | class AliESDEvent; | |
9 | class AliESDVertex; | |
10 | class AliIntSpotEstimator; | |
11 | ||
12 | #include "AliAnalysisTask.h" | |
13 | ||
14 | class AliAnalysisTaskIPInfo : public AliAnalysisTask | |
15 | { | |
16 | public: | |
17 | enum {kITSTPC,kTPC,kSPD,kNEst}; | |
18 | // | |
19 | AliAnalysisTaskIPInfo(const char *name = "IPInfo"); | |
20 | ||
21 | virtual ~AliAnalysisTaskIPInfo(); | |
22 | // | |
23 | AliIntSpotEstimator* GetEstimator(Int_t i) const {return i>=0&&i<kNEst ? fIPEst[i] : 0;} | |
24 | // | |
25 | void SetOptions(Int_t estID, Bool_t recoVtx=kFALSE, | |
26 | Double_t outcut=1e-4, Int_t ntrIP=2,Int_t nPhiBins=12,Int_t nestb=1000, | |
27 | Double_t estmin=-4e-2,Double_t estmax=6e-2, | |
28 | Int_t ntrBins=10,Int_t ntMn=2,Int_t ntMx=32, | |
29 | Int_t nPBins=14,Double_t pmn=0.2,Double_t pmx=3.,Bool_t fillNt=kFALSE); | |
30 | void SetIPCenIni(Int_t esdID, Double_t x=0,Double_t y=0,Double_t z=0); | |
31 | Int_t CreateSPDTracklets(TClonesArray& tracks); | |
32 | // | |
33 | virtual void ConnectInputData(Option_t *); | |
34 | virtual void CreateOutputObjects(); | |
35 | virtual void Exec(Option_t *option); | |
36 | virtual void Terminate(Option_t *); | |
37 | // | |
38 | protected: | |
39 | // | |
40 | // options for estimators creation | |
41 | Bool_t fRecoVtx[kNEst]; //! request to refit the vertex for given estimator | |
42 | Int_t fNTrMinIP[kNEst]; //! min tracks for IP estimator | |
43 | Int_t fNPhiBins[kNEst]; //! n bins in phi for IP | |
44 | Int_t fNEstb[kNEst]; //! n of estimator bins | |
45 | Int_t fNTrBins[kNEst]; //! n of vtx.mult. bins | |
46 | Int_t fNPBins[kNEst]; //! n of track P bins | |
47 | Int_t fNTrMin[kNEst]; //! min vtx multuplicity | |
48 | Int_t fNTrMax[kNEst]; //! max vtx multuplicity | |
49 | Double_t fOutCut[kNEst]; //! outliers cut level | |
50 | Double_t fEstMin[kNEst]; //! lower estimator boundary | |
51 | Double_t fEstMax[kNEst]; //! upper estimator boundary | |
52 | Double_t fPMin[kNEst]; //! lower P cut | |
53 | Double_t fPMax[kNEst]; //! upper P cut | |
54 | Double_t fIPCenIni[kNEst][3]; //! initial estimate of IP Center | |
55 | Bool_t fFillNt[kNEst]; //! request to fill ntuple | |
56 | // | |
57 | AliIntSpotEstimator* fIPEst[kNEst]; //! estimators | |
58 | AliESDEvent *fESD; //! ESD object | |
59 | AliESDfriend *fESDfriend; //! ESD friend object | |
60 | TList *fOutput; //! list send on output slot 0 | |
61 | TObjArray fTracks; //! temporary storage for extracted tracks | |
62 | static const Char_t* fEstNames[kNEst]; // estimator names | |
63 | // | |
64 | private: | |
65 | // | |
66 | AliAnalysisTaskIPInfo(const AliAnalysisTaskIPInfo&); // not implemented | |
67 | AliAnalysisTaskIPInfo& operator=(const AliAnalysisTaskIPInfo&); // not implemented | |
68 | AliESDVertex* ReconstructPrimaryVertexTPC() const; | |
69 | AliESDVertex* ReconstructPrimaryVertexITSTPC() const; | |
70 | ||
71 | ClassDef(AliAnalysisTaskIPInfo,1); // IP, vertexing and DCA resolutions analysis | |
72 | }; | |
73 | ||
74 | #endif |