]>
Commit | Line | Data |
---|---|---|
5b09c01f | 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 | ||
d631e5e7 | 7 | class AliESDfriend; |
5b09c01f | 8 | class AliESDEvent; |
9 | class AliESDVertex; | |
10 | class AliIntSpotEstimator; | |
11 | ||
12 | #include "AliAnalysisTask.h" | |
13 | ||
14 | class AliAnalysisTaskIPInfo : public AliAnalysisTask | |
15 | { | |
16 | public: | |
d631e5e7 | 17 | enum {kITSTPC,kTPC,kSPD,kNEst}; |
5b09c01f | 18 | // |
19 | AliAnalysisTaskIPInfo(const char *name = "IPInfo"); | |
20 | ||
21 | virtual ~AliAnalysisTaskIPInfo(); | |
22 | // | |
d631e5e7 | 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, | |
5b09c01f | 27 | Double_t estmin=-4e-2,Double_t estmax=6e-2, |
28 | Int_t ntrBins=10,Int_t ntMn=2,Int_t ntMx=32, | |
d631e5e7 | 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); | |
5b09c01f | 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 | |
d631e5e7 | 42 | Int_t fNTrMinIP[kNEst]; //! min tracks for IP estimator |
5b09c01f | 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 | |
d631e5e7 | 54 | Double_t fIPCenIni[kNEst][3]; //! initial estimate of IP Center |
55 | Bool_t fFillNt[kNEst]; //! request to fill ntuple | |
5b09c01f | 56 | // |
57 | AliIntSpotEstimator* fIPEst[kNEst]; //! estimators | |
d631e5e7 | 58 | AliESDEvent *fESD; //! ESD object |
59 | AliESDfriend *fESDfriend; //! ESD friend object | |
5b09c01f | 60 | TList *fOutput; //! list send on output slot 0 |
61 | TObjArray fTracks; //! temporary storage for extracted tracks | |
d631e5e7 | 62 | static const Char_t* fEstNames[kNEst]; // estimator names |
5b09c01f | 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 |