]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/AliAnalysisTaskIPInfo.h
coverity + some patch for pp
[u/mrichter/AliRoot.git] / PWG1 / AliAnalysisTaskIPInfo.h
index d747f89dcf7664be296ef965ec2a72e978c773f7..d3a4a201a28fe0eec6dfeb9b39a878eb2fe95815 100644 (file)
@@ -4,6 +4,7 @@
 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+class AliESDfriend;
 class AliESDEvent;
 class AliESDVertex;
 class AliIntSpotEstimator;
@@ -13,20 +14,21 @@ class AliIntSpotEstimator;
 class AliAnalysisTaskIPInfo : public AliAnalysisTask 
 {
  public:
-  enum {kTPC,kITS,kNEst};
+  enum {kITSTPC,kTPC,kSPD,kNEst};
   //
   AliAnalysisTaskIPInfo(const char *name = "IPInfo");
                        
   virtual ~AliAnalysisTaskIPInfo(); 
   //
-  AliIntSpotEstimator* GetEstTPC()                          const {return fIPEst[kTPC];}
-  AliIntSpotEstimator* GetEstITS()                          const {return fIPEst[kITS];}
-
-  void SetOptions(Int_t estID, Bool_t recoVtx=kFALSE,
-                 Double_t outcut=1e-4, Int_t nPhiBins=12,Int_t nestb=1000,
+  AliIntSpotEstimator* GetEstimator(Int_t i)                const {return i>=0&&i<kNEst ? fIPEst[i] : 0;}
+  //
+  void SetOptions(Int_t estID, Bool_t recoVtx=kFALSE, 
+                 Double_t outcut=1e-4, Int_t ntrIP=2,Int_t nPhiBins=12,Int_t nestb=1000,
                  Double_t estmin=-4e-2,Double_t estmax=6e-2,
                  Int_t ntrBins=10,Int_t ntMn=2,Int_t ntMx=32,
-                 Int_t nPBins=14,Double_t pmn=0.2,Double_t pmx=3.);
+                 Int_t nPBins=14,Double_t pmn=0.2,Double_t pmx=3.,Bool_t fillNt=kFALSE);
+  void SetIPCenIni(Int_t esdID, Double_t x=0,Double_t y=0,Double_t z=0);
+  Int_t CreateSPDTracklets(TClonesArray& tracks);
   //
   virtual void   ConnectInputData(Option_t *);
   virtual void   CreateOutputObjects();
@@ -37,6 +39,7 @@ class AliAnalysisTaskIPInfo : public AliAnalysisTask
   //
   // options for estimators creation
   Bool_t    fRecoVtx[kNEst];               //! request to refit the vertex for given estimator
+  Int_t     fNTrMinIP[kNEst];              //! min tracks for IP estimator
   Int_t     fNPhiBins[kNEst];              //! n bins in phi for IP
   Int_t     fNEstb[kNEst];                 //! n of estimator bins
   Int_t     fNTrBins[kNEst];               //! n of vtx.mult. bins
@@ -48,11 +51,15 @@ class AliAnalysisTaskIPInfo : public AliAnalysisTask
   Double_t  fEstMax[kNEst];                //! upper estimator boundary
   Double_t  fPMin[kNEst];                  //! lower P cut
   Double_t  fPMax[kNEst];                  //! upper P cut
+  Double_t  fIPCenIni[kNEst][3];           //! initial estimate of IP Center
+  Bool_t    fFillNt[kNEst];                //! request to fill ntuple
   //
   AliIntSpotEstimator* fIPEst[kNEst];     //! estimators
-  AliESDEvent *fESD;                      //! ESD object
+  AliESDEvent  *fESD;                     //! ESD object
+  AliESDfriend *fESDfriend;               //! ESD friend object
   TList       *fOutput;                   //! list send on output slot 0
   TObjArray fTracks;                      //! temporary storage for extracted tracks
+  static const Char_t* fEstNames[kNEst];  //  estimator names
   //
  private:    
   //