]>
Commit | Line | Data |
---|---|---|
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 TH3F; | |
14 | class TH1F; | |
15 | class TH2F; | |
16 | class TH1I; | |
17 | class TDatabasePDG; | |
18 | class AliKFParticle; | |
19 | class AliKFVertex; | |
20 | class AliESDv0; | |
21 | class TArrayI; | |
22 | class TTree; | |
23 | class AliStack; | |
24 | class AliExternalTrackParam; | |
25 | class AliTPCCorrection; | |
26 | ||
27 | class AliTPCcalibV0 : public AliTPCcalibBase { | |
28 | public : | |
29 | ||
30 | // List of branches | |
31 | ||
32 | AliTPCcalibV0(); | |
33 | AliTPCcalibV0(const Text_t *name, const Text_t *title); | |
34 | virtual ~AliTPCcalibV0(); | |
35 | virtual void Process(AliESDEvent *event) {return ProcessESD(event,0);} | |
36 | Long64_t Merge(TCollection *const li); | |
37 | void AddTree(TTree * treeInput); | |
38 | void AddTreeHPT(TTree * treeInput); | |
39 | static AliExternalTrackParam * RefitTrack(AliTPCseed *seed, AliTPCCorrection * corr, Double_t xstart, Double_t xstop, Double_t mass); | |
40 | static void MakeFitTreeTrack(const TObjArray * corrArray, Double_t ptCut, Int_t run); | |
41 | static void MakeFitTreeV0(const TObjArray * corrArray, Double_t ptCut, Int_t run); | |
42 | // | |
43 | // | |
44 | // | |
45 | void ProcessESD(AliESDEvent *esd, AliStack *stack=0); | |
46 | void DumpToTree(AliESDEvent *esd); | |
47 | void DumpToTreeHPT(AliESDEvent *esd); | |
48 | TTree * GetV0Tree(){return fV0Tree;} | |
49 | TTree * GetHPTTree(){return fHPTTree;} | |
50 | // | |
51 | void MakeMC(); | |
52 | void MakeV0s(); | |
53 | void ProcessV0(Int_t ftype); | |
54 | void ProcessPI0(); | |
55 | void BinLogX(TH2F * h); | |
56 | // | |
57 | // | |
58 | // | |
59 | static AliKFParticle * Fit(AliKFVertex & primVtx, AliESDv0 *v0, Int_t PDG1, Int_t PDG2); | |
60 | ||
61 | protected: | |
62 | private: | |
63 | ||
64 | AliTPCcalibV0(const AliTPCcalibV0&); // Not implemented | |
65 | AliTPCcalibV0& operator=(const AliTPCcalibV0&); // Not implemented | |
66 | TTree *fV0Tree; // tree with full V0 information | |
67 | TTree *fHPTTree; // tree with high mometa tracks - full calib info | |
68 | // | |
69 | AliStack *fStack; // pointer to kinematic tree | |
70 | AliESDEvent *fESD; //! current ED to proccess - NOT OWNER | |
71 | TDatabasePDG *fPdg; //! particle database | |
72 | TObjArray *fParticles; // array of selected MC particles | |
73 | TObjArray *fV0s; // array of V0s | |
74 | TObjArray *fGammas; // gamma conversion candidates | |
75 | // | |
76 | void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; | |
77 | void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);} | |
78 | // | |
79 | ClassDef(AliTPCcalibV0,3); | |
80 | }; | |
81 | ||
82 | ||
83 | #endif |