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