]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/Calib/AliTPCcalibV0.h
Merge branch 'flatdev' of https://git.cern.ch/reps/AliRoot into flatdev
[u/mrichter/AliRoot.git] / TPC / Calib / AliTPCcalibV0.h
1 #ifndef AliTPCCALIBV0_H
2 #define AliTPCCALIBV0_H
3
4
5 #include <AliTPCcalibBase.h>
6
7
8 class TTreeSRedirector;
9 class AliTPCROC;
10 class AliTPCseed;
11 //class AliESDtrack;
12 //class AliESDEvent;
13 class AliVEvent;
14 class AliVTrack;
15 class TH3F;
16 class TH1F;
17 class TH2F;
18 class TH1I;
19 class TDatabasePDG;
20 class AliKFParticle;
21 class AliKFVertex;
22 class AliESDv0;
23 class TArrayI;
24 class TTree;
25 class AliStack;
26 class  AliExternalTrackParam;
27 class  AliTPCCorrection;
28
29 class AliTPCcalibV0 : public AliTPCcalibBase {
30 public :
31
32    // List of branches
33
34   AliTPCcalibV0();
35   AliTPCcalibV0(const Text_t *name, const Text_t *title);
36   virtual ~AliTPCcalibV0();
37   virtual void     Process(AliVEvent *event) {return ProcessESD(event);}
38   void FilterV0s(AliVEvent* event);
39   Long64_t Merge(TCollection *const li);
40   void AddTree(TTree * treeInput);
41   void AddTreeHPT(TTree * treeInput);
42   static AliExternalTrackParam * RefitTrack(AliTPCseed *seed, AliTPCCorrection * corr, Double_t xstart, Double_t xstop, Double_t mass);
43   static void MakeFitTreeTrack(const TObjArray * corrArray, Double_t ptCut, Int_t run);
44   static void MakeFitTreeV0(const TObjArray * corrArray, Double_t ptCut, Int_t run);
45   //
46   //
47   //
48   void ProcessESD(AliVEvent *event);
49   void DumpToTree(AliVEvent *event);
50   void DumpToTreeHPT(AliVEvent *event);
51   TTree * GetV0Tree(){return fV0Tree;}
52   TTree * GetHPTTree(){return fHPTTree;}
53   //  
54   //  void MakeMC();
55   //  void MakeV0s();
56   //void ProcessV0(Int_t ftype);
57   //void ProcessPI0();
58   void BinLogX(TH2F * h);
59   //
60   //
61   //  
62   static AliKFParticle * Fit(AliKFVertex & primVtx, AliESDv0 *v0, Int_t PDG1, Int_t PDG2);
63
64 protected:
65 private:
66
67   AliTPCcalibV0(const AliTPCcalibV0&); // Not implemented
68   AliTPCcalibV0& operator=(const AliTPCcalibV0&); // Not implemented
69   TTree          *fV0Tree;      // tree with full V0 information
70   TTree          *fHPTTree;      // tree with high mometa tracks - full calib info
71   //
72   AliStack       *fStack;        // pointer to kinematic tree        
73   AliVEvent      *fEvent;              //! current ED to proccess - NOT OWNER
74   TDatabasePDG   *fPdg;              //! particle database
75   TObjArray      *fParticles;         // array of selected MC particles
76   TObjArray      *fV0s;               // array of V0s
77   TObjArray      *fGammas;           // gamma conversion candidates
78   //
79   //void     Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}
80   void     Process(AliVTrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}
81   void     Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}  
82   //       
83   ClassDef(AliTPCcalibV0,3);
84 };
85
86
87 #endif